Bug 312020 - Stack notifications above keep above, dock windows
Summary: Stack notifications above keep above, dock windows
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: core (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-21 04:43 UTC by sparhawk
Modified: 2016-11-03 23:31 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
thomas.luebking: Decision-Required+


Attachments
xprop > yakuake_xprop # then click on yakuake window (34.05 KB, text/plain)
2012-12-21 10:07 UTC, sparhawk
Details
xprop > notification_xprop # then click on notification window (1.71 KB, text/plain)
2012-12-21 10:07 UTC, sparhawk
Details

Note You need to log in before you can comment on or make changes to this bug.
Description sparhawk 2012-12-21 04:43:10 UTC
When yakuake is open, it covers notifications in KDE. Ideally, notifications should pop up over yakuake.

Reproducible: Always

Steps to Reproduce:
1. Ensure that the notification area is in the same part of the screen as yakuake.
2. Open yakuake.
3. Trigger a notification (e.g. `notify-send title body`)
Actual Results:  
You cannot see the notification popup.

Expected Results:  
The notification should popup over the yakuake window.
Comment 1 Martin Flöser 2012-12-21 07:27:21 UTC
Which desktop environment are you using?
Comment 2 Thomas Lübking 2012-12-21 09:18:01 UTC
also please provide the outputs of "xprop" after clicking yaquake and a notification popup - and your kde version.
Comment 3 sparhawk 2012-12-21 10:06:38 UTC
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.
Comment 4 sparhawk 2012-12-21 10:07:24 UTC
Created attachment 75955 [details]
xprop > yakuake_xprop # then click on yakuake window
Comment 5 sparhawk 2012-12-21 10:07:52 UTC
Created attachment 75956 [details]
xprop > notification_xprop # then click on notification window
Comment 6 Thomas Lübking 2012-12-21 22:01:41 UTC
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
Comment 7 Martin Flöser 2012-12-29 08:01:42 UTC
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 ;-)
Comment 8 sparhawk 2013-01-04 02:51:07 UTC
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.
Comment 9 Martin Flöser 2013-01-07 16:52:14 UTC
Changing to wishlist as it's actually a feature request.
Comment 10 Martin Flöser 2016-11-03 12:33:30 UTC
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
Comment 11 sparhawk 2016-11-03 23:31:10 UTC
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.