<AWT Dev> KDE Task bar is always on top of fullscreen Java applications
gouessej at orange.fr
gouessej at orange.fr
Wed Jun 29 02:38:45 PDT 2011
As you can see there, I have tested in GNOME 2.16.1 and Java behaves correctly in this case, _NET_WM_STATE is set to _NET_WM_STATE_FULLSCREEN whereas even KDE 3.5.4 doesn't. It seems to be a really old KDE bug as Anthony Petrov suggested. You can find my tests with xprop and my testcase of FSEM here at the bottom of this page:
https://bugs.kde.org/show_bug.cgi?id=276159
I will test on a more recent version of KDE & GNOME in about half a day.
> Message du 28/06/11 22:13
> De : "Anthony Petrov"
> A : "Phil Race"
, gouessej at orange.fr
> Copie à : awt-dev at openjdk.java.net
> Objet : Re: KDE Task bar is always on top of fullscreen Java applications
>
> Phil: Ah, right! Haven't used to the new rules yet. Thanks for reminding
> us about that.
>
> Julien: I have a few questions about your patch:
>
> 1. The xprop output that you've attached to the KDE bug report [1]
> indicates that the full screen window is maximized (i.e. using the
> emulated full screen mode rather than the exclusive one). In this case,
> the behavior is correct. But I assume you did try to do the same with
> the exclusive FS mode enabled, didn't you? Could you please provide an
> xprop output in that case, too?
>
> 2. The EWMH specification [2] states that "A Client wishing to change
> the state of a window MUST send a _NET_WM_STATE client message to the
> root window". However, your proposed patch calls XChangeProperty() which
> changes the property manually, and therefore violates the EWMH spec. I
> think that a subsequent XSendEvent() to the root window should be enough
> for our purposes.
>
> 3. The comments at the KDE bug report, as well as the EWMH spec (see the
> "Stacking order" section) suggest that a window with the
> _NET_WM_STATE_FULLSCREEN state should already be above any other windows
> (including the _NET_WM_STATE_ABOVE windows). Also, the specification
> states that the latter state should not be used by applications
> directly. Note that the function X11GD_SetFullscreenMode() which you're
> changing with your patch already sets the _NET_WM_STATE_FULLSCREEN state
> to the full screen window, and, according to the EWMH specification,
> that alone should work fine for full screen windows. So doesn't this
> then seem to be a bug in KDE4 actually?
>
> [1] https://bugs.kde.org/show_bug.cgi?id=276159
>
> [2] http://standards.freedesktop.org/wm-spec/wm-spec-latest.html
>
> --
> best regards,
> Anthony
>
> On 6/28/2011 8:26 PM, Phil Race wrote:
> > Anthony,
> >
> > That looks like a "small patch" so by the recent relaxation of the
> > rules an OCA isn't needed.
> >
> > -phil.
> >
> > On 6/28/2011 5:02 AM, Anthony Petrov wrote:
> >> Hi Julien,
> >>
> >> For your contribution to be acceptable, you have to sign an OCA.
> >> Please refer to this page for details on how to become an OpenJDK
> >> contributor:
> >>
> >> http://openjdk.java.net/contribute/
> >>
> >> --
> >> best regards,
> >> Anthony
> >>
> >> On 6/27/2011 4:03 PM, gouessej at orange.fr wrote:
> >>> Hi!
> >>>
> >>> I think I have found a fix for this bug. On GNOME and on KDE the
> >>> atoms remain unchanged according to xprops but the X client message
> >>> is sent, that is why I call XChangeProperty. On the other hand, only
> >>> a window on top of the stack can become fullscreen, that is why I use
> >>> _NET_WM_STATE_ABOVE. I fear that building OpenJDK requires a lot of
> >>> time. Could someone with a ready environment make a build for me with
> >>> this fix? My "patch" is in the bug report here:
> >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7057287
> >>>
> >>> Best regards
> >>>
> >>> Julien Gouesse
> >>>
> >>>> Message du 23/06/11 14:50
> >>>> De : "Anthony Petrov" A : gouessej at orange.fr
> >>>> Copie à : Objet : Re: KDE Task bar is always on top of fullscreen
> >>>> Java applications
> >>>>
> >>>> Hi,
> >>>>
> >>>> On 06/22/2011 02:28 PM, gouessej at orange.fr wrote:
> >>>>> Yes, that's it. I'm sad because I'm using JOGL AWT canvas called
> >>>>> GLCanvas and this bug impacts my first person shooter. If I knew
> >>>>> better the source code of AWT, I would try to write a patch. I assume
> >>>>> there is a way of detecting the window manager to apply this fix only
> >>>>> in this case, isn't it?
> >>>> This window state is a part of EWMH specification, so there's no
> >>>> need to set it for specific WMs only.
> >>>>
> >>>>
> >>>>> Does AWT currently rely on xrandr or VidMode on Linux? Best regards.
> >>>> I think this question belongs to the 2d-dev at openjdk mailing list.
> >>>> I'm not a Java2D expert. Please ask 2D folks about that.
> >>>>
> >>>> PS. Please remember to use Reply All rather than just Reply so that
> >>>> your message hits the mailing list.
> >>>>
> >>>> --
> >>>> best regards,
> >>>> Anthony
> >>>>
> >>>>>
> >>>>>> Message du 22/06/11 12:11
> >>>>>> De : "Anthony Petrov" A : gouessej at orange.fr
> >>>>>> Copie à : awt-dev at openjdk.java.net
> >>>>>> Objet : Re: KDE Task bar is always on top of fullscreen Java
> >>>>>> applications
> >>>>>>
> >>>>>> Hello,
> >>>>>>
> >>>>>> On 6/22/2011 1:14 PM, gouessej at orange.fr wrote:
> >>>>>>> The exclusive fullscreen mode is broken in KDE for Java
> >>>>>>> applications as I explained here:
> >>>>>>> https://bugs.kde.org/show_bug.cgi?id=276159
> >>>>>>>
> >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7057287
> >>>>>>> (not yet visible)
> >>>>>>>
> >>>>>>> After some investigations, the problem comes from Java which does
> >>>>>>> not
> >>>>>>> tag the window as fullscreen. Do you know how to fix this bug?
> >>>>>> To tag full screen windows with the _NET_WM_STATE_FULLSCREEN
> >>>>>> state? That's easy. :)
> >>>>>>
> >>>>>> Thanks for filing the bug report. AWT team will take care of this
> >>>>>> issue.
> >>>>>>
> >>>>>> --
> >>>>>> best regards,
> >>>>>> Anthony
> >>>>>>
> >
>
More information about the awt-dev
mailing list