urxvt-background(1) RXVT-UNICODE urxvt-background(1) (NAME) background - (SYNOPSIS) urxvt --background-expr 'background expression' --background-border --background-interval seconds (QUICK AND DIRTY CHEAT SHEET) jpeg : load "/path/to/img.jpg" / : mirror load "/path/to/img.jpg" : scale keep { load "/path/to/img.jpg" } (pseudo-transparency) root pixmap : rootalign root : rootalign keep { blur 10, root } . Perl (on the fly) (root) . Perl . : urxvt --background-expr 'scale keep { load "/path/to/mybg.png" }' X (X resource) : URxvt.background.expr: scale keep { load "/path/to/mybg.png" } (THEORY OF OPERATION) (map) . pixmap . (alpha channel) (visuals) ( compositing manager) . . pixmap . . ( pixmap ) . "scale keep { load "$HOME/mybg.png" }" . . (EXPRESSIONS) Perl Perl - : scale keep { again 3600; if (localtime now)[6]) { return load "$HOME/weekday.png"; } else { return load "$HOME/sunday.png"; } } ( ) . sunday.png weekday.png . Perl . <<>> "load" "root" : load "$HOME/mypic.png" ( perlop ). $HOME . () "scale": scale load "$HOME/mypic.png" "load" "scale" . . "scale" . ( ): scale 2, load "$HOME/mypic.png" () . "scale" : 2 "load" "load" . . scale . : scale 0.5, 2, load "$HOME/mypic.png" PNG . ( ) . "keep" : scale 0.5, 2, keep { load "$HOME/mypic.png" } "keep" . . "load" . . : (tile) : tile keep { load "$HOME/mypic.png" } "load" "tile" "tile" . (mirror) : mirror keep { load "$HOME/mypic.png" } : rootalign root (snapshot) ( ) - (pseudo-transparency) : ..SS " (COLOUR SPECIFICATIONS)" <<>> : X11 : "red" # named colour "#f00" # simple rgb "[50]red" # red with 50% alpha "TekHVC:300/50/50" # anything goes : [0.5] # 50% gray, 100% alpha [0.5, 0, 0] # dark red, no green or blur, 100% alpha [0.5, 0, 0, 0.7] # same with explicit 70% alpha (CACHING AND SENSITIVITY) ( "load" "blur") (caching) . "load" urxvtd . "keep { ... }" "keep { ... }" . "keep" "{}" . (root) <<>> (sensitive) . ( "scale" ) ( <<>> ) - "scale" "TW" . "keep" . "keep" "blur" : rootalign keep { blur 20, root } (root-aligns). "blur" "rootalign" ( pixmap ) ( blur ). "load" "load" "load" . : keep { load "$HOME/path..." } "load" . (REFERENCE) (COMMAND LINE SWITCHES) --background-expr perl-expression Perl . --background-border (scrollbar) . . --background-interval seconds XRender X (X-server) 0.1 . ..SS "/ (PROVIDERS/GENERATORS)" (root screen) . . load $path $path . (plane tiling mode) . ( ) . load_uc $path (uncached) - load . root (root window pixmap) . (root sensitive) (bg) . solid $colour solid $width, $height, $colour . . $width $height 1x1 (filtering effects) . clone $img . . merge $img ... . . . (TILING MODES) . tile $img - . : . "tile" "load" . tile load "mybg.png" mirror $img tile ( ) ( ). : . mirror load "mybg.png" pad $img . . : . <<>> ( ). pad load "mybg.png" extend $img . . : extend move 50, 50, load "mybg.png" . (-) . "TW" ( ) . TX TY X Y ( border-respect ). . (root window) . : ( "rootalign" ): move -TX, -TY, keep { load "mybg.png" } TW TH ("TW") ("TH") ( border-respect ). . (clip) . : (blur) . clip move -TX, -TY, keep { blur 5, root } FOCUS true . . (fade) "-fade" . : "focus_fade". : . FOCUS ? keep { load "has_focus.jpg" } : keep { load "no_focus.jpg" } now () (epoch) . . again $seconds $seconds . : ( ). . again 60; rotate 50, 50, (now % 86400) * -72 / 8640, scale keep { load "myclock.png" } counter $seconds "again" 0 ..SS " (SHAPE CHANGING OPERATORS)" . clip $img clip $width, $height, $img clip $x, $y, $width, $height, $img (clip ). ( $x $y ) (tiling mode) . $x $y 0 . $width $height . : (blur) . clip keep { blur 10, load "mybg.png" } scale $img scale $size_factor, $img scale $width_factor, $height_factor, $img ($width) ($height) . . . resize $width, $height, $img $width $height . fit $img fit $width, $height, $img $width $height . . cover $img cover $width, $height, $img "fit" . move $dx, $dy, $img $dx $dy . : . move 20, 30, ... align $xalign, $yalign, $img - 0 ( $xalign $yalign) 0.5 1 . : . align 1, 0.5, pad $img center $img center $width, $height, $img ( $width $height ) . : . center keep { pad load "mybg.png" } rootalign $img . . "move -TX, -TY" . : (root). rootalign keep { mirror load "mybg.png" } : . rootalign root rotate $center_x, $center_y, $degrees, $img $degrees $center_x $center_y ( / ) . : . rotate 0.5, 0.5, 90, keep { load "$HOME/mybg.png" } . tint $color, $img . : . tint "red", load "rgb.png" : . tint [1, 0, 0], load "rgb.png" shade $factor, $img (shade) . contrast $factor, $img contrast $r, $g, $b, $img contrast $r, $g, $b, $a, $img (contrast) . $factor . 0 1 1 . XRender . brightness $bias, $img brightness $r, $g, $b, $img brightness $r, $g, $b, $a, $img (brightness) . $bias . 0 0 . -1 1 - . XRender . (!) "muladd" . muladd $mul, $add, $img # EXPERIMENTAL $mul $add . . XRender (artifacts) . : $c . muladd $c, (1 - $c) * 0.5, $img blur $radius, $img blur $radius_horz, $radius_vert, $img () $radius . . . (<5) . focus_fade $img focus_fade $factor, $img focus_fade $factor, $color, $img ( ) / (fade) ( "-fade"/"-fadecolor" "factor" $color ). "-fade" $factor ( 0..1 0..100). : focus fading. focus_fade load "mybg.jpg"; . keep { ... } . - "keep" ( ). "keep" ( ) . - (root) (root-align) . "load" . urxvt "keep" . "keep" "rootalign" . rootalign keep { blur 10, root } : ( ) . (OLD BACKGROUND IMAGE SETTINGS) / OSC . . (OPTIONS AND RESOURCES) -pixmap file[;oplist] backgroundPixmap: file[;oplist] (:) . ";" ";" (metacharacter) . : WxH+X+Y . "W" / "H" / () "X" / "Y" (). 0 . op=tile () op=keep-aspect op=root-align "100x100+50+50" . : style=tiled . 0x0+0+0:op=tile style=aspect-stretched . 100x100+50+50:op=keep-aspect style=stretched . 100x100 style=centered . 0x0+50+50 style=root-tiled <> . 0x0:op=tile:op=root-align . . (pseudo-transparency) (alpha-blending) . -tr|+tr transparent: boolean / (root pixmap) . -tint colour tintColor: colour (tint) . . -sh number shading: number (0 .. 99) (101 .. 200) . 100 . -blr HxV blurRadius: HxV . . 1 . 128 . 0 ..SS " OSC (OSC sequences)" OSC . urxvt "background" . "--background-expr ''" "URxvt.background.expr:"> . "ESC ] 705 ; Pt ST" "Pt". "ESC ] 20 ; Pt ST" / : "Pt" : "?" ";WxH+X+Y" / "FILE;WxH+X+Y" 9.31 2025-10-24 urxvt-background(1)