diff options
author | Havoc Pennington <hp@pobox.com> | 2002-08-10 04:29:57 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2002-08-10 04:29:57 +0000 |
commit | 9a72bf18586c3d8074be3e357fbee8735af15e02 (patch) | |
tree | e593fdb2f02f25f1e5c334ef916d65f2b0d61878 | |
parent | 79857803dec50511bcfd83cb247500c0771a182c (diff) | |
download | metacity-9a72bf18586c3d8074be3e357fbee8735af15e02.tar.gz |
add a FIXME comment with a link to bug #90382
2002-08-10 Havoc Pennington <hp@pobox.com>
* src/window.c (meta_window_notify_focus): add a FIXME comment
with a link to bug #90382
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/window.c | 19 |
2 files changed, 24 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2002-08-10 Havoc Pennington <hp@pobox.com> + + * src/window.c (meta_window_notify_focus): add a FIXME comment + with a link to bug #90382 + 2002-08-09 Havoc Pennington <hp@pobox.com> * src/keybindings.c (handle_toggle_maximize): disable maximize, diff --git a/src/window.c b/src/window.c index aedcfcb1..39402600 100644 --- a/src/window.c +++ b/src/window.c @@ -3572,6 +3572,25 @@ meta_window_notify_focus (MetaWindow *window, meta_event_mode_to_string (event->xfocus.mode) : "n/a", event->type != UnmapNotify ? meta_event_detail_to_string (event->xfocus.detail) : "n/a"); + + /* FIXME our pointer tracking is broken; see how + * gtk+/gdk/x11/gdkevents-x11.c or XFree86/xc/programs/xterm/misc.c + * handle it for the correct way. In brief you need to track + * pointer focus and regular focus, and handle EnterNotify in + * PointerRoot mode with no window manager. However as noted above, + * accurate focus tracking will break things because we want to keep + * windows "focused" when using keybindings on them, and also we + * sometimes "focus" a window by focusing its frame or + * no_focus_window; so this all needs rethinking massively. + * + * My suggestion is to change it so that we clearly separate + * actual keyboard focus tracking using the xterm algorithm, + * and metacity's "pretend" focus window, and go through all + * the code and decide which one should be used in each place; + * a hard bit is deciding on a policy for that. + * + * http://bugzilla.gnome.org/show_bug.cgi?id=90382 + */ if ((event->type == FocusIn || event->type == FocusOut) && |