aboutsummaryrefslogtreecommitdiff
path: root/src/Ewmh.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ewmh.cc')
-rw-r--r--src/Ewmh.cc26
1 files changed, 2 insertions, 24 deletions
diff --git a/src/Ewmh.cc b/src/Ewmh.cc
index ea73807..019751f 100644
--- a/src/Ewmh.cc
+++ b/src/Ewmh.cc
@@ -783,31 +783,9 @@ bool Ewmh::checkClientMessage(const XClientMessageEvent &ce,
783 // ce.window = window to focus 783 // ce.window = window to focus
784 784
785 if (winclient->fbwindow()) { 785 if (winclient->fbwindow()) {
786 786 winclient->focus();
787 FluxboxWindow* fbwin = winclient->fbwindow(); 787 winclient->fbwindow()->raise();
788
789 // if the raised window is on a different workspace
790 // we do what the user wish:
791 // either ignore|go to that workspace|get the window
792 if (fbwin->screen().currentWorkspaceID() != fbwin->workspaceNumber()
793 && !fbwin->isStuck()) {
794 BScreen::FollowModel model = (ce.data.l[0] == 2) ?
795 fbwin->screen().getUserFollowModel() :
796 fbwin->screen().getFollowModel();
797 if (model == BScreen::FOLLOW_ACTIVE_WINDOW) {
798 fbwin->screen().changeWorkspaceID(fbwin->workspaceNumber());
799 } else if (model == BScreen::FETCH_ACTIVE_WINDOW) {
800 fbwin->screen().sendToWorkspace(fbwin->screen().currentWorkspaceID(), fbwin);
801 } else if (model == BScreen::SEMIFOLLOW_ACTIVE_WINDOW) {
802 if (fbwin->isIconic())
803 fbwin->screen().sendToWorkspace(fbwin->screen().currentWorkspaceID(), fbwin);
804 else
805 fbwin->screen().changeWorkspaceID(fbwin->workspaceNumber());
806 } // else we ignore it. my favourite mode :)
807 }
808 fbwin->raise();
809 } 788 }
810 winclient->focus();
811 return true; 789 return true;
812 } else if (ce.message_type == m_net_close_window) { 790 } else if (ce.message_type == m_net_close_window) {
813 if (winclient == 0) 791 if (winclient == 0)