galliumos-distro icon indicating copy to clipboard operation
galliumos-distro copied to clipboard

Reconsider or improve XScreenSaver

Open jeremy447 opened this issue 9 years ago • 56 comments

When I close the lid of my Chromebook and I reopen it I have a black screen (the screen seems to be on but it seem to display just black) but if I press a key I have this "old fashion" xscreensaver window that allow me to unlock my Chromebook.

https://4.bp.blogspot.com/-BDdfMA_93iM/UQsasyE_4KI/AAAAAAAAGTs/s0Sgc8FfKNg/s1600/xscreensaver2.png

Is it intended ? Because I think it was the login manager that was displayed on beta 1 without the need to press a key.

jeremy447 avatar Feb 10 '16 12:02 jeremy447

That's XScreenSaver, which replaces LightLocker in beta2.

reynhout avatar Feb 10 '16 16:02 reynhout

IMO LightLocker was nicer :(

chechoRP avatar Feb 10 '16 16:02 chechoRP

Actually, we used slim-lock from slim in beta1, which replaced the original light locker from xubuntu. Light locker has issues due to virtual terminal switching and would turn the screen off. Slim has been deprecated for a long time though. We chose it before because it was nicer, but decided to remove Slim since it is deprecated and go with more supported software (i.e., lxdm and xscreensaver). There isn't anything out there that is as good functionality wise as xscreensaver and desktop agnostic. If light locker stops relying on virtual terminal switching or a different screen locker shows up, we will consider it.

hugegreenbug avatar Feb 10 '16 16:02 hugegreenbug

Indeed. My mistake. I'm going to spend some time trying to customize the XScreenSaver appearance. It is a bit jarring.

reynhout avatar Feb 10 '16 16:02 reynhout

Is it possible to make xscreensaver display the login window when you wake up the chromebook like slim-lock did on beta 1 ?

jeremy447 avatar Feb 10 '16 16:02 jeremy447

Is it possible to make xscreensaver display the login window when you wake up the chromebook

Do you mean without pressing a key first?

reynhout avatar Feb 10 '16 16:02 reynhout

One of the reasons for using xscreensaver is to allow users to switch, which I realize is not showing up btw. I suppose a "screensaver" could be: lxdm -c USER_SWITCH , which would get to the login screen and support user switching.

hugegreenbug avatar Feb 10 '16 16:02 hugegreenbug

oh, but I don't know if the screen would blank

hugegreenbug avatar Feb 10 '16 17:02 hugegreenbug

Do you mean without pressing a key first?

Yes

jeremy447 avatar Feb 10 '16 17:02 jeremy447

oh, but I don't know if the screen would blank

It appears to. Or, it throws up the login background screen.

reynhout avatar Feb 10 '16 17:02 reynhout

but then you do have to enter your username again, and it isn't obvious from the screen whether you're already logged in and locked, or not logged in at all. This would bother me, but maybe not most people?

reynhout avatar Feb 10 '16 17:02 reynhout

Yeah, good point. By blank, I mean the power management. It seemed to dim, but that's it.

hugegreenbug avatar Feb 10 '16 17:02 hugegreenbug

but then you do have to enter your username again

With the beta 1 you didn't have to enter your username again and it will be great if that can be done too in beta 2

jeremy447 avatar Feb 10 '16 17:02 jeremy447

@Paviluf No, you don't, for me the username box is filled in as soon as I open the thing in beta2.

And my further input on the matter is this: slimlock did look a lot better. I often get confused when opening my Chromebook with xscreensaver (the screen is totally dark so I think something is wrong). On top of that, the password dialog is ugly, displays a username feild for no fucking reason, and has the most hideous logo I've ever seen in my entire life (that might be an exaggeration). I also think we should make our best effort to make the login screen and the lock screen look the same or very close as it was before with slim and slimlock.

ghost avatar Feb 10 '16 18:02 ghost

No, you don't, for me the username box is filled in as soon as I open the thing in beta2.

I know I just answered to what reynhout says.

I agree with ColtonDRG.

jeremy447 avatar Feb 10 '16 19:02 jeremy447

@Paviluf Oh, I think reynhout was referring to the theorhetical of using lxdm's switch user mechanic as a "screensaver"

ghost avatar Feb 10 '16 19:02 ghost

Oh, I think reynhout was referring to the theorhetical of using lxdm's switch user mechanic as a "screensaver"

Yes and I tried to say that if that happen we should have the same behavior as beta 1 ;)

jeremy447 avatar Feb 10 '16 19:02 jeremy447

Oh, OK, I understand.

ghost avatar Feb 10 '16 19:02 ghost

Xubuntu use LightDM and LightLocker right ?

Because I was wondering why not simply using them ? They are already pre-configured, work well and look nice.

jeremy447 avatar Feb 11 '16 16:02 jeremy447

Because we don't want to.

No, really though, it has some problem. Ask @hugegreenbug for more details.

ghost avatar Feb 11 '16 20:02 ghost

I spent a little bit of time yesterday customizing the appearance of xscreensaver. It looks a lot better, but still has a ways to go. There are four things to consider:

  1. Colors. This is easy.
  2. Logo. This is only slightly more difficult, but comes with some baggage. The developer has strong opinions about the use of his logo. I think there's a valid compromise in deemphasizing his logo, and not adding one of our own, just branding colors.
  3. Layout. This is harder. It's a couple hundred lines of Xlib C code with no autolayout or higher level tools. I remember enough Xlib to make this work, but it's definitely a bit of a project.
  4. Font. This might be fatal. It's easy to change fonts and sizes, but Xlib doesn't do antialiasing, so all characters are displayed with 1 bit depth, and they look blocky. Two things help to mitigate this problem: dark backgrounds (lighter letter colors) and font size: generally larger fonts render better.

It turns out to be difficult to get a screenshot of xscreensaver, or I'd post what I have so far. I will continue the effort if we think it's worthwhile, but if the likelihood of switching to another screen locker is high, then I will wait until a decision is made.

On that topic, I have no strong opinion. Xscreensaver is fine with me, but it'd be nice if it was more attractive. I'd also be fully in support of a simpler option that merely blanked the screen. User switching is a big plus.

reynhout avatar Feb 11 '16 22:02 reynhout

You could always take a picture - analog screenshot!

I'm a fan of consistent and beautiful design so I'm all for a nicer looking login screen, especially when Gallium OS is beautiful in every other respect. It's a shame to mar it with the default xscreensaver appearance. On the other hand, how much time and effort should be spent on appearance when there are potential improvements to be found with battery life and other practical issues...

lyam23 avatar Feb 12 '16 21:02 lyam23

You can take a screenshot if you're in VirtualBox ;)

ghost avatar Feb 12 '16 21:02 ghost

I am unable to attach PNGs to this issue, or to upload them to the wiki, so I stuck them under the galliumos.org webroot.

Two images, the first is the default style and the second is a work in progress with a different layout.

https://galliumos.org/tmp/xscreensaver-default.png

https://galliumos.org/tmp/xscreensaver-wip1.png

Ignore the alignment issues and the colors. The only important question is whether the font rendering is good enough. If it is OK, and we like XScreenSaver for other reasons, I'll continue the layout work.

[Edit: for what it's worth (which is nothing, IGNORE THE COLORS, but) that blue is considerably less vibrant on the Chromebook display than on my desktop -- not sure how it'll render for you...it's possible that the Xlib colormap doesn't translate directly.]

reynhout avatar Feb 13 '16 16:02 reynhout

I think that we should use LightDM / LightLocker. They are already pre-configured, need less work, work well, look nice and you don't have to type your username each time you open your session.

xubuntu_lock_light-locker

jeremy447 avatar Feb 13 '16 16:02 jeremy447

@Paviluf I have reasons for the decisions. I do agree that they look nice and I would have preferred to use them. Here are my reasons:

  1. Lightdm has performance issues. I noticed the mouse/system stuttering on start up and when logging out. I believe that I tried to turn off loading the user's background and I still noticed issues. Lxdm seems much faster to me and looks nice too.
  2. Light-locker would turn off the screen on resume. There are many different bug reports about this. I've tried the work arounds and they can help, but they don't solve it. They seemed to have solved the screen not returning at all, at least most of the time. Instead, the screen turns off on resume and you can get it back with a keypress, but it's annoying. Another issue is that the display backlight's brightness would change on resume. These issues are really i915 driver problems I think due to the VT switching of lightdm/light-locker. So, it would look nicer but have other issues. Here is one such bug report: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1357090

hugegreenbug avatar Feb 13 '16 17:02 hugegreenbug

Ok, that's too bad. It would have be great to avoid this extra work.

jeremy447 avatar Feb 13 '16 18:02 jeremy447

@hugegreenbug doesn't XScreenSaver also have an issue when resuming? Part of @Paviluf's earlier report was that you need to press a key to display the unlock dialog. Or are you describing something different?

It might be possible to change that behaviour in XScreenSaver, if that's the way we end up going. I haven't looked at that part yet.

How do you feel about the font rendering in the modified XScreenSaver layout? It's difficult for me to evaluate. I mean, it's clear that they look rough, but they're so familiar that it just doesn't bother me any more.

Are there any other contenders to replace XScreenSaver at this point?

reynhout avatar Feb 13 '16 19:02 reynhout

XScreenSaver also have an issue when resuming ?

You are right. If that can't be changed it's a show stopper for XScreenSaver I guess.

Are there any other contenders to replace XScreenSaver at this point?

Here is a list of Screen lockers : https://wiki.archlinux.org/index.php/List_of_applications#Screen_lockers

Here is a list of Display managers : https://wiki.archlinux.org/index.php/Display_manager#List_of_display_managers

jeremy447 avatar Feb 13 '16 19:02 jeremy447

@reynhout this issue is a cosmetic one, not a functionality issue. We set xscreensaver to blank the screen only. So, when locking or resuming it blanks the screen. If we had a screensaver, you would see that instead. I think you can start typing your password without pressing another key first. We can change the behavior to show the password prompt immediately.

For light locker, the screen is powered off like when power saving mode turns on and turns off the screen. Also, some times the screen would never display anything and you would have to reboot

hugegreenbug avatar Feb 13 '16 21:02 hugegreenbug