diff options
| author | Sam Spilsbury <sam.spilsbury@canonical.com> | 2011-10-14 17:46:14 +0800 |
|---|---|---|
| committer | Sam Spilsbury <sam.spilsbury@canonical.com> | 2011-10-14 17:46:14 +0800 |
| commit | b0c130b18bbc6c8360e1470c2946f6199be9356e (patch) | |
| tree | a327a055f1c1e7f0d991d969c80c65504398f6b7 | |
| parent | 1052e68b73360d120e402f32a84045790e38c822 (diff) | |
Remove debug message and fix focusing across desktops
(bzr r1719.1.4)
| -rw-r--r-- | plugins/unityshell/src/BamfLauncherIcon.cpp | 1 | ||||
| -rw-r--r-- | plugins/unityshell/src/PluginAdapter.cpp | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/plugins/unityshell/src/BamfLauncherIcon.cpp b/plugins/unityshell/src/BamfLauncherIcon.cpp index 8101ce585..060b9e11b 100644 --- a/plugins/unityshell/src/BamfLauncherIcon.cpp +++ b/plugins/unityshell/src/BamfLauncherIcon.cpp @@ -620,7 +620,6 @@ void BamfLauncherIcon::Focus(ActionArg arg) } else { - printf ("forcing unminimize\n"); WindowManager::Default()->FocusWindowGroup(windows, WindowManager::FocusVisibility::ForceUnminimizeOnCurrentDesktop); } diff --git a/plugins/unityshell/src/PluginAdapter.cpp b/plugins/unityshell/src/PluginAdapter.cpp index f753c16f9..5b2f5e63e 100644 --- a/plugins/unityshell/src/PluginAdapter.cpp +++ b/plugins/unityshell/src/PluginAdapter.cpp @@ -575,6 +575,7 @@ PluginAdapter::FocusWindowGroup(std::vector<Window> window_ids, FocusVisibility CompWindow* top_win = NULL; bool any_on_current = false; bool any_mapped = false; + bool forced_unminimize = false; /* sort the list */ CompWindowList windows; @@ -631,13 +632,16 @@ PluginAdapter::FocusWindowGroup(std::vector<Window> window_ids, FocusVisibility top_win = win; win->unminimize (); + forced_unminimize = true; + /* Initially minimized windows dont get raised */ if (!is_mapped) win->raise (); } else if ((any_mapped && !win->minimized()) || !any_mapped) { - if (WindowManager::Default ()->IsWindowOnCurrentDesktop (win->id ())) + if (!forced_unminimize || + WindowManager::Default ()->IsWindowOnCurrentDesktop (win->id ())) { win->raise(); top_win = win; |
