[KWin - Dock Question] - How to hide a window from PresentWindows effect?

Martin Graesslin mgraesslin at kde.org
Sun Dec 11 09:23:03 UTC 2016


On Sunday, December 11, 2016 10:11:14 AM CET Michail Vourlakos wrote:
> On 09/12/2016 06:30 μμ, Martin Graesslin wrote:
> > https://cgit.kde.org/plasma-framework.git/tree/src/plasmaquick/dialog.cpp
> > 
> > the property in question is outputOnly. But it looks like that's only
> > using an input shape which might (?) not help you.
> 
> I ll' have a look Martin, thanks a lot again...
> 
> >> If I set :
> >> 
> >> KWindowSystem::setType(m_dockWindow->winId(), NET::Dock);
> >> 
> >> my dock is always on top and I can never lower it below normal
> >> windows..
> > 
> > Well yes, that's the idea of a Dock. Of course it's on top of all
> > windows. If you don't want that, don't use a dock.
> > 
> > On X11 KWin supports windows can cover through having a dock set to keep
> > below. But that won't work on Wayland and thus I heavily recommend
> > against it.
> 
> I want a Dock that lowers itself (becomes "Keep Below") based on
> criteria for example
> only when the Active window or a Maximimzed one is covering the dock.

This needs support from the window manager. You cannot do that from the window 
side, I'm sorry. The stacking order supported by window managers is explained 
in https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#STACKINGORDER

> I
> found
> a workaround for this that in X works great but I dont think it will help in
> wayland.. In X I am setting my dock as Qt::Tool and then I am changing its
> state

You cannot do that! Changing the window type is not supported at runtime. If 
you set it before you just made it no dock at all.

> to "Keep Below" and "Keep Above" when it is needed... In my c++ part I
> have made an
> abstraction in order to support X and wayland differently...
> 
> So Martin, In wayland isnt possible for a window to set itself to "Keep
> Below"?

No, on Wayland a window cannot set itself to keep below. For Plasma windows we 
do that in a more semantic way, e.g. a window says it's a Panel with windows 
can cover.

Cheers
Martin

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20161211/0b08d159/attachment.sig>


More information about the Plasma-devel mailing list