summaryrefslogtreecommitdiff
diff options
authorSam Spilsbury <sam.spilsbury@canonical.com>2011-10-14 17:46:14 +0800
committerSam Spilsbury <sam.spilsbury@canonical.com>2011-10-14 17:46:14 +0800
commitb0c130b18bbc6c8360e1470c2946f6199be9356e (patch)
treea327a055f1c1e7f0d991d969c80c65504398f6b7
parent1052e68b73360d120e402f32a84045790e38c822 (diff)
Remove debug message and fix focusing across desktops
(bzr r1719.1.4)
-rw-r--r--plugins/unityshell/src/BamfLauncherIcon.cpp1
-rw-r--r--plugins/unityshell/src/PluginAdapter.cpp6
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;