XSNOW(6)
π XSNOW(6) π
User Commands β yeah bestie, this is the manual page for xsnow, section 6, and honestly? it's the cutest thing in the whole manual. Santa. Snow. On your actual desktop. π
βοΈ
β¨ NAME β¨
xsnow β Snow and Santa on your desktop ππ¦
π SYNOPSIS π
xsnow [OPTION]...
π DESCRIPTION π
xsnow shows an animation of Santa and snow on your desktop. like, literally, Santa running around on top of your windows while it snows. iconic behavior, no notes. β¨
xsnow can also run in one or more windows β see the options -xwininfo and -id. (Heads up though: these options only work satisfactorily in an X11 environment. iykyk.) xsnow depends on an X11 environment. This is forced by setting the environment variable GDK_BACKEND=x11 before initializing the GTK. Hopefully, this will ensure that xsnow also runs in a Wayland environment for some time. π«Ά
Ifxsnowis misbehaving, try to remove the file$HOME/.xsnowrc. (not me deleting my own config to fix my life π but okay, slay.)
π General options π
Below: <n> denotes an unsigned decimal (e.g 123) or octal (e.g. 017) or hex (e.g. 0x50009) number. <c> denotes a string like "red" or "#123456". <f> denotes a file name, like "/home/rick/Pictures/background.jpg".
-h,-helpβ print this text. πΌ-H,-manpageβ print man page. π-v,-versionβ prints version ofxsnow.-changelogβ prints ChangeLog.-config <f>β use<f>as config file, default is'.xsnowrc'. If<f>does not start with'/',<f>is taken relative to your HOME directory.<f>MUST contain the string'xsnow'. Examples:
.myxsnowrc # will expand to '$HOME/.myxsnowrc'.
.config/xsnow # will expand to '$HOME/.config/xsnow'.
/etc/default/xsnow # will be used as is.
-display <c>β Drop the snowflakes on the given display. Make sure the display is nearby, so you can hear them enjoy... π (yes, fr, that's what it says.)-screen <n>β If you have multiple monitors: snow in monitor n.-1: use all monitors (default:-1). Note: for this to work, Xinerama has to be functional. π₯οΈπ₯οΈ-outline <n>β 1: draw outline around snow window. 0: no outline. Default:0.-vintageβ Runxsnowin vintage settings. π°οΈ aesthetic.-defaultsβ Do not read config file (see FILES).-noconfigβ Do not read or write config file (see FILES). not even a little.-hidemenuβ Start with hidden interactive menu.-nomenuβ Do not show interactive menu.-lang <c>β Set language, example:-lang it, see LANGUAGES below. Default:sys.-scale <n>β Apply scalefactor (default:100).-doublebuffer <n>β 1: use double buffering; 0: do not use double buffering (default:1). Only effective with'-root'or'-id'or'-xwininfo'.-transparency <n>β Transparency in % (default:0)-theme <n>β 1: usexsnowtheme for menu; 0: use system theme (default:1)-checkgtk <n>β 0: Do not check gtk version before starting the user interface. 1: Check gtk version before starting the user interface. (default:1).-id <n>,-window-id <n>β Snow in window with id (for example fromxwininfo).--window-id <n>β see-id.-desktopβ Act as if window is a desktop.-allworkspaces <n>β 0: use one desktop for snow, 1: use all desktops (default:1).-aboveβ Snow above your windows. Default is to snow below your windows. NOTE: in some environments this results in an un-clickable desktop. π so like, cute but you can't click anything. choose wisely.
this next one has lore, so buckle up.
-xwininfoβ Use a cursor to point at the window you want the snow to be fallen in. π-stopafter <n>β Stopxsnowafter so many seconds. β³-root,--rootβ Force to paint on (virtual) root window. Use this for xscreensaver: Make surexscreensaveris running, either as a start-up application or from the command line, e.g:
nohup xscreensaver &
or
nohup xscreensaver -no-capture-stderr &
Run the program xscreensaver-demo to create the file ~/.xscreensaver In the file ~.xsnowrc add after the line 'programs:' this line:
xsnow -root
Use the program xscreensaver-demo to select xsnow as screensaver. You probably want to select: Mode: Only One Screen Saver.
-bg <f>β file to be used as background when running underxscreensaver. πΌοΈ-noisyβ Write extra info about some mouse clicks, X errors etc, to stdout. π£οΈ-cpuload <n>β How busy is your system withxsnow: the higher, the more load on the system (default:100).-screenshot <n>β 1: use screenshots to find the windows, 0: use X11 (default:0).
βοΈ Snow options βοΈ
-snowflakes <n>β The higher, the more snowflakes are generated per second. Default:100. π¨οΈ-blowsnowβ (Default) Animate blow-off snow.-noblowsnowβ Do not animate blowing snow from trees or windows-sc <c>β Use the given string as color for the flakes (default:#fffafa).-sc2 <c>β Use the given string as second color for the flakes (default:#87ceff).-enablesc2 <n>β 1: enable usage of second color for the flakes (default:0).-snowspeedfactor <n>β Multiply the speed of snow with this number/100 (default:100).-snowsize <n>β Set size of (non-vintage) snow flakes (default:8).-snowβ (Default) Show snow.-nosnow,-nosnowflakesβ Do not show snow. π«βοΈ-flakecountmax <n>β Maximum number of active flakes (default:300).-blowofffactor <n>β The higher, the more snow is generated in blow-off scenarios (default:40).
π² Tree options π²
-treetype <n>[,<n> ...]β Choose tree types: minimum 0, maximum 8 (default:1,2,3,4,5,6,7,). Thanks to Carla Vermin for numbers >=3! Credits: Image by b0red on Pixabay.-treetype allβ (Default) Use all non-vintage available tree types. π-tc <c>β Use the given string as the color for the vintage tree (default:#7fff00). Works only for treetype 0.-notreesβ Do not display the trees.-showtreesβ (Default) Display the trees.-trees <n>β Desired number of trees. Default10.-treefill <n>β Region in percents of the height of the window where trees grow (default:30).-treescale <n>β Scale scenery (default:100).-treeoverlapβ Allow scenery items to overlap each other (default).-notreeoverlapβ Do not allow scenery items to overlap each other.-xmastrees <n>β Around Xmas: Show replace n scenery items with a nice Xmas-tree. Default1. Thanks to Mujhaid Wakeel. π
π Santa options π
-showsantaβ (Default) Display Santa running all over the screen. main character energy, honestly.-nosantaβ Do not display Santa running all over the screen. π-showrudolphβ (Default) With Rudolph. π¦-norudolphβ No Rudolph.-santa <n>β The minimum size of Santa is 0, the maximum size is 4. Default is 3. Thanks to Thomas Linder for the (big) Santa 2! Santa 3 is derived from Santa 2, and shows the required eight reindeer. The appearance of Santa 4 may be a surprise, thanks to Carla Vermin for this one. π-santaspeedfactor <n>β The speed Santa should not be excessive if he doesn't want to get fined. The appropriate speed for the Santa chosen will be multiplied by santaspeedfactor/100 (default:100).-santascale <n>β The scale to be used when drawing Santa (default:100).
π Celestial options π
-windβ (Default) It will get windy now and then. π-nowindβ By default it gets windy now and then. If you prefer quiet weather specify-nowind.-whirlfactor <n>β This sets the whirl factor, i.e. the maximum adjustment of the horizontal speed. The default value is100.-windtimer <n>β With-windtimeryou can specify how often it gets windy. It's sort of a period in seconds, default value is30.-stars <n>β The number of stars (default:40). β-starsize <n>β Relative size of stars, default value is50.-meteorsβ (Default) Show meteors. βοΈ-nometeorsβ Do not show meteors.-meteorfrequencyβ Frequency of falling of meteors, 0..100 (default:40).-moon <n>β 1: show moon, 0: do not show moon (default:1). Picture of moon thanks to Pedro Lasta on Unsplash.https://unsplash.com/photos/wCujVcf0JDwπ-moonspeed <n>β Speed of moon in pixels/minute (default:120).-moonx <n>β Horizontal position of moon (only if speed = 0) (default:50).-moony <n>β Vertical position of moon (only if speed = 0) (default:20).-moonsize <n>β Relative size of moon (default:100).-mooncolor <n>β Color of moon 0: yellow-ish; 1: white-ish (default:0).-halo <n>β 1: show halo around moon, 0: do not show halo (default:1).-halobrightness <n>β Brightness of halo (default:25).-aurora <n>β To show (1) or not to show(0) aurora (default:1). On most desktops aurora works, but not on all. Try! π
that last note is literally a dare, bestie. go try it.
-aurorax <n>β Place aurora horizontally in percents of screen-width (default:50).-aurorawidth <n>β Width of aurora in percentage of screen width (default:60).-aurorabase <n>β Height of aurora's base line in percentage of screen height (default:50).-auroraheight <n>β Height of aurora (default:30).-auroraspeed <n>β Animation speed of aurora (default:50). 10: about real value, 100: timelapse. β©-aurorabrightness <n>β Brightness of aurora (default:15).
π§ Fallen snow options π§
-wsnowdepth <n>β Maximum thickness of snow on top of windows (default:30).-ssnowdepth <n>β Maximum thickness of snow at the bottom of the screen (default:50).-maxontrees <n>β Maximum number of flakes on trees. Default200.-keepsnowonwindowsβ (Default) Keep snow on top of the windows.-nokeepsnowonwindowsβ Do not keep snow on top of the windows.-keepsnowonscreenβ (Default) Keep snow at the bottom of the screen.-nokeepsnowonscreenβ Do not keep snow at the bottom of the screen.-keepsnowontreesβ (Default) Keep snow on trees.-nokeepsnowontreesβ Do not keep snow on trees.-keepsnowβ (Default) Have snow sticking anywhere.-nokeepsnowβ Do not have snow sticking anywhere.-fluffyβ (Default) Create fluff on fallen snow. π«§-nofluffyβ Do not create fluff on fallen snow.-offsetx<n> β a lil correction for the x-coordinate of the window that your window manager hands over. Default:4.-offsety<n> β same energy, but for the y-coordinate your window manager gives us. Default:0.-offsetw<n> β correction for the width of the window. Default:-8.-offsets<n> β correction for the bottom coordinate of your screen. A negative value lifts the xsnow screen up. Default:0.-ignoretop<n> β don't let snow collect on windows that sit closer than <n> pixels from the top. Sometimes there's a hidden window lurking up there and xsnow treats it like a totally normal window (rude of it, honestly). Default:0.-ignorebottom<n> β literally the-ignoretopof the bottom edge. Default:0.
Birds options
okay bestie, this is the bird section and it is so much. π¦
-anarchy<n> β anarchy factor (0..100, default:50).-birdscolor<c> β use the given string as color for the birds (default:#361A07).-birdsonly<n> β show only birds (0/1, default:0).-birdsspeed<n> β speed of birds (0..300, default:100).-disweight<n> β how eager they are to keep their desired distance (0..100, default:20).-focuscentre<n> β eagerness to fly to the focus (0..300, default:100).-followneighbours<n> β eagerness to follow neighbours (0..100, default:30).-nbirds<n> β number of birds (0..400, default:20).-neighbours<n> β number of neighbours to watch (0..20, default:7).-prefdistance<n> β preferred distance to neighbours (0..100, default:40).-showbirds<n> β show birds (0/1, default:1).-showattr<n> β show attraction point (0/1, default:0).-attrspace<n> β vertical space to be used by the attraction point (default:40).-followsanta<n> β birds like Santa (0/1, default:0).-viewingdistance<n> β viewing distance (0..95, default:40).-birdsscale<n> β scalefactor used painting the birds (default:100).
π LANGUAGES π
Xsnow comes with some translations to non-english languages. The translations are done with the aid of translate.google.com (implemented in package 'trans'), so there will be room for improvement. Any suggestions are welcome: contact@ratrabbit.nl .
π FILES π
$HOME/.xsnowrcβ settings are read from and written to this file. See flags-noconfigand-defaultshow to influence this behaviour.
NOTE: the following settings are not read or written:-above-defaults-desktop-fullscreen-noconfig-id-nomenu-stopafter-xwininfo-display-noisy-checkgtk
NOTE: the file also contains the screen locations of a number of buttons, which can be used for testing purposes.
$HOME/.xsnowstopβ Xsnow checks regularly the existence of this file. If present, xsnow will remove the file and stop. π$HOME/xsnow/pixmaps/tree.xpmβ if present, xsnow will try this file for displaying the trees. The format must be xpm (X PixMap) format, seehttps://en.wikipedia.org/wiki/X_PixMap.$HOME/xsnow/pixmaps/santa<n>.xpmβ where <n> =1,2,3,4. If present, xsnow will try this files (4 of them) for displaying Santa. The format must be xpm (X PixMap) format, seehttps://en.wikipedia.org/wiki/X_PixMap.
NOTE: To show: activate the first Santa in the menu.
π‘ SIGNALS π‘
On receiving the SIGUSR1 signal, xsnow writes the file ~/.xsnowrc.
β¨ EXAMPLES β¨
$ xsnow -defaults # run with defaults.
$ xsnow # run using values from the config file.
$ xsnow -treetype 1,2 # use tree types 1 and 2.
πͺ WINDOW MANAGER ISSUES πͺ
In general, xsnow works better when using a compositing window manager like xcompmgr, compton or picom. However, with some window managers (FVWM for example), the xsnow-window is transparent, but not click-through. Flags to be tried in this case include: -root, -doublebuffer, -xwininfo, -id.
Here follow some window managers with their issues:
Tiling window managers
Here you need to float windows with class=Xsnow.
AWESOME
- Without compositor: no issues.
- With compositor: no click-through xsnow window, and issues with multi-monitor setup.
BSPWM
No issues if you add to your bspwmrc (the bspwm configuration file):
bspc rule -a Xsnow state=floating border=off
CINNAMON
No issues.
DWM
No issues, except the "Below Windows" setting in the "settings" panel.
ENLIGHTENMENT
- With one monitor: no issuses.
- With more montors: probems with showing in 'all monitors'
FLUXBOX
- Without compositor: no issues.
- With compositor: no click-through xsnow window
FVWM
- Without compositor: no issues.
- With compositor: no click-through xsnow window
GNOME on Xorg
No issues.
GNOME on Wayland
Most windows don't catch snow.
HERBSTLUFTWM
No issues.
I3
- Without compositor: windows don't catch snow, use the next line in
"config":
for_window [class="Xsnow"] floating enable;border none
- With compositor: unworkable.
JVM
No issues.
LXDE
- With compositor: no issues.
- Without compositor: icons in snow window disappear.
LXQT
- Without compositor: unworkable.
- With compositor: no issues.
MATE
No issues.
OPENBOX
No issues.
PLASMA (KDE)
No issues.
SPECTRWM
Various issues. In any case you need in spectrwm.conf:
quirk[Xsnow] = FLOAT
TWM
- Without compositor: no issues.
- With compositor: no click-through xsnow window and you need to tweak
settings->lift snow on windows.
WINDOW MAKER
Without compositor: no issues. With compositor: no click-through xsnow window
XFCE
No issues when compositing is on, unworkable when compositing is off. See settings -> Window Manager Tweaks -> Compositor
XMONAD
No issues if you add to your xmonad.hs:
import XMonad.Hooks.EwmhDesktops
xmonad $ ewmh $ defaultConfig
in the ManageHook section:
className = ? "Xsnow" --> doFloat
π BUGS π
ngl this list is long but every single one is real, bestie:
- Xsnow needs a complete rewrite: the code is a mess.
- The flags are not consistent, caused by trying to be compatible with older versions.
- Xsnow stresses the Xserver too much.
- Xsnow does run in Wayland, but will not snow on all windows.
- Xsnow tries to create a click-through window. This is not successful in for example FVWM/xcompmgr. In that case, xsnow tries to keep the snow window below all others, resulting in a transient effect when you click on the desktop. Sadly, no FVWM menu will appear...
- Xsnow tries to adapt its snowing window if the display settings are changed while xsnow is running. This does not function always well.
- Xsnow does not play well with
'xcompmgr -a'. In some environments (Raspberry 64 bit) xcompmgr is started with the flag'-a', resulting in a black snow window. Remedy: In a terminal window type:
killall xcompmgr
nohup xcompmgr -n &
and try again.
- In XFCE, compositing must be enabled for xsnow.
Settings -> Window Manager Tweaks -> Compositor -> Enable display compositing - Depending on the window manager, snowing in 'all monitors' results in snowing in one of the monitors. This happens for example in KDE.
- In multi-screen environments, it depends on the display settings if it is snowing on all screens. Experiment!
- No snow on windows with 'desktop' or 'Desktop' in the name.
- In multi-screen environments, it depends on the window manager if panels remain visible when running on 'all monitors'.
Please report your comments via: https://ratrabbit.nl/ratrabbit/contact .
π HOMEPAGE π
https://ratrabbit.nl/ratrabbit/xsnow
Β©οΈ COPYRIGHT Β©οΈ
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
okay that's the whole thing, you made it to the end, icon behavior fr fr π this was xsnow-3.9.4 from 2026, filed under XSNOW(6) β now go forth and make it snow, periodt π
βοΈ
π¦ where this page comes from
- fedora 43: xsnow 3.9.4-1.fc43 Β· GPL-3.0-or-later
- fedora 44: xsnow 3.9.4-1.fc44 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms