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