- Aug 25, 2018
-
-
Rudolf Polzer authored
Behavioral changes/fixes: - Whitespace skipping now is performed in all appropriate places. - Visual skipping now happens on the same set of visual names. - Quoted arguments in commands now work. In fact, so do all other shell characters. One remaining difference though (intentional): - The program name itself can't be quoted.
-
- Aug 24, 2018
-
-
Rudolf Polzer authored
This serves to handle cases such as PAM asking the user to authenticate to an external device by asking the user to do something with PAM_TEXT_INFO then waiting for the user to do so; we then want to keep PAM's message on the screen until the action happens. Of course, we still do show the processing message if the last action was an entry dialog (e.g. password entry). Also changes on some systems the events on bad password entry: - Before: Password:, Processing..., Invalid Password, Processing... (sleeping 2 seconds) - After: Password:, Processing..., Invalid Password (sleeping 2 seconds) This gives users more time to read the error message.
-
- Aug 21, 2018
-
-
Rudolf Polzer authored
-
- Aug 20, 2018
-
-
Rudolf Polzer authored
Yes, this means auth_pam_x11 may instant time out when the clock is stepped forward by NTP. Trying this out anyway, as: - This should only be an issue if the clock is stepped forward by more than few minutes, as the timeout defaults to 5 minutes. - We also put in a specific counter measure against the clock stepping backwards - when it does, we simply reset the timeout. Advantage: that way, auth_pam_x11 will almost always exit on resuming from suspend state. This is very desirable so we can control visibility of the hostname in a wrapper script.
-
- Aug 16, 2018
-
-
Rudolf Polzer authored
Now that it's 1px smaller from all sides, not only should it not cause unredirecting (and thus unmapping of the COW) anymore - even better, it's forced to be above everything else, so it can even prevent unredirecting in case a full-screen application is running, and thus makes sure that the COW stays alive.
-
- Aug 15, 2018
-
-
Rudolf Polzer authored
-
Rudolf Polzer authored
-
Rudolf Polzer authored
I need it for my Bspwm setup ;)
-
Rudolf Polzer authored
-
Rudolf Polzer authored
- Work around Bspwm issue by explicitly never unmapping Bspwm-owned windows. Also remove incompatibility note about it. - Don't unmap windows owned by this process. - When detecting an xsecurelock-owned window that's not of the same process, disable forcing to prevent harm from the screen already being locked.
-
Rudolf Polzer authored
-
- Aug 11, 2018
-
-
Soumya authored
The option is quite intrusive, and the documentation states "use with care", so I think it makes sense to default it to off.
-
- Aug 10, 2018
-
-
Rudolf Polzer authored
It's now hidden behind a #define that's not enabled by default. It simply shouldn't be necessary unless there are driver bugs, and given auth_pam_x11 draws at low fps it's not very effective at hiding information leaks (like the one we discovered recently involving Cinnamon crashing) anyway. On the other hand it may use quite a lot of CPU power, especially on low-end systems. Effectively reverts 6b1b4f4e.
-
Rudolf Polzer authored
-
- Aug 09, 2018
-
-
Rudolf Polzer authored
-
Rudolf Polzer authored
XSECURELOCK_FORCE_GRAB=1: locate all client windows, hide them, grab, unhide them. Will very likely rearrange them, but otherwise works with most WMs. XSECURELOCK_FORCE_GRAB=2: locate all windows below the root window, hide them, grab, unhide them. Will solve some cases =1 does not, but probably breaks most WMs.
-
Rudolf Polzer authored
When reinstating grabs isn't enabled (it's currently hardcoded on), still do retry every frame if it failed.
-
Rudolf Polzer authored
It's only meant as a fallback in case of compositor misbehavior, and making it smaller adds compatibility with Cinnamon's compositor (Muffin), which will then no longer unredirect in response to xsecurelock starting.
-
- Aug 08, 2018
-
-
Markus Teich authored
-
Rudolf Polzer authored
-
Rudolf Polzer authored
Mitigates possibly visible screen content in case a compositor drew on our window. Note that we're not just using XClearWindow as this would clear more stuff before we're writing, thereby increasing flicker - instead, we clear the area we've not drawn on when we're done drawing.
-
- Aug 07, 2018
-
-
Rudolf Polzer authored
-
Rudolf Polzer authored
Also: - Grab on the root window, not the parent window (fixes losing grabs when the compositor restarts). - Log when raising above another window. - Reorder tests for windows in events in a consistent order (namely inverse creation order).
-
Rudolf Polzer authored
Also, make it white so I can see when it becomes visible (it should never unless something goes wrong).
-
Rudolf Polzer authored
It's meant to guard against compositors giving up compositing and releasing their window, as it'll then ensure there's still _something_ on top of the desktop. This shouldn't be able to do any harm - but nevertheless let's evaluate this properly yet as I have no reproduction case for this problem yet.
-
- Aug 02, 2018
-
-
Markus Teich authored
-
schachmat authored
whoops :/
-
Markus Teich authored
-
- Aug 01, 2018
-
-
Markus Teich authored
-
Markus Teich authored
-
- Jul 11, 2018
-
-
Rudolf Polzer authored
Add direct compatibility to XScreenSaver hacks by passing -root as first argument to all saver children. This now works: XSECURELOCK_SAVER=/usr/lib/xscreensaver/discoball xsecurelock. All our own saver children ignore argv, so this is a compatible change.
-
- Jul 10, 2018
-
-
Rudolf Polzer authored
- It's right next to Ctrl-Alt-L on most standard keyboard layouts (QWERTY, QWERTZ, AZERTY) so easy to use as a double key combo Ctrl-Alt-LO (rather than Ctrl-Alt-LL) to lock and switch. - It prevents accidental double-taps on L from invoking the user switch (annoys some users).
-
Rudolf Polzer authored
- auth_ prefix now applies to the basename, not the entire path. - Absolute paths are allowed too as alternatives to paths within the helpers path. - Savers can now be any binary paths, as long as they do not start with auth_ (i.e. now auth_ is forbidden rather than only saver_ allowed). Fixes #35.
-
- Jun 27, 2018
-
-
Rudolf Polzer authored
Might be useful with large fonts and/or 4k screens.
-
Rudolf Polzer authored
XSECURELOCK_AUTH_TIMEOUT (default: 300): number of seconds to wait for user input on an auth prompt. This actually matches the previous hardcoded setting, but is configurable now. XSECURELOCK_BURNIN_MITIGATION (default: 16): do not always display the auth prompt at the same place, but allow it to be off center by up to the given amount of pixels. Helps when the auth screen times out but reappears for some reason (e.g. a vibrating desk surface moving the mouse). XSECURELOCK_BURNIN_MITIGATION_DYNAMIC (default: off): allow the auth prompt move during a single auth session. Many will find this annoying, but it really should fix (by blurring out) any burn-in effects.
-
- Jun 23, 2018
-
-
Rudolf Polzer authored
-
Rudolf Polzer authored
The subprocess code calls pipe(), dups the pipe fd to 0 and then closes the pipe. However, if fd 0 is unconnected, pipe() may generate fd 0 and wreak havoc. The updated code handles this case: - If the write end is already 0, no dup2 and close needed for it. - If the read end is 0, the dup2 of the write end onto 0 already closed it.
-
Rudolf Polzer authored
- Fix error checking (previous code failed to report errors). - Don't F_SETFD if F_GETFD failed. - Read the environment variable only once.
-
Rudolf Polzer authored
-
Rudolf Polzer authored
Also, reducing the border (amount of extra pixels around the draw area to clear) from 16 to 4 pixels as this should be safe now.
-