Re: _NET_WM_STATE_BELOW doesn't work when set by an application
Mikael Magnusson <[email protected]>
| Newsgroups | gmane.comp.window-managers.openbox |
|---|---|
| Message-ID | <CAHYJk3QhO1q5EjZDyVjJ2A49yxtXK86i+GOHwyXsrJ8gECGYDQ@mail.gmail.com> |
On 5 February 2014 10:42, Danny <[email protected]> wrote: > On Tue, Feb 4, 2014 at 5:59 PM, Dana Jansens <[email protected]> wrote: >> On Tue, Feb 4, 2014 at 6:42 AM, Danny <[email protected]> wrote: >>> >>> >>> Hello, >>> >>> I'm using the default openbox (on gdm) on CentOS 6.5 and are working on an >>> application (based on Qt 5.1.1) which tries to set one of its windows to the >>> background. The application uses the Qt API to achieve this. This should >>> result in the windows manager flag _NET_WM_STATE_BELOW to be applied to the >>> window. It seems that openbox doesn't react on this window manager flag. >>> >>> To come up with a simple test case, I tried the same with the Qt example >>> "windowsflags". This results in the same behavior, the window doesn't seem >>> to be kept below when the application asks for it. >>> >>> Additionally testing shows that this also aplies to Openbox 1.5.2, which >>> is manually compiled from the sources. >>> >>> Furthermore, when using the openbox configure to set the specific window >>> to the lowest layer, it does seem to work as expected, as long as the >>> application itself doesn't ask to keep the window in the lowest layer. >>> >>> Another weird side effect is that the application is able to keep one >>> window on top. However this doesn't work anymore if the same application >>> also asks to keep another window below. >>> >>> Could this be a bug in openbox? Are there any suggestions how to proceed >>> with this issue? >> >> >> To change the state of a mapped window, a Client MUST send a _NET_WM_STATE >> client message to the root window: >> >> window = the respective client window >> message_type = _NET_WM_STATE >> format = 32 >> data.l[0] = the action, as listed below >> data.l[1] = first property to alter >> data.l[2] = second property to alter >> data.l[3] = source indication >> >> other data.l[] elements = 0 >> >> via http://standards.freedesktop.org/wm-spec/1.3/ar01s05.html >> >> >> >> _______________________________________________ >> openbox mailing list >> [email protected] >> http://icculus.org/mailman/listinfo/openbox >> > > > I noticed the Qt library uses xcb_change_property() calls to update > the windows properties, which seem fine to me and also are working > properly under gnome2. > > Is it correct to assume that if the obxprop command gives the > following result on the window: > > _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN, _NET_WM_STATE_BELOW, > _OB_WM_STATE_UNDECORATED > > The messages are correctly applied and the window is expected to stay > below the others? There is not much ambiguity in "MUST send a _NET_WM_STATE client message to the root window". -- Mikael Magnusson _______________________________________________ openbox mailing list [email protected] http://icculus.org/mailman/listinfo/openbox