We should refine which xscreensaver themes we ship.
Description
Revisions and Commits
Status | Assigned | Task | ||
---|---|---|---|---|
Open | tsimonq2 | T100 Lubuntu 20.04 | ||
Resolved | The_LoudSpeaker | T21 Our xscreensaver theme is too old |
Event Timeline
Any sugestions as to which themes we should use? And how do I go about working on this?
@wxl wrote out a really nice set of suggestions in the old Phab instance, which I think is gone, unfortunately. :(
So I discovered that xscreensaver doesn't suck, but the default modules do. jwz continues to add "hacks," up to and including last December. The package requires xscreensaver-data but there's a ton of other options in xscreensaver-data-extra and the GL options xscreensaver-gl and xscreensaver-gl-extra. There's also xscreensaver-screensaver-bsod and xscreensaver-screensaver-webcollage but I'm meh about both.
That said, here's the list of modules I like, with a couple tweaks. These can be added to $HOME/.xscreensaver. Just comment out all the other ones with a - .
programs: \ attraction -root \n\ decayscreen -root \n\ flame -root \n\ drift -root \n\ goop -root \n\ grav -root \n\ kaleidescope -root \n\ GL: pipes -root \n\ GL: atlantis -root \n\ GL: cage -root \n\ -effect swamp -reflect -magnify \ -blackhole -vortex \n\ kumppa -root \n\ moire2 -root -ncolors 230 -thickness 5 \n\ GL: circuit -root \n\ -wireframe \n\ vermiculate -root \n\ anemone -root \n\ GL: cubenetic -root -waves 20 \n\ euler2d -root \n\ fluidballs -root -gravity 0.003 \ -elasticity 1 \n\ GL: flurry -root \n\ GL: glblur -root \n\ GL: atunnel -root \n\ GL: blocktube -root \n\ GL: cubestorm -root \n\ GL: gleidescope -root -zoom \n\ GL: hypertorus -root \n\ piecewise -root -count 40 -colorspeed 100 \ -maxradius 0.3107 \n\ GL: surfaces -root \n\ fireworkx -root \n\ interaggregate -root \n\ GL: noof -root \n\ substrate -root \n\ wormhole -root -stars 14 \n\ boxfit -root \n\ celtic -root \n\ 26.3163 -no-logo \n\ GL: cubicgrid -root \n\ GL: glcells -root \n\ GL: hypnowheel -root \n\ GL: klein -root \n\ 14.0985 -flexibility 0.1682 -wiggliness \ 0.5364 \n\ GL: geodesic -root \n\ GL: unknownpleasures -root \n\ binaryring -root \n\ GL: cityflow -root \n\ GL: projectiveplane -root \n\ GL: romanboy -root \n\ GL: hydrostat -root -count 8 -head-radius 67 \ -length 60 -friction 0 \n\ GL: splodesic -root \n\
Right; I was referring to the configuration. :)
If we can just throw a config file in /etc/xdg/xdg-Lubuntu/ that'd be cool.
According to the manpage:
Options to xscreensaver are stored in one of two places: in a .xscreensaver file in your home directory; or in the X resource database.
If you want to set the system-wide defaults, then make your edits to the xscreensaver app- defaults file, which should have been installed when xscreensaver itself was installed. The app-defaults file will usually be named /usr/lib/X11/app-defaults/XScreenSaver, but different systems might keep it in a different place
Also the $HOME/.xscreensaver file clobbers anything else and the preferences actually change that and do not change X resource database or the app-defaults file, so it doesn't keep a user from personalizing things the way they want.
That said, as far as I understand, X resource database (xrdb) ≠ XDG (X Desktop Group aka freedesktop.org).
The other thing you'll notice, @The_LoudSpeaker, that @kc2bez is bringing up, is that rSEED will need to be modified to include all those extra packages I mentioned.
There's an upstream discussion that hits on the same concern this task originally had ("it's ugly") that has a similar conclusion: xscreensaver is the best choice security wise, and you can make it what you need it to be.
The other thing I learned dealing with an unrelated issue is that you can actually theme the lock dialog which is great because it is ugly and is not easily changed. We should probably have a separate task for this. While there is a reason for this, there are ways around it, as you can see in the various links.
Also interesting to note that LXQt is leveraging xdg-screensaver to handle which screensaver/locker to use.
P.S. I notice new hacks as of this month so make sure to give a once over all the options and recommend any you feel like should be included.
To further clarify, we should be using the X resources to change .xscreensaver (we could also do .Xdefaults but I like that this is more specific and easier— see the manpage for more) to get the lock screen we want. There are examples in the upstream [xscreensaver.ad](https://github.com/Zygo/xscreensaver/blob/master/driver/XScreenSaver.ad.in) file.
We don't want to use the theme patch since it's not maintained and is actually modifying the code. Even a small amount of change can be problematic. Most of the GNOME, MATE, Cinammon, etc. screensavers out there are xscreensaver forks inended to make them look pretty or add other features. And they almost all have security issues.
So I did some tweaking. Installed xfonts-efont-unicode to get it to look this good. This is old style xlib font rendering so you have to use X11 fonts. xfontsel is your friend here. Not sure why the "new login" button is showing weird.
{P22}
In addition to the above, we may be able to change the logo. The key: must be a xpm indexed to 90 colors with 350 pixel width and 274 pixel height. The problem is it would have to be done at compile time, which is to say it would be for the whole package. Supposedly this has been done before but apparently it's been reverted?
I made a list of those which are good from the currently shipped ones:
abstractile
binary ring
cwaves
Deco
Fiberlamp
fuzzy flakes
penrose
popsquares
slidescreen
I will have a detailed look soon.
You were saying something about fonts @wxl ?
@The_LoudSpeaker did you see all the suggestions I made (across several packages) at T21#594? Looks like latest in Debian doesn't have any of the new hacks, so don't sweat looking beyond that.
Regarding fonts, that was a discussion relevant to changing the lock dialog. That's probably a discussion appropriate for a separate task.
Here's the file with required edits:
http://paste.ubuntu.com/p/3FmJTWCgQk/
I modified the file according to T21#594 and T21#2139
The file was obtained from /etc/X11/app-defaults/XscreenSaver
but it is a link to /etc/X11/app-defaults/XscreenSaver-nogl
According to man page, it should be put it in /usr/lib/X11/app-defaults/Xscreensaver
but as it is linked to the other file, should I put the other file also with it (the no-gl one)? In rDEFAULTSETTINGS ?
So I should have said this before but I really don't like popsquares or slidescreen and fuzzy flakes is not a big favorite, either. Someone please overrule me, but I'd really like us to not include those. Since @tsimonq2 is the op here, maybe he can chime in?
Maybe we should just pick one as the default rather than using random?
- [cubicgrid](https://www.youtube.com/watch?v=nOTi7gy9l-I)
- [drift](https://www.youtube.com/watch?v=cppZgCh6U7I), which was written by the author of fractal wizard Scott Draves, who also did Electric Sheep
- [flurry](https://www.youtube.com/watch?v=0beqUyN5ZsI)
- [goop](https://www.youtube.com/watch?v=bLMAF4Q-mGA)
- [hypnowheel](https://www.youtube.com/watch?v=QcJnc9EKJrI)
Another idea (I'm full of them): we make our own hack for xscreensaver.
The instructions are fairly basic and suggest hacking on an existing one. Of these, the simplest is [greynetic](https://github.com/Zygo/xscreensaver/blob/master/hacks/greynetic.c).
Alternately, we just create a folder of images and use one of the hacks that use them, e.g. glflux or gleidescope (which is pretty rad, especially if tweaked from default settings a tad). That would be something easy that we could do right now.
Regarding the path, using apt-file search, it seems that the XScreenSaver* files are provided by xscreensaver packages, so those are out. These are overwritten in Ubuntu Studio and Xubuntu's default settings packages via providing .xscreensaver in [/etc/skel](http://www.linfo.org/etc_skel.html). The problem with this is anyone upgrading will not have the changes. Maybe we could postinst the installation for old users? Any other ideas?
Strange thing: lubuntu-default-settings has a /usr/share/lubuntu/xscreensaver/xscreensaver that contains only mode: blank. I wonder if we can somehow make use out of that.
@kc2bez what do you think about using one of the stock ones versus making something ourselves?
Making one might be cool, someday. There are some really good stock ones though. Picking a decent one over random is probably the most important thing.
Also works. I will read the instructions. also, patterns better than a folder of images imo. images will need more resources to load na?
Either drift or flurry, in that order for my vote, from this list, though my opinion bears no weight in this decision.
Maybe we should just pick one as the default rather than using random? cubicgrid drift, which was written by the author of fractal wizard Scott Draves, who also did Electric Sheep flurry goop hypnowheel//////
Of that list, I'd pick flurry (NO hypnowheel please, others are good but bright)
I just booted a 19.10 install from 2019-08-26 daily, and my 'picks' (& thoughts) are
abstractile, alas bright
distort, - great WHEN wallpaper or desktop image - not xscreensaver logo
fiberlamp
fuzzyflakes, cute but bright
galaxy
m6502, cute, but most will wonder why?
penrose; but somewhat bright
ripples, - but like distort - not with xscreensaver logo default config
shadebobs, - i like it but 'black' lines you can't see that erase look like mistakes
slidescreen, - i love this but not with xscreensaver logo or default config
(it's an older qa-install (updated), and i limited to ones visible using installed packages; I'll amend this if I find a more recent 'fresh' install. I prefer others that were not-installed though I would suggest distort/ripples/slidescreen IF we use the desktop display or wallpaper folder and not xscreensaver logo used by this box)
I'm not a fan of [too] bright screensavers; distracting in dark rooms or if you're using another machine & the screensaver kicks in/changes in the edges of your vision; neither of which would effect most users.
Comment made b/c of stand-up request
default hacks
Seems like flurry is the overwhelming preference here. Let's go ahead and make that the default when we fix the config with the right available hacks. Also, let's select the water option because it's blue and purple and like Lubuntu's colors and is kind of smoky and slow and not as distracting. This means:
-mode: random -selected: -1 +mode: one +selected: 115
and
- GL: flurry -root \n\ + GL: flurry -root -preset water \n\
Also, since Simon has avoided any opinion, I'll just go on record saying that I will not accept any changes that include popsquares, slidescreen or those dumb flakes. Feel free to convince him to overrule me if you want to insist.
seed
Don't forget that flurry is not a default hack, so xscreensaver-gl-extra will need to be added to the rSEED and rLUBUNTUMETAPACKAGING. The list of hacks enabled by default will need to be gone through and we'll need to make sure we have all the extra packages installed, too. Separate task, please. This should also preceed the config changes.
dialog
As mentioned in T21#1589, it's pretty easy to fix the dialog (don't forget this uses [.Xresources](https://askubuntu.com/questions/85109/how-do-i-theme-the-xscreensaver-unlock-screen)). This ideally needs a separate task. Someone please make one and run with it.
dialog logo
As mentioned in T21#1590, the logo could be changed, but it would have to be done for everyone in Ubuntu because it has to be done at compile time. It would be nice if someone could create a bug on Launchpad to resolve this.
It looks like Tormod Volden has been the primary maintainer but I also notice friend-of-Lubuntu Unit193 did the last upload. He is always on IRC (he's on the Council) so might be a good person to start an inquiry with. He's also very security-minded, so I think he would be good to bounce ideas off of.
I'm thinking it would be nice to have a simple Ubuntu Circle of Friends logo. Assuming it features the right criteria and it's guaranteed to be found, it should pose no security problems. I'm thinking we could make a script to verify all of that or revert to the standard logo when building.
our own hack
We need a separate task to explore the notion of creating our own hack. There's two possibilities:
- Easy: we create an image or use an existing image and make the default hack one of those ones that uses an image.
- Hard: we create a hack from scratch. This is going to require C and some real low-level graphics stuff. Unless we have someone really excited about this idea, it's unlikely to see the light of day.
Here's the patch that got us the Ubuntu logo in the xscreensaver lock dialog. It turns out this was reverted because [gnome-screensaver would better integrate with the desktop](https://wiki.ubuntu.com/ScreenSaver).