"Havoc Pennington" hp@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.