summaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc67
1 files changed, 37 insertions, 30 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 6cc3af9..9ba0f59 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -22,18 +22,10 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Window.cc,v 1.258 2003/12/30 20:56:40 fluxgen Exp $ 25// $Id: Window.cc,v 1.259 2003/12/31 00:36:16 fluxgen Exp $
26 26
27#include "Window.hh" 27#include "Window.hh"
28 28
29
30#include "FbTk/StringUtil.hh"
31#include "FbTk/TextButton.hh"
32#include "FbTk/Compose.hh"
33#include "FbTk/EventManager.hh"
34#include "FbTk/MultiButtonMenuItem.hh"
35
36
37#include "WinClient.hh" 29#include "WinClient.hh"
38#include "I18n.hh" 30#include "I18n.hh"
39#include "fluxbox.hh" 31#include "fluxbox.hh"
@@ -49,6 +41,13 @@
49#include "WinButtonTheme.hh" 41#include "WinButtonTheme.hh"
50#include "SendToMenu.hh" 42#include "SendToMenu.hh"
51 43
44#include "FbTk/StringUtil.hh"
45#include "FbTk/TextButton.hh"
46#include "FbTk/Compose.hh"
47#include "FbTk/EventManager.hh"
48#include "FbTk/MultiButtonMenuItem.hh"
49#include "FbTk/KeyUtil.hh"
50
52#ifdef HAVE_CONFIG_H 51#ifdef HAVE_CONFIG_H
53#include "config.h" 52#include "config.h"
54#endif // HAVE_CONFIG_H 53#endif // HAVE_CONFIG_H
@@ -77,39 +76,46 @@ namespace {
77 76
78void grabButton(Display *display, unsigned int button, 77void grabButton(Display *display, unsigned int button,
79 Window window, Cursor cursor) { 78 Window window, Cursor cursor) {
79
80 const int numlock = FbTk::KeyUtil::instance().numlock();
81 const int capslock = FbTk::KeyUtil::instance().capslock();
82 const int scrolllock = FbTk::KeyUtil::instance().scrolllock();
83
84 // Grab with Mod1 and with all lock modifiers
85 // (num, scroll and caps)
80 86
81 //numlock 87 //numlock
82 XGrabButton(display, button, Mod1Mask|Mod2Mask, window, True, 88 XGrabButton(display, button, Mod1Mask|numlock, window, True,
83 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync, 89 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync,
84 GrabModeAsync, None, cursor); 90 GrabModeAsync, None, cursor);
85 //scrolllock 91 //scrolllock
86 XGrabButton(display, button, Mod1Mask|Mod5Mask, window, True, 92 XGrabButton(display, button, Mod1Mask|scrolllock, window, True,
87 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync, 93 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync,
88 GrabModeAsync, None, cursor); 94 GrabModeAsync, None, cursor);
89 95
90 //capslock 96 //capslock
91 XGrabButton(display, button, Mod1Mask|LockMask, window, True, 97 XGrabButton(display, button, Mod1Mask|capslock, window, True,
92 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync, 98 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync,
93 GrabModeAsync, None, cursor); 99 GrabModeAsync, None, cursor);
94 100
95 //capslock+numlock 101 //capslock+numlock
96 XGrabButton(display, Button1, Mod1Mask|LockMask|Mod2Mask, window, True, 102 XGrabButton(display, Button1, Mod1Mask|capslock|numlock, window, True,
97 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync, 103 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync,
98 GrabModeAsync, None, cursor); 104 GrabModeAsync, None, cursor);
99 105
100 //capslock+scrolllock 106 //capslock+scrolllock
101 XGrabButton(display, button, Mod1Mask|LockMask|Mod5Mask, window, True, 107 XGrabButton(display, button, Mod1Mask|capslock|scrolllock, window, True,
102 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync, 108 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync,
103 GrabModeAsync, None, cursor); 109 GrabModeAsync, None, cursor);
104 110
105 //capslock+numlock+scrolllock 111 //capslock+numlock+scrolllock
106 XGrabButton(display, button, Mod1Mask|LockMask|Mod2Mask|Mod5Mask, window, 112 XGrabButton(display, button, Mod1Mask|capslock|numlock|scrolllock, window,
107 True, 113 True,
108 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync, 114 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync,
109 GrabModeAsync, None, cursor); 115 GrabModeAsync, None, cursor);
110 116
111 //numlock+scrollLock 117 //numlock+scrollLock
112 XGrabButton(display, button, Mod1Mask|Mod2Mask|Mod5Mask, window, True, 118 XGrabButton(display, button, Mod1Mask|numlock|scrolllock, window, True,
113 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync, 119 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync,
114 GrabModeAsync, None, cursor); 120 GrabModeAsync, None, cursor);
115 121
@@ -940,23 +946,24 @@ void FluxboxWindow::grabButtons() {
940 GrabModeSync, GrabModeSync, None, None); 946 GrabModeSync, GrabModeSync, None, None);
941 XUngrabButton(display, Button1, Mod1Mask|Mod2Mask|Mod3Mask, frame().window().window()); 947 XUngrabButton(display, Button1, Mod1Mask|Mod2Mask|Mod3Mask, frame().window().window());
942 948
949 if (Fluxbox::instance()->useMod1()) {
950 XGrabButton(display, Button1, Mod1Mask, frame().window().window(), True,
951 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync,
952 GrabModeAsync, None, frame().theme().moveCursor());
943 953
944 XGrabButton(display, Button1, Mod1Mask, frame().window().window(), True, 954 //----grab with "all" modifiers
945 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync, 955 grabButton(display, Button1, frame().window().window(), frame().theme().moveCursor());
946 GrabModeAsync, None, frame().theme().moveCursor()); 956
947 957 XGrabButton(display, Button2, Mod1Mask, frame().window().window(), True,
948 //----grab with "all" modifiers 958 ButtonReleaseMask, GrabModeAsync, GrabModeAsync, None, None);
949 grabButton(display, Button1, frame().window().window(), frame().theme().moveCursor());
950
951 XGrabButton(display, Button2, Mod1Mask, frame().window().window(), True,
952 ButtonReleaseMask, GrabModeAsync, GrabModeAsync, None, None);
953 959
954 XGrabButton(display, Button3, Mod1Mask, frame().window().window(), True, 960 XGrabButton(display, Button3, Mod1Mask, frame().window().window(), True,
955 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync, 961 ButtonReleaseMask | ButtonMotionMask, GrabModeAsync,
956 GrabModeAsync, None, None); 962 GrabModeAsync, None, None);
957 963
958 //---grab with "all" modifiers 964 //---grab with "all" modifiers
959 grabButton(display, Button3, frame().window().window(), None); 965 grabButton(display, Button3, frame().window().window(), None);
966 }
960} 967}
961 968
962 969