diff --git a/ChangeLog b/ChangeLog index c8d0af01c..409344961 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-05-16 Havoc Pennington + + * src/window.c (meta_window_show): don't focus dock, desktop, + etc. windows on initial map, only windows that should have focus. + 2002-05-15 Havoc Pennington * src/workspace.c (meta_workspace_get_neighbor): use the layout diff --git a/src/window.c b/src/window.c index 0a0b16a7a..1f8a1564c 100644 --- a/src/window.c +++ b/src/window.c @@ -1324,8 +1324,23 @@ meta_window_show (MetaWindow *window) /* Always focus new windows in click-to-focus */ if (meta_prefs_get_focus_mode () == META_FOCUS_MODE_CLICK) - meta_window_focus (window, - meta_display_get_current_time (window->display)); + { + switch (window->type) + { + case META_WINDOW_DOCK: + case META_WINDOW_DESKTOP: + case META_WINDOW_UTILITY: + case META_WINDOW_SPLASHSCREEN: + /* don't focus these */ + break; + case META_WINDOW_NORMAL: + case META_WINDOW_DIALOG: + case META_WINDOW_MODAL_DIALOG: + meta_window_focus (window, + meta_display_get_current_time (window->display)); + break; + } + } } if (did_show)