Summary: | Stack notifications above keep above, dock windows | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | sparhawk <kdebugs> |
Component: | core | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | Flags: | thomas.luebking:
Decision-Required+
|
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
xprop > yakuake_xprop # then click on yakuake window
xprop > notification_xprop # then click on notification window |
Description
sparhawk
2012-12-21 04:43:10 UTC
Which desktop environment are you using? also please provide the outputs of "xprop" after clicking yaquake and a notification popup - and your kde version. I've using KDE 4.9.3 (is that the desktop environment?). I've attached the outputs when I run xprop then click on either yakuake or a notification popup. Created attachment 75955 [details]
xprop > yakuake_xprop # then click on yakuake window
Created attachment 75956 [details]
xprop > notification_xprop # then click on notification window
The windows (correctly, according to NETWM, [1]) share a layer (AboveLayer, above DockLayer) ie. you can alter the stacking order between them. This is no bug. We might want to "reinterpret" NETWM once more [2] and rank KeepAbove Docks above KeepAbove Normal windows - yet that might not be ideal as well (the extenders are "special" docks, so this may be not correct for other docks - personally i'd like yakuake on top of things) Other solutions: a) have plasma extenders raise themselves to get upon other KeepAbove windows b) Introduce _KDE_NET_WM_TYPE_OSD (extenders are not input shaped either, but notifications could be) c) make plasma extenders override type (WM bypassing) windows (out of management, on top of the stack, resp. responsible for raising in general) [1] http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#STACKINGORDER [2] actually docks don't belong into the AboveLayer (actually there's no AboveLayer), we moved them there in case they're tagged KeepAbove to support the autohiding panel b) sounds the cleanest to me, c) seems also fine but that would raise them above videos/presentations and that's probably not wanted (especially with chat notifications during presentations ;-) FWIW, I've found a workaround to prevent Yakuake covering notifications. 1. Open Yakuke. 2. Press Alt-F3 to open the window menu. 3. Select "More Actions" and uncheck "Keep Above Others". 4. Create a notification (e.g. `notify-send foo bar`) and watch it appear in front of yakuak. Oddly enough, this checkbox reverts the next time I open Yakuake, but notifications still appear in front of its window. Changing to wishlist as it's actually a feature request. Quite some time passed and it looks to me like we implemented this. Nowadays notifications are in an own dedicated layer which is above the keep above and dock layer. From layers.cpp: Every window has one layer assigned in which it is. There are 7 layers, from bottom : DesktopLayer, BelowLayer, NormalLayer, DockLayer, AboveLayer, NotificationLayer, ActiveLayer and OnScreenDisplayLayer I can confirm the fix. I don't use yakuake any more, but notifications are now above terminator, which is set to "Keep Above Others". Cheers. |