wine's fullscreen code has no effect on metacity

Dmitry Timoshkov dmitry at codeweavers.com
Thu Jul 6 21:24:45 CDT 2006


"Havoc Pennington" <hp at redhat.com> wrote:

> Look at src/window.c:recalc_window_features() for possible reasons 
> metacity decided to disable fullscreenability.
> 
> In this case it looks pretty clear though - the firefox window isn't 
> resizable, metacity disables fullscreen in that case unless the window 
> size is equal to the screen size and the window is not decorated.
> 
> It looks like 1280x1024 could be your screen size, so my guess is that 
> the window has a frame on it.
> 
> I don't really know why the !window->decorated is in the check in 
> recalc_window_features but Elijah may well.
> 
> This would explain why wine fullscreening works sometimes, it probably 
> works when the window is a) full screen size and b) also disables the 
> window decorations.
> 
> Fullscreen mode would remove the decorations anyhow though, is why I 
> don't know why metacity checks this.

>From http://standards.freedesktop.org/wm-spec/1.3/ar01s05.html

"_NET_WM_STATE_FULLSCREEN indicates that the window should fill the entire screen
and have no window decorations. Additionally the Window Manager is responsible for
restoring the original geometry after a switch from fullscreen back to normal window."

As I understand the above quote it's the WM's responsibility on application's
request to remove window decorations and resize a window to fill the screen,
then restore its previous state when switching from a fullscreen state.

So, all the checks metacity does for window decorations and window size are
contradicting the spec IMO.

Also the fact that a window isn't resizeable means only that it's not supposed
to be resizeable by a user, still allowing to resize it programmatically.

-- 
Dmitry.



More information about the wine-devel mailing list