Problems with NET_WM_STATE_FULLSCREEN
Olivier Fourdan
fourdan at xfce.org
Sat Oct 4 18:07:41 CEST 2003
Hi,
Ok, reading the comment in the patch, I think to ignore the request,
it's better to clean up CWWidth and CWHeight flags, something like:
[...]
1047 clientCoordGravitate (c, APPLY, &wc.x, &wc.y);
1048 /* Clean up buggy requests that set all flags */
1049 if (CLIENT_FLAG_TEST (c, CLIENT_FLAG_FULLSCREEN))
1050 {
1051 /* Ignore requested size for FULLSCREEN windows */
1052 ev->value_mask &= ~(CWWidth | CWHeight);
1053 }
[...]
Please tell me if that make any difference. If not, I would prefer using
this (as it doesn't break anything, it doesn't interefere with the
values passed by the request, it simply ignore them)
Cheers,
Olivier.
On Sat, 2003-10-04 at 17:58, Olivier Fourdan wrote:
> Hi Arwed,
>
> Reviewing the second patch (ignore-request-size.patch), I noticed it is
> not Xinerama aware. Is that on purpose?
>
> I mean, an application switching to fullscreen should not be splitted
> accross all physical screens IMO. But I don't know how gst would handle
> that. Is it Xinerama aware?
>
> I'll see if I can improve that one.
>
> Cheers,
> Olivier.
>
> On Sat, 2003-10-04 at 12:23, Arwed von Merkatz wrote:
> > Hi,
> >
> > i found two problems with the handling of NET_WM_STATE_FULLSCREEN
> > windows in xfwm4 4.0.0, both exposed by gst-player (www.gstreamer.net).
> >
> > 1. when going fullscreen, gst-player relies on the
> > NET_WM_STATE_FULLSCREEN flag being set when it receives a configure
> > event to determine whether it should show its menu bar or not. XFwm4
> > sets the state after sending the configure event, so gst-players menu
> > bar is still shown in fullscreen mode. The attached set-state.patch
> > fixes this, i don't think that could lead to negative side effects (i
> > haven't noticed any :)
> >
> > 2. when starting to play a video in fullscreen mode, gst-player creates
> > a new xvideo window and reparents that into the existing window. Doing
> > this it requests a minimum size for the window and expects to get the
> > full screen size allocated (it doesn't know about the size of the full
> > screen, so it can't request it). The attached ignore-request-size.patch
> > fixes this by ignoring the requested size for windows that have the
> > FULLSCREEN flag set, allocating them the whole screen size. I used the
> > MyDisplayFullWidth and MyDisplayFullHeight functions there, which works
> > fine here, but do those work for xinerama setups?
--
Olivier Fourdan - fourdan at xfce.org
Interoperability is the keyword, uniformity is a dead end.
http://www.xfce.org
More information about the Xfce4-dev
mailing list