Customizing XScreenSaver

Who doesn’t love a good screensaver? I’ve been a fan of 3D Pipes going all the back to Windows 95, and I hypothetically might possibly have hacked my computer at Diamond using a Linux live USB to put 3D Pipes onto that Windows 10 machine. Possibly. I can neither confirm or deny.

On Linux Mint, I use XScreenSaver, which has, among its voluminious choices, a 3D Pipes screensaver. I disable the Cinnamon screensaver, and I load XScreenSaver at startup.

Oh, frabjous day?

Not quite. The password screen, when leaving the screensaver, leaves a bit to be desired.

The default XScreenSaver login window, with a light gray theme

It’s fine. The light gray theme doesn’t excite me, but there are some other options to choose from, like Aqua Black (a black and blue scheme) and Wine (a reddish scheme).

I had reason to look in the /etc/X11/app-defaults folder, and I saw that XScreenSaver had a file there that defined a number of program defaults that I could adjust by adding the necessary code to my .Xresources file. “Can I adjust the password window to make it consistent with the Mint-Y-Dark-Teal theme?”

And, with about twenty minutes of experimentation, I could! I could also adjust the way the time and date were presented in that window.

The XScreenSaver password window after my mofications, showing the Mint-Y-Dark Teal color scheme (buttons are teal, the background is a dark gray)

Here’s what the code I added to .Xresources looks like:

XScreenSaver*default.Dialog.foreground: #f0f0f0
XScreenSaver*default.Dialog.background: #353535
XScreenSaver*default.Dialog.button.foreground: #e4e4e4
XScreenSaver*default.Dialog.button.background: #199ca8
XScreenSaver*default.Dialog.logo.background: #222226
XScreenSaver*default.Dialog.text.foreground: #f0f0f0
XScreenSaver*default.Dialog.text.background: #717171
XScreenSaver*default.Dialog.topShadowColor: #2b2b2b
XScreenSaver*default.Dialog.bottomShadowColor: #2b2b2b
XScreenSaver*default.Dialog.shadowWidth: 1
XScreenSaver*default.Dialog.thermometer.foreground: #116d77
XScreenSaver*default.Dialog.thermometer.background: #199ca8
XScreenSaver*default.Dialog.thermometer.width: 8
XScreenSaver*default.Dialog.borderColor: #199ca8
XScreenSaver*default.Dialog.borderWidth: 2
XScreenSaver*default.Dialog.internalPadding: 24

That code overwrites the default color scheme, so leaving XScreenSaver on default will give me Mint-Y-Dark-Teal colors instead of the default light grays.

To adjust the date and time, I added this line:

XScreenSaver*dateFormat: %l:%M:%S %p %m/%d/%Y

It’s just the standard Linux time notation.

You can’t get rid of the logo. I tried. XScreenSaver specifies width and height defaults, and I thought overwriting both with 0 would do the trick. Alas, alack, and many alurums, my friends, it did not.

Still, I have something that looks better, than is not as stark as the default or any of the options. It looks like it belongs.

Published by Allyn Gibson

A writer, editor, journalist, sometimes coder, occasional historian, and all-around scholar, Allyn Gibson is the writer for Diamond Comic Distributors' monthly PREVIEWS catalog, used by comic book shops and throughout the comics industry, and the editor for its monthly order forms. In his over fifteen years in the industry, Allyn has interviewed comics creators and pop culture celebrities, covered conventions, analyzed industry revenue trends, and written copy for comics, toys, and other pop culture merchandise. Allyn is also known for his short fiction (including the Star Trek story "Make-Believe,"the Doctor Who short story "The Spindle of Necessity," and the ReDeus story "The Ginger Kid"). Allyn has been blogging regularly with WordPress since 2004.

Leave a Reply

Your email address will not be published. Required fields are marked *