diff options
author | mathias <mathias> | 2005-04-23 10:03:06 (GMT) |
---|---|---|
committer | mathias <mathias> | 2005-04-23 10:03:06 (GMT) |
commit | 9288ae8eb0791eb52067edf4931f6f01fbcd640c (patch) | |
tree | 85779a282998a6e781a7d74deeac90db8159a986 /src/Workspace.cc | |
parent | efe4ead2144469efc567966304c842fabcc7856e (diff) | |
download | fluxbox_pavel-9288ae8eb0791eb52067edf4931f6f01fbcd640c.zip fluxbox_pavel-9288ae8eb0791eb52067edf4931f6f01fbcd640c.tar.bz2 |
close #956325
Diffstat (limited to 'src/Workspace.cc')
-rw-r--r-- | src/Workspace.cc | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/Workspace.cc b/src/Workspace.cc index bf914fc..4985c39 100644 --- a/src/Workspace.cc +++ b/src/Workspace.cc | |||
@@ -92,9 +92,15 @@ public: | |||
92 | return; | 92 | return; |
93 | FluxboxWindow &win = *m_client.fbwindow(); | 93 | FluxboxWindow &win = *m_client.fbwindow(); |
94 | 94 | ||
95 | win.screen().changeWorkspaceID(win.workspaceNumber()); | 95 | // fetch the window to the current workspace |
96 | win.setCurrentClient(m_client); | 96 | if (button == 2 && win.screen().currentWorkspaceID() != win.workspaceNumber()) { |
97 | win.raiseAndFocus(); | 97 | win.menu().hide(); |
98 | win.screen().sendToWorkspace(win.screen().currentWorkspaceID(), &win, true); | ||
99 | } else { // warp to the workspace of the window | ||
100 | win.screen().changeWorkspaceID(win.workspaceNumber()); | ||
101 | win.setCurrentClient(m_client); | ||
102 | win.raiseAndFocus(); | ||
103 | } | ||
98 | } | 104 | } |
99 | 105 | ||
100 | const std::string &label() const { return m_client.title(); } | 106 | const std::string &label() const { return m_client.title(); } |