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
This commit is contained in:
Havoc Pennington 2002-08-10 04:29:57 +00:00 committed by Havoc Pennington
parent 79857803de
commit 9a72bf1858
2 changed files with 24 additions and 0 deletions

View File

@ -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> 2002-08-09 Havoc Pennington <hp@pobox.com>
* src/keybindings.c (handle_toggle_maximize): disable maximize, * src/keybindings.c (handle_toggle_maximize): disable maximize,

View File

@ -3573,6 +3573,25 @@ meta_window_notify_focus (MetaWindow *window,
event->type != UnmapNotify ? event->type != UnmapNotify ?
meta_event_detail_to_string (event->xfocus.detail) : "n/a"); 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 || if ((event->type == FocusIn ||
event->type == FocusOut) && event->type == FocusOut) &&
(event->xfocus.mode == NotifyGrab || (event->xfocus.mode == NotifyGrab ||