GNOME Bugzilla – Bug 120701
Metacity 2.5.3 way of handling fullscreen video windows is broken
Last modified: 2009-08-15 18:40:50 UTC
I have metacity 2.5.3, xine and Mplayer (versions irrelevant) installed in the same system. Since upgrade from metacity 2.5.2 it became difficult to watch any video titles. The issues are related: 1) It is impossible to control video playback in xine because the WM fails to place pull-down menu (righ-click) or the video control bar (middle-click) of xine-ui above the video window when requested. As soon as I switch the video output window to fullscreen there is no way to make the playback controls visible again. 2) Analogous issues plague Mplayer. Fullsreen mode does not work because the upper panel still hovers above the fullscreen window. The lower panel sits below as expected though. Downgrading to metacity 2.5.2 solves the problem completely. Please, make future versions work as 2.5.2 in this respect again.
Code went in on 08/14 to fix issues with constraints for "pretend" fullscreen windows like mplayer. This would fix your perceived problem that the top panel show up above the full screen window. The xine menus I guess must have been broken by: * src/stack.c (get_standalone_layer): a window should be in the fullscreen layer if it or any of its transient descendants are focused or expecting the focus and it is either fullscreen or fullscreen sized. Fix for #104369. But I suspect that the real problem is something else and it was only revealed to be an issue by this code. Can't say more without looking at it in more detail. Regardless, this will, unfortunately, not be fixed in time for Gnome 2.6, since hard code freeze starts today. The permanent solution is for xine to simply support the standard EWMH hints. Setting high priority.
Which problems still remain with 2.6.1?
Well, I've been playing with mplayer + metacity 2.6.1 today and here is my "report" : mplayer 0.91 wrongly (in my opinion) sets _NET_WM_STATE_ABOVE for fullscreen window, instead of using _NET_WM_STATE_FULLSCREEN (which it supports, go figure...). With this behaviour, mplayer fullscreen window is truncated (only 2/3 of its height is correctly displayed) on initial creation and after doing a normal window/fullscreen switch, fullscreen window is correctly display, except for panel which is above it (but I'm not sure it is wrong, since mplayer doesn't use _NET_WM_STATE_FULLSCREEN). After patching mplayer to prefer _NET_WM_STATE_FULLSCREEN when it is available, I get almost correct fullscreen mode but on initial window creation but its get resized to let panel be displayed :from metacity log, it is constrainted to 1280x990 (screen is 1280x1024).
mplayer should work correctly with the patch on Bug 123838. I've investigated Xine's fullscreen mode and the problem is that it sets the fullscreen hint on itself but a WM_TYPE_NORMAL hint on the menu. Xine should be fixed to set _NET_WM_WINDOW_TYPE_MENU instead of NORMAL. According to a comment in stack.c: /* We can only do promotion-due-to-group for dialogs and other * transients, or weird stuff happens like the desktop window and * nautilus windows getting in the same layer, or all gnome-terminal * windows getting in fullscreen layer if any terminal is * fullscreen. */
Reopening : patch from bug 123838 doesn't fix mplayer fullscreen mode at all..
works for me, even without the patch. What problem exactly are you having?
when not using mplayer patch (or when running mplayer without -fstype fullscreen), mplayer fullscreen window is not fullscreen, it is only 2/3 of its height. when using patched mplayer (or with -fstype fullscreen flags), it is fullscreen BUT gnome-panel is still on top of it, when using "click to focus" style, because metacity doesn't seem to push it on top of stack (but mplayer have keyboard focus..). This is with mplayer 0.91.
OK, it sounds like somehow the fullscreen heuristic is breaking on your system. Does your patched mplayer that sets _FULLSCREEN instead of _ABOVE work? That would narrow it down to the heuristic being the problem. Also, what is your desktop configuration? (panel positions, screen resolutions and positions, xinerama configuration if any, etc).
the fact that the window was randomly filling like 2/3 of the screen is now fixed in CVS. Hopefully we can work out what's going wrong with the fullscreen heuristic before the Gnome 2.4.1 release. Be sure to post your X config information ASAP
Hmm, latest constraint fixes don't fix mplayer not beeing fullscreen when it uses _NET_WM_STATE_ABOVE. (I've just tested HEAD cvs) when mplayer is using -fstype fullscreen (which is equivalent to use a patched mplayer), there is : 1 panel on bottom of screen (I also have the same problem when using standard GNOME layout with two panels, which are not hidden by mplayer fullscreen) no xinerama click to focus style 1280x1024 16bpp
I can't for the life of me get mplayer's fullscreen mode to not work. I've tried putting panels all over the place, and it always goes fullscreen for me. I've tried switching to sloppy or click to focus mode. I've tried passing -fstype fullscreen and not. I've tried activating fullscreen either on the command line or using the "f" keyboard shortcut. Invariably, mplayer is displayed correctly fullscreen, above the panels.
Hmm, I've updated metacity to latest gnome 2.4 branch and I can't get anymore problem with mplayer.. I suggest we close this bug now..
done and done. Thanks for the report.