diff options
Diffstat (limited to 'src/IconButton.cc')
-rw-r--r-- | src/IconButton.cc | 15 |
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 | } |