_____
XSNOW(6)                         User Commands                        XSNOW(6)

NAME
       xsnow - Snow and Santa on your desktop

SYNOPSIS
       xsnow [OPTION]...

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

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

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

       -changelog
              prints ChangeLog.

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

       -vintage
              Run xsnow in vintage settings.

       -defaults
              Do not read config file (see FILES).

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

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

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

       -xwininfo
              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
              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 ~.xscreensaver 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 under xscreensaver.

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

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

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

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

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

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

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

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

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

       -auroraleft
              Place aurora in top left of screen.

       -auroramiddle
              Place aurora in top middle of screen.

       -auroraright
              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:
              50).

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

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

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

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

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

       $HOME/xsnow/pixmaps/tree.xpm
              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 .

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

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

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

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.

xsnow-3.7.5                          2023                             XSNOW(6)