qtile: Windows spawned after certain screen lockers wrongly drawn on top
When I lock my screen with xscreensaver-command -lock and then send myself a notification, the notification will appear over the locked screen.
Note that I do not use the notification factilities provided with qtile but run my own notification daemon from ~/.xsession (xfce4-notifyd being started on demand by notify-send).
xscreensaver-command -lock; sleep 3; notify-send Hullo 'I am on top'
This is also true for notifications from chromium, and might pose a mild security issue because of potential sensitive contents (i.e. from google mail), depending on user setup.
I’ve verified that the notification windows are not override-redirect windows (if they were, it appears that the only fix would be to stop using those programs, as the window manager can’t do anything about them).
We’ve discussed this on irc before:
12:32 TauPan > Hm, I just noticed that I'm affected by this: http://www.jwz.org/xscreensaver/faq.html#popup-windows
12:48 TauPan > I've just checked, and the chrome notifications that appear over xscreensaver are *not* override-redirect windows, just _NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_TASKBAR,
_NET_WM_STATE_ABOVE
12:49 TauPan > So the fix proposed by jwz to map windows with XRestackWindows instead of XRaiseWindow might apply here.
12:49 TauPan > (but I didn't inspect qtile code yet.)
[...]
17:32 tych0@> TauPan: interesting, i didn't see either in our code, actually
[...]
09:42 TauPan > tych0: you mean, xtile uses neither XRestackWindows nor XRaiseWindow (or whatever their equivalents in xcb are)?
[...]
18:01 tych0@> TauPan: well, we don't call their xcb equivalents, we might stack the windows differently, though
18:01 tych0@> now that i think abou tit, we probably do
[...]
09:29 TauPan > tych0: it's easy to reproduce for me... I lock my screen with xscreensaver and then send myself a notification via Android: Do Button -> Pushbullet and the notification
will appear on top of the screensaver. It's probably even easier with xscreensaver-command -lock; sleep 3; notify-send Hullo 'I am on top'
09:30 TauPan > tych0: That works... I just verified it.
09:30 TauPan > tych0: (note that I do not use qtiles notification widget but run xfce4-notifyd
09:30 TauPan > )
[...]
16:50 tych0@> TauPan: yeah, i don't doubt that it's a bug :)
16:50 tych0@> TauPan: do you mind filing it?
16:52 TauPan > tych0: no problem, sorry, I was just lazy... will file it tomorrow
About this issue
- Original URL
- State: closed
- Created 9 years ago
- Reactions: 1
- Comments: 21 (15 by maintainers)
Commits related to this issue
- First steps towards adding z-layering to windows within a group. TODO: 1. Flickering due to lots of redraws. 2. Testing #415. 3. Working on #676. Seems to fix: #1260 — committed to tcld/qtile by tcld 4 years ago
- First steps towards adding z-layering to windows within a group. TODO: 1. Flickering due to lots of redraws. 2. Testing #415. 3. Working on #676. Seems to fix: #1260 — committed to tcld/qtile by tcld 4 years ago
- First steps towards adding z-layering to windows within a group. TODO: 1. Flickering due to lots of redraws. 2. Testing #415. 3. Working on #676. Seems to fix: #1260 — committed to tcld/qtile by tcld 4 years ago
- First steps towards adding z-layering to windows within a group. TODO: 1. Flickering due to lots of redraws. 2. Testing #415. 3. Working on #676. Seems to fix: #1260 — committed to tcld/qtile by tcld 4 years ago
- Avoid covering unmanaged windows after restarts This does not solve #676, it merely avoids a regression. — committed to tcld/qtile by tcld 4 years ago
- Avoid covering unmanaged windows after restarts This does not solve #676, it merely avoids a regression. — committed to tcld/qtile by tcld 4 years ago
- Handle z-axis in Qtile-object This is a reimplementation of #2029 based on the work of @senthilbaboo in #2144. Popup-class is still allowed to directly raise itself via `configure()`, the assumption ... — committed to tcld/qtile by tcld 3 years ago
- Handle z-axis in Qtile-object This is a reimplementation of #2029 based on the work of @senthilbaboo in #2144. Popup-class is still allowed to directly raise itself via `configure()`, the assumption ... — committed to tcld/qtile by tcld 3 years ago
- Handle z-axis in Qtile-object This is a reimplementation of #2029 based on the work of @senthilbaboo in #2144. Popup-class is still allowed to directly raise itself via `configure()`, the assumption ... — committed to tcld/qtile by tcld 3 years ago
- Handle z-axis in Qtile-object This is a reimplementation of #2029 based on the work of @senthilbaboo in #2144. Popup-class is still allowed to directly raise itself via `configure()`, the assumption ... — committed to tcld/qtile by tcld 3 years ago
- Handle z-axis in Qtile-object This is a reimplementation of #2029 based on the work of @senthilbaboo in #2144. Popup-class is still allowed to directly raise itself via `configure()`, the assumption ... — committed to tcld/qtile by tcld 3 years ago
- Handle z-axis in Qtile-object This is a reimplementation of #2029 based on the work of @senthilbaboo in #2144. Popup-class is still allowed to directly raise itself via `configure()`, the assumption ... — committed to tcld/qtile by tcld 3 years ago
- Handle z-axis in Qtile-object This is a reimplementation of #2029 based on the work of @senthilbaboo in #2144. Popup-class is still allowed to directly raise itself via `configure()`, the assumption ... — committed to tcld/qtile by tcld 3 years ago
- Handle z-axis in Qtile-object This is a reimplementation of #2029 based on the work of @senthilbaboo in #2144. Popup-class is still allowed to directly raise itself via `configure()`, the assumption ... — committed to tcld/qtile by tcld 3 years ago
- Implement `core.manager.change_layer()` Fixes #676. — committed to tcld/qtile by tcld 3 years ago
- Implement `core.manager.change_layer()` Fixes #676. — committed to tcld/qtile by tcld 3 years ago
- Implement `core.manager.change_layer()` Fixes #676. — committed to tcld/qtile by tcld 3 years ago
- Implement `core.manager.change_layer()` Fixes #676. — committed to tcld/qtile by tcld 3 years ago
- Implement `core.manager.change_layer()` Fixes #676. — committed to tcld/qtile by tcld 3 years ago
- Implement `core.manager.change_layer()` Fixes #676. — committed to tcld/qtile by tcld 3 years ago
Fixed by #3409