Xsnow - man page
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).
-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. 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.9 2024 XSNOW(6)