When compiz is running, the fullscreen preview of gnome-screen-saver doesn't work the first time. The second time it does work. What's going on here is that compiz has it's own "type" for a window that is different from the wmspec's idea. This field determines among other things whether a window can be fullscreened. So what happens is: - Application creates a _NET_WM_TYPE_NORMAL window with a transient parent - compiz decides that the internal type for such a window is 'dialog' because of the transient parent - Application tries to fullscreen window - Compiz denies this, since it doesn't think dialogs should be fullscreened - The next time compiz looks at the window, it sees that it has the FULLSCREEN state set, causing it to decide that the window should have internal type 'Fullscreen' - At this point, fullscreening *is* allowed. Net result: the first time the preview window is shown it won't be fullscreened; the second time it will.
That's pretty bad. That the state is changed even though the fullscreen action isn't allowed must be that the client is setting the fullscreen state before mapping the window and there's a missing call to constrainWindowState when receiving _NET_WM_STATE property changes. It was only constraining the state when getting client messages. So after fixing that, it's at least consistent and never makes the window fullscreen. Second problem is of course that this type of window should be allowed to go fullscreen. Allowing the fullscreen action on all windows with actual _NET_WM_WINDOW_TYPE set to _NET_WM_WINDOW_TYPE_NORMAL seems OK. I've pushed out these changes and it seems to be working OK now. Please give it a try and close the bug if there's no problems with it. Thanks.
Looks like it's working. Thanks.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.