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.
Havoc
Vincent Povirk wrote:
Looking through the code made me notice the meta_verbose function and then the METACITY_VERBOSE environment variable. I set that and logged an attempt to fullscreen and then unfullscreen firefox. I can send the whole log if it might be helpful, but here's what stood out for me.
Before firefox attempts to set the fullscreen hint, I see this:
GEOMETRY: Updating WM_NORMAL_HINTS for 0x2e00010 (Mozilla Fi) GEOMETRY: Window 0x2e00010 (Mozilla Fi) sets min size 1280 x 1024 GEOMETRY: Window 0x2e00010 (Mozilla Fi) sets max size 1280 x 1024 GEOMETRY: Window 0x2e00010 (Mozilla Fi) sets gravity 10 WINDOW_OPS: Window 0x2e00010 (Mozilla Fi) fullscreen = 0 not resizable, maximizable = 0 fullscreenable = 0 min size 1280x1024 max size 1280x1024 WINDOW_OPS: Window 0x2e00010 (Mozilla Fi) decorated = 1 border_only = 0 has_close = 1 has_minimize = 1 has_maximize = 0 has_move = 1 has_shade = 1 skip_taskbar = 0 skip_pager = 0