GNOME Bugzilla – Bug 83057
WM spec additions
Last modified: 2011-02-04 16:11:17 UTC
(I don't think this is in bugzilla yet) See http://mail.gnome.org/archives/gtk-devel-list/2002-May/msg00079.html The patch there needs a bit of work, in particular it could benefit from the knowledge that GdkWindowImplX11 is already private so no private object is needed.
Created attachment 11222 [details] [review] Updated patch for cvs HEAD
What's the justification for having window manager name tracking? Why is this useful except for the window manager capplet? Window manager bug workarounds? <shudder> + /* This sure is a sucky place to emit a signal */ + _gdk_x11_screen_window_manager_changed (GDK_SCREEN (screen_x11)); We emit various other signals from event_translate() ... so, this comments probably could be omitted. if (old_wmcheck_window != screen_x11->wmspec_check_window) { I believe this logic no longer function correctly, since screen_x11->wmspec_check_window gets set from calls not from this function. (see gdk_x11_screen_get_window_manager_name) I dislike the: On X11 .... On Windows .... Style of documentation -- if the function is public API, then it has a windowing system independent "abstract" function that should be the primary documentation. Windowing system specific notes can be added but they shouldn't be the documentation. * On Windows, this function is not yet documented. FIXME. Do you mean to say "not yet implemented"? Even if you meant documented I don't think we should have FIXME's in the docs, it will just confuse readers. (Doc bugs should be filed as doc bugs.) Presumably, the function does the same thing on Windows... Could you follow the same pattern for GtkWindowPrivate as for the other private structures? (See, e.g., gtkmenu.c) Also, a separate typedef is GTK+ standard.
window_manager_changed is needed if you're using gdk_net_wm_supports(), as you need to re-check WM capabilities if the WM changes. The actual name of the WM is only useful to something like a WM capplet, yes, or the various capplets with WM-specific backends such as the key shortcut or theme capplets.
Created attachment 11232 [details] [review] revised patch
Should be OK to commit, though I'm still not delighted by the "On X11," docs changes, and I wonder if we should try to save the get-the-window-manager name round trip until the function is called, considering how entirely non-useful a piece of information it is.
Created attachment 11261 [details] [review] final patch
Committed. I played with the docs somewhat (mopped up maximize in addition to fullscreen) but don't really get what you mean, to me they are now generic docs followed by window system notes as requested. Prior to this patch they are blatantly X11-specific and don't even say they are X11 specific. WM name also fixed to be gotten lazily.
I was looking at unstick and unmaximize in particular, which you seem to have fixed now.