if the root window gets focused, set the focus to the default window; this
2004-10-04 Elijah Newren <newren@math.utah.edu> * src/display.c (event_callback): if the root window gets focused, set the focus to the default window; this fixes the "focus-follows-mouse" behavior seen for click-to-focus mode after cancelling log out (fixes #153220)
This commit is contained in:
parent
70e40c235c
commit
714fb3d539
@ -1,3 +1,10 @@
|
|||||||
|
2004-10-04 Elijah Newren <newren@math.utah.edu>
|
||||||
|
|
||||||
|
* src/display.c (event_callback): if the root window gets focused,
|
||||||
|
set the focus to the default window; this fixes the
|
||||||
|
"focus-follows-mouse" behavior seen for click-to-focus mode after
|
||||||
|
cancelling log out (fixes #153220)
|
||||||
|
|
||||||
2004-10-04 Elijah Newren <newren@math.utah.edu>
|
2004-10-04 Elijah Newren <newren@math.utah.edu>
|
||||||
|
|
||||||
Fix a variety of issues with autoraise (#134206)
|
Fix a variety of issues with autoraise (#134206)
|
||||||
|
@ -1829,6 +1829,9 @@ event_callback (XEvent *event,
|
|||||||
else if (meta_display_screen_for_root (display,
|
else if (meta_display_screen_for_root (display,
|
||||||
event->xany.window) != NULL)
|
event->xany.window) != NULL)
|
||||||
{
|
{
|
||||||
|
MetaScreen * screen;
|
||||||
|
screen = meta_display_screen_for_root (display, event->xany.window);
|
||||||
|
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
"Focus %s event received on root window 0x%lx "
|
"Focus %s event received on root window 0x%lx "
|
||||||
"mode %s detail %s\n",
|
"mode %s detail %s\n",
|
||||||
@ -1842,15 +1845,20 @@ event_callback (XEvent *event,
|
|||||||
if (event->type == FocusIn &&
|
if (event->type == FocusIn &&
|
||||||
event->xfocus.detail == NotifyDetailNone)
|
event->xfocus.detail == NotifyDetailNone)
|
||||||
{
|
{
|
||||||
MetaScreen * screen;
|
|
||||||
screen =
|
|
||||||
meta_display_screen_for_root (display, event->xany.window);
|
|
||||||
|
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
"Focus got set to None, probably due to brain-damage in the X protocol (see bug 125492). Setting the default focus window.\n");
|
"Focus got set to None, probably due to brain-damage in the X protocol (see bug 125492). Setting the default focus window.\n");
|
||||||
|
|
||||||
meta_workspace_focus_default_window (screen->active_workspace, NULL, meta_display_get_current_time_roundtrip (display));
|
meta_workspace_focus_default_window (screen->active_workspace, NULL, meta_display_get_current_time_roundtrip (display));
|
||||||
}
|
}
|
||||||
|
else if (event->type == FocusIn &&
|
||||||
|
event->xfocus.mode == NotifyNormal &&
|
||||||
|
event->xfocus.detail == NotifyInferior)
|
||||||
|
{
|
||||||
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
|
"Focus got set to root window, probably due to gnome-session logout dialog usage (see bug 153220). Setting the default focus window.\n");
|
||||||
|
meta_workspace_focus_default_window (screen->active_workspace, NULL, meta_display_get_current_time_roundtrip (display));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case KeymapNotify:
|
case KeymapNotify:
|
||||||
|
Loading…
Reference in New Issue
Block a user