Notes from "New OSD in Plasma 2"

Thomas Lübking thomas.luebking at gmail.com
Sat Jan 18 14:55:31 UTC 2014


On Samstag, 18. Januar 2014 13:34:49 CEST, Martin Graesslin wrote:

> Show it on all screens. That is create one OSD per screen. If that's not 
> wanted I'd say we use what KWin considers the "active" screen. And we could 
> take care of moving it there. (Active screen is depending on 
> config option the 
> screen with the active window or the screen which has the mouse).

Plasma-desktop could need the "active" screen to be exported anyway (taskbar needs to know whether a window can raise - see bug #246838)

KWin cannot take care of moving it if plasma determines the position, but i think that the client requesting the OSD should determine the preferred/requried screen (see brightness example for why) and KWin the position.
KWin can then avoid window collisions (as is now, in "smart", maybe with a center preference) and esp. fullscreen windows in the multiscreen case (if the OSD doesn't care), resp. we can allow a particular placing for OSDs (what could more or less be a simplified config for a window rule on screen/placing/position)
"Smart" placement is typically not a client job.

Most important (from client side) about this window type should be fully input shaped ("output only") and denying input focus (latter "faking" override_redirect)
We cannot enforce either from KWin's side if we're re-using an existing type.

Reg. the layer & fullscreen windows, we're more or less in the same dilemma as with "should this FS window unredirect?", ie. "when does what message is just annoying", ie. if one changes the screen brightness or the volume, one would likely not want to be informed about that while playing a video or game, while in the "chromebook" case (FS browser as sub-OS) the fullscreen state is completely irrelevant in this regard.
IOW: we need better information of the nature of a fullscreen window.


OT about flash: minitube.

Cheers,
Thomas


More information about the Plasma-devel mailing list