[xmonad] Issue with screenlocker obscured in background after display change

Ethan Schoonover es at ethanschoonover.com
Wed Jan 11 05:38:58 UTC 2017


A consistently reproducible problem involving titlebar decorations &
screenlockers. I would have submitted an issue on github, but I'm not
even sure if this is an XMonad core issue, an X.L.NoFrillsDecoration
issue, a general decoration issue, or what, exactly.

Summary:
-------------------------------------------------------
Screenlocker (tested with various) is obscured by windows after
display change when using a minimal layout with titlebar decorations.

Video demonstrating issue:
-------------------------------------------------------
https://www.youtube.com/watch?v=O3P_VJIZBE0

Environment:
-------------------------------------------------------
Dual monitor (laptop/external), normally used one at a time. I have a
udev rule that triggers a shell script that switches display when
hotplugging/unplugging.

Scenario (as demonstrated in video):
-------------------------------------------------------
1. External monitor active, internal inactive (or vice versa, point
being only one display active)

2. Screen lock using any of several common screen lockers (tested this
issue with: xscreensaver, i3lock, sxlock) is activated while connected
to external display. Hot-unplug of external display triggers udev
xrandr script, internal laptop display is successfully activated.

3. If using layout without titlebar decorations, there is no problem

4 If using X.L.NoFrillsDecoration to make title bar decorations on the
windows, the layout windows are drawn on TOP of the screen locker on
the new display. The screenlocker retains input focus, so it can be
unlocked, but it is obscured by the windows on top of it. (I can see
the screenlocker through the terminals since I'm using transparency,
but if a non transparent window, the screenlocker is completely
obscured).

Dotfiles:
-------------------------------------------------------
Gist of very basic XMonad config I put together to test this.
https://gist.github.com/altercation/1e5150369b4eb6f7caf013550de0bd43


Any ideas on work arounds for this?

-Ethan

Ethan Schoonover
es at ethanschoonover.com
@ethanschoonover
http://ethanschoonover.com
Freenode/Github: altercation


More information about the xmonad mailing list