[openbox] _NET_WM_STATE_BELOW doesn't work when set by an application

Danny danny.smit.0 at gmail.com
Wed Feb 5 04:42:06 EST 2014


On Tue, Feb 4, 2014 at 5:59 PM, Dana Jansens <danakj at orodu.net> wrote:
> On Tue, Feb 4, 2014 at 6:42 AM, Danny <danny.smit.0 at gmail.com> 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
> openbox at icculus.org
> 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?


More information about the openbox mailing list