summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/IconButton.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/IconButton.cc b/src/IconButton.cc
index 9b5c054..0ed516d 100644
--- a/src/IconButton.cc
+++ b/src/IconButton.cc
@@ -76,21 +76,24 @@ public:
76 void execute() { 76 void execute() {
77 if(m_win.isIconic() || !m_win.isFocused()) { 77 if(m_win.isIconic() || !m_win.isFocused()) {
78 switch(m_tool.deiconifyMode()) { 78 switch(m_tool.deiconifyMode()) {
79 case IconbarTool::CURRENT:
80 m_win.screen().sendToWorkspace(m_win.screen().currentWorkspaceID(), &m_win);
81 break;
82 case IconbarTool::FOLLOW: 79 case IconbarTool::FOLLOW:
83 m_win.screen().changeWorkspaceID(m_win.workspaceNumber()); 80 m_win.screen().changeWorkspaceID(m_win.workspaceNumber());
81 m_win.raiseAndFocus();
84 break; 82 break;
85 case IconbarTool::SEMIFOLLOW: 83 case IconbarTool::SEMIFOLLOW:
86 if (m_win.isIconic()) 84 if (m_win.isIconic()) {
87 m_win.screen().sendToWorkspace(m_win.screen().currentWorkspaceID(), &m_win); 85 m_win.screen().sendToWorkspace(m_win.screen().currentWorkspaceID(), &m_win);
88 else 86 } else {
89 m_win.screen().changeWorkspaceID(m_win.workspaceNumber()); 87 m_win.screen().changeWorkspaceID(m_win.workspaceNumber());
88 m_win.raiseAndFocus();
89 }
90 break;
91 case IconbarTool::CURRENT:
92 default:
93 m_win.screen().sendToWorkspace(m_win.screen().currentWorkspaceID(), &m_win);
90 break; 94 break;
91 }; 95 };
92 96
93 m_win.raiseAndFocus();
94 } else 97 } else
95 m_win.iconify(); 98 m_win.iconify();
96 } 99 }