A CLI php script that makes xscreensaver’s screensavers available to «Xfce screensaver»’s users. It can optionally exclude screensavers and preserve their configuration (that is, their arguments) according to an xscreensaver’s user configuration file.

pezcurrel bd35a92103 Updated to help text as in 51301f7 commit 1 year ago
README.md bd35a92103 Updated to help text as in 51301f7 commit 1 year ago
xstoxfces 51301f78b6 Changed a bit the help text 1 year ago

README.md

SYNOPSIS

xstoxfces [options]

DESCRIPTION

This is xstoxfces v0.1.3, a CLI php script that makes xscreensaver’s
screensavers available to «Xfce screensaver»’s users.
Currently, «Xfce screensaver» supports xscreensaver’s screensavers, but does
not automatically make them available to users. This script just converts
xscreensaver’s screensavers «.xml» definition files to «.desktop» files and
saves these «.desktop» files in a directory where «Xfce screensaver» will
consider them (by default «$HOME/.local/share/applications/screensavers»);
in addition, it can optionally exclude screensavers and preserve their
configuration (that is, their arguments) according to an xscreensaver’s
user configuration file («$HOME/.xscreensaver» by default).

OPTIONS

-h, --help
 Show this help text and exit.

-p, --preserve_xscreensaver_exclusions
 With this option xstoxfces will exclude those screensavers which the user
 may have excluded using xscreensaver-settings’s «Random Screen Saver»
 option, by detecting them from xscreensaver’s user configuration file
 («$HOME/.xscreensaver» by default).

-P, --preserve_xscreensaver_arguments
 With this option xstoxfces will preserve every screensaver’s arguments which
 the user may have set using xscreensaver-settings, by detecting them from
 xscreensaver’s user configuration file («$HOME/.xscreensaver» by default).

-C, --xscreensaver_user_conf_file <file path>
 If xstoxfces is invoked with «--preserve_xscreensaver_exclusions»
 or «--preserve_xscreensaver_arguments» (see the previous two options’
 descriptions), it will try to automatically detect xscreensaver’s user
 configuration file’s path («$HOME/.xscreensaver» by default). If it fails,
 or if you want to specify a different xscreensaver configuration file, you
 can do it explicitly with this option.

-c, --xscreensaver_conf_dir <directory path>
 With this option you can explicitly specify the xscreensaver configuration
 directory, that is the system directory where xscreensaver stores all the
 «.xml» files defining its screensavers.
 DEFAULT: «/usr/share/xscreensaver/config»

-e, --xscreensaver_exec_dir <directory path>
 With this option you can explicitly specify the xscreensaver executables
 directory, that is the system directory where xscreensaver stores all its
 screensavers’ executable files.
 DEFAULT: «/usr/lib/xscreensaver»

-d, --xfce_screensaver_desktop_files_dir <directory path>
 With this option you can explicitly specify xstoxfces’s «output directory»
 path, that should be the path to a directory where «Xfce screensaver» expects
 to find «.desktop» files defining screensavers (by default
 «$HOME/.local/share/applications/screensavers»).

NOTES

You can use xstoxfces to make xscreensaver’s screensavers available to every
user of «Xfce screensaver» by running xstoxfces as root and setting
«--xfce_screensaver_desktop_files_dir» (see above) to the system directory
where «Xfce screensaver» expects to find the «.desktop» files defining all the
screensavers and their configurations (usually
«/usr/share/applications/screensavers»).

EXIT VALUES

0: regular run
1: fatal error

DISCLAIMER AND LICENSE

This program comes with ABSOLUTELY NO WARRANTY; for details see the source.
This is free software, and you are welcome to redistribute it under certain
conditions; see <http://www.gnu.org/licenses/> for details.