diff --git a/ChangeLog b/ChangeLog index 6c02f68e2..265cf69e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-08-06 Elijah Newren + + * src/workspace.c (meta_workspace_focus_default_window): prevent + keyboard from "getting locked" upon workspace switch, by making + sure that the no_focus_window has focus if no other window does. + (fixes #147475) + 2004-08-05 Elijah Newren Have newly mapped windows that are denied focus appear after the diff --git a/src/workspace.c b/src/workspace.c index a0c2a11ef..d70109859 100644 --- a/src/workspace.c +++ b/src/workspace.c @@ -799,7 +799,15 @@ meta_workspace_focus_default_window (MetaWorkspace *workspace, else if (meta_prefs_get_focus_mode () == META_FOCUS_MODE_SLOPPY) meta_workspace_focus_mru_window (workspace, not_this_one); else if (meta_prefs_get_focus_mode () == META_FOCUS_MODE_MOUSE) - meta_topic (META_DEBUG_FOCUS, "No mouse window to focus found\n"); + { + meta_topic (META_DEBUG_FOCUS, + "Setting focus to no_focus_window, since no valid " + "window to focus found.\n"); + XSetInputFocus (workspace->screen->display->xdisplay, + workspace->screen->display->no_focus_window, + RevertToPointerRoot, + meta_display_get_current_time (workspace->screen->display)); + } } }