XSNOW(6)                         User Commands                        XSNOW(6)

       xsnow - Snow and Santa on your desktop

       xsnow [OPTION]...

       Xsnow  shows an animation of Santa and snow on your desktop.  Xsnow can
       also run in one or more windows, see options -xwininfo, -id  .   (These
       options only work satisfactorily in an X11 environment.)  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

       If xsnow is misbehaving, try to remove the file $HOME/.xsnowrc.

   General options:
       <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 of xsnow.

              prints ChangeLog.

              put tar ball on stdout, so you can do:
              xsnow -selfrep > xsnow.tar.gz

       -display <c>
              Drop the snowflakes on the given display.  Make sure the display
              is nearby, so you can hear them enjoy...

       -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.

              Run xsnow in vintage settings.

              Do not read config file (see FILES).

              Do not read or write config file (see FILES).

              Start with hidden interactive menu.

              Do not show interactive menu.

       -lang <c>
              Set  language,  example: -lang it, see LANGUAGES below. Default:

       -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

       -transparency <n>
              Transparency in % (default: 0)

       -theme <n>
              1: use xsnow theme 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 from xwininfo).

       --window-id <n>
              see -id.

              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

              Use a cursor to point at the window you  want  the  snow  to  be
              fallen in.

       -stopafter <n>
              Stop xsnow after so many seconds.

       -root, --root
              Force to paint on (virtual) root window.
              Use this for xscreensaver:
              Make   sure  xscreensaver  is  running,  either  as  a  start-up
              or from the command line, e.g:
                 nohup xscreensaver &
                  nohup xscreensaver -no-capture-stderr &
              Run  the  program   xscreensaver-demo   to   create   the   file
              In  the  file ~.xscreensaver add after the line 'programs:' this
                  xsnow -root
              Use  the  program   xscreensaver-demo   to   select   xsnow   as
              You probably want to select: Mode: Only One Screen Saver.

       -bg <f>
              file to be used as background when running under xscreensaver.

       -noisy Write  extra  info  about  some  mouse  clicks, X errors etc, to

       -cpuload <n>
              How busy is your system with xsnow: the higher, the more load on
              the system (default: 100).

   Snow options:
       -snowflakes <n>
              The  higher,  the  more  snowflakes  are  generated  per second.
              Default: 100.

              (Default) Animate blow-off snow.

              Do not animate blowing snow from trees or windows

       -sc <c>
              Use the given string as color for the flakes (default: #fffafa).

       -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.

              Do not display the trees.

              (Default) Display the trees.

       -trees <n>
              Desired number of trees. Default 10.

       -treefill <n>
              Region in percents of the height of the window where trees  grow
              (default: 30).

       -treescale <n>
              Scale scenery (default: 100).

              Allow scenery items to overlap each other (default).

              Do not allow scenery items to overlap each other.

   Santa options:
              (Default) Display Santa running all over the screen.

              Do not display Santa running all over the screen.

              (Default) With Rudolph.

              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.

              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 is 100.

       -windtimer <n>
              With  -windtimer  you can specify how often it gets  windy. It's
              sort of a period in seconds, default value is 30.

       -stars <n>
              The number of stars (default: 20).

              (Default) Show meteors.

              Do not show meteors.

              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.

       -moonspeed <n>
              Speed of moon in pixels/minute (default: 120).

       -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!

              Place aurora in top left of screen.

              Place aurora in top middle of screen.

              Place aurora in top right of screen (default).

       -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:

       -maxontrees <n>
              Maximum number of flakes on trees. Default 200.

              (Default) Keep snow on top of the windows.

              Do not keep snow on top of the windows.

              (Default) Keep snow at the bottom of the screen.

              Do not keep snow at the bottom of the screen.

              (Default) Keep snow on trees.

              Do not keep snow on trees.

              (Default) Have snow sticking anywhere.

              Do not have snow sticking anywhere.

              (Default) Create fluff on fallen snow.

              Do not create fluff on fallen snow.

       -offsetx <n>
              Correction for window-manager provided x-coordinate  of  window.
              Default 4.

       -offsety <n>
              Correction  for window-manager provided  y-coordinate of window.
              Default 0.

       -offsetw <n>
              Correction for window-manager provided width of window.  Default

       -offsets <n>
              Correction  for  bottom  coordinate  of  your screen. A negative
              value lifts the xsnow screen up. Default 0.

       -ignoretop <n>
              Do not collect snow on window > 0.8*width of screen  and  closer
              than  <n>  pixels  from  the  top. Sometimes an hidden window is
              sitting there, but treated as a normal window by xsnow.  Default

       -ignorebottom <n>
              Analog to -ignoretop, but now for the bottom. Default 0.

   Birds options:
       -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>
              Eagerness to keep 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: 70).

       -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).

       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 .

              Settings  are  read  from  and  written to this file.  See flags
              -noconfig and -defaults how to influence this behaviour.
                  NOTE: the following settings are not read or written:
                        -above  -defaults  -desktop  -fullscreen -noconfig -id
                        -nomenu  -stopafter   -xwininfo   -display      -noisy

              If  present,  xsnow will try this file for displaying the trees.
              The   format   must   be   xpm   (X    PixMap)    format,    see
              https://en.wikipedia.org/wiki/X_PixMap .

              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, see https://en.wikipedia.org/wiki/X_PixMap .
                  NOTE: To show: activate the first Santa in the menu.

           $ xsnow -defaults        # run with defaults.
           $ xsnow                  # run using values from the config file.
           $ xsnow -treetype 1,2    # use tree types 1 and 2.

       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.

              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
                  bspc rule -a Xsnow state=floating border=off

              No issues.

       DWM    No  issues, except the "Below Windows" setting in the "settings"

              With one monitor: no issuses.
              With more montors: probems with showing in 'all monitors'

              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.

              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: works with one monitor.
              Maybe you need to run with the flag -xwininfo

       LXQT   Without compositor: unworkable.  With compositor: no issues.

       MATE   No issues.

              No issues.

       PLASMA (KDE)
              No issues.

              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.

              Without    compositor:   no   issues.    With   compositor:   no
              click-through xsnow window

       XFCE   No issues when compositing is on, unworkable when compositing is
              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

       - 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...
       - Remnants of fluffy snow can persist after removing the
           fallen snow. These will gradually disappear, so no big deal.
       - Remnants of meteors can persist after passage of Santa.
           These will eventually be wiped out by snow or Santa.
       - 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
       - In multi-screen environments, it depends on the display settings
           if it is snowing on all screens. Experiment!

       Please report your comments via:
          https://ratrabbit.nl/ratrabbit/contact .


       This is free software; see the source for copying conditions.  There is
       NO  warranty;  not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR

xsnow-3.7.5                          2023                             XSNOW(6)