On Monday 13 January 2014 18:46:28 Martin Klapetek wrote: > Hey all, > > following are the notes from the "New OSD in Plasma 2" discussion we had > here at the Plasma sprint. > > The basic idea is that the shell should provide a way for certain apps to > display a short passive transient notification. That includes things like > when user changes brightness, volume, changes the keyboard layout, virtual > desktop or activity and possibly few others. > > This would be handled over DBus with custom QML files doing the rendering. > The flow is as follows: user changes volume - kmix sends a dbus signal - > plasma has a slot handling that signal - plasma loads the QML file for > rendering and puts it on screen with special window class - kwin gives it > extra love cause of the win class.
I had some thought on the "KWin gives it extra love" and how we can identify the window. The preferred way on my side would be a window type and there is one existing type which we might reuse: _NET_WM_WINDOW_TYPE_NOTIFICATION [1]. We have complete support for it in KWin and KWindowsystem as NET::Notification in NET::WindowTypes enum. KWin recognizes the notification and does nothing with it [2]. To be more precise KWin does not support the window type for managed windows, only for override redirect windows. That's easy to change, though. Adding support for it in the PlasmaCore.Dialog should be simple. It already has a WindowType enum which just needs another value for Notification. In KDE software it is used in Krita and Amarok for a notification (in case of Amarok it's the OSD). Other uses I couldn't find on my system. I failed with lxr, maybe someone else is more apt at using that tool ;-) The special love KWin could give the OSD is to put it into an own layer. The recommendation for stacking orders does not contain notifications [3]. The question is where to put it. In my opinion it should be above keep above and dock windows, but I'm unsure whether it should be above active fullscreen windows or below. Personally I'm always annoyed by the screen brightness notification on top of a video. Given that I suggest that we introduce a new layer between keep above and active fullscreen windows. Comments? Cheers Martin [1] http://standards.freedesktop.org/wm-spec/wm-spec-1.4.html#id2560306 [2] Exception: the glide effect excludes notifications from animation [3] http://standards.freedesktop.org/wm-spec/wm-spec-1.4.html#STACKINGORDER
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel