

In function stop_the_insanity add something like this, using your own values if you want. xscreensaver file instead of using xscreensaver-demo the values will not be used by xscreensaver, but our "sane" values will be used instead. This is a good spot to make sure that when a user hand edits the. Now find the aptly named function stop_the_insanity which sets some values of preferences back to sane values, such as a timeout > 15 seconds will be forced to 15 seconds. To: else if (s & !strcasecmp (s, "off")) p->mode = BLANK_ONLY The find the function called load_init_file and change the line: else if (s & !strcasecmp (s, "off")) p->mode = DONT_BLANK

P->mode = DONT_BLANK ? "blank" : /* prevents xscreensaver from being disabled, will force to blank */ if (!pr || !*pr) ĬHECK("timeout") continue /* don't save */ĬHECK("cycle") continue /* don't save */ĬHECK("lockTimeout") continue /* don't save */ And then as long as the system wide default is set to whatever you prefer xscreensaver will keep using these settings in lieu of what would be configured in the. xscreensaver file in the user's home directory. What this will do is prevent these settings from being saved to the. In that function find these lines: if (!pr || !*pr) ĬHECK("timeout") type = pref_time, t = p->timeout ĬHECK("cycle") type = pref_time, t = p->cycle ĬHECK("lock") type = pref_bool, b = p->lock_p ĬHECK("lockTimeout") type = pref_time, t = p->lock_timeout Īnd change to something like the below source sample. In the source tree find the file driver/prefs.c and in there look for the function write_init_file. This will still allow the user to configure many parts of the screensaver, just not the ones regarding screenlocking and the timeout. I tried to use the least invasive way of accomplishing this with minimal modification of the source. I did end up slightly modifying the source of xscreensaver in order to force certain settings. If you found this particularly useful and don’t have a team home for your machines yet, I humbly suggest Team 33100, particularly if you are a college sports fan and want to talk sports on the webbernets with other people at CSNbbs.It looks like this is not really possible. Suggestions or distro specific things to watch out for? Leave a comment below. Since I copied my xml file after zoom … I simply found the line for zoom, copied it over again, but renamed it FAHScreensaver and saved the file.Īlternatively, make the above change to /usr/share/X11/app-defaults/XScreenSaver for it to be the global default.Īdd the following file to the /usr/share/kde4/services/ScreenSavers directory: Īfter you have done these steps you should be able to run xscreensaver-demo or open up the screensaver options in KDE and have FAHScreensaver as an option. You will need to add a line for FAHScreensaver in this section. Using an editor of your choice (sudo gedit ~/.xscreensaver if you want the Ubuntu/Mint-ized command) open ~/.xscreensaverĪ few dozen lines down it will start to list all the different screensavers. xscreensaver file in your home directory. Here is my own bare bones config file which I created by blatantly copying zoom’s xml file and gutting it. If you cannot find it try running on a shell as root: locate glmatrix.xml In my case the directory was /usr/share/xscreensaver/config. Step 2) Copy an appropriate config file to the xscreensaver config file directory. In my case the folder was /usr/lib64/misc/xscreensaver … if you cannot find it try running on a shell as root: locate glmatrix Copy it to the folder of executables for XScreenSaver. tar.bz2 you’ll find an already compiled FAHScreensaver executable. tar.bz2 to avoid all the distro-specific packaging, particularly if like me you use Gentoo or some other non-deb-or-rpm distro. Preferably a version matching your FAHClient version from here. These steps assume you have root or otherwise privileged access to the machine in question:

So here are some steps to make that happen. I found myself wanting to put FAHScreensaver in as a proper screensaver in Linux, partially because it looks nice but mostly because the idle detection in Linux by seems to be broken.
#.xscreensaver file location how to#
How to add Screensaver (FAHScreensaver) to XScreenSaver
