summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2016-01-16 09:46:35 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2016-01-16 09:48:01 +0000
commit362565644aee9b855b257b26de4234799fe8445d (patch)
tree03ff691c91892096c94f534a875f81aa68c4d0b1 /x11-wm/xmonad/files
parentmedia-video/ffmpeg: bump to 2.8.5 (diff)
downloadgentoo-362565644aee9b855b257b26de4234799fe8445d.tar.gz
gentoo-362565644aee9b855b257b26de4234799fe8445d.tar.bz2
gentoo-362565644aee9b855b257b26de4234799fe8445d.zip
x11-wm/xmonad: bump up to 0.12, bug #572018
Reported-by: Mike Limansky Bug: https://bugs.gentoo.org/show_bug.cgi?id=572018 Package-Manager: portage-2.2.26
Diffstat (limited to 'x11-wm/xmonad/files')
-rw-r--r--x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch b/x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch
new file mode 100644
index 000000000000..79bd2c2d21fa
--- /dev/null
+++ b/x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch
@@ -0,0 +1,40 @@
+--- xmonad/src/XMonad/Core.hs 2010-09-05 05:11:42.000000000 +0400
++++ xmonad/src/XMonad/Core.hs 2010-09-18 07:59:14.000000000 +0400
+@@ -65,6 +65,7 @@
+ , waitingUnmap :: !(M.Map Window Int) -- ^ the number of expected UnmapEvents
+ , dragging :: !(Maybe (Position -> Position -> X (), X ()))
+ , numberlockMask :: !KeyMask -- ^ The numlock modifier
++ , keyPressed :: !KeyCode -- ^ keycode of the key being pressed if any
+ , extensibleState :: !(M.Map String (Either String StateExtension))
+ -- ^ stores custom state information.
+ --
+--- xmonad/src/XMonad/Main.hs 2010-09-05 05:11:42.000000000 +0400
++++ xmonad/src/XMonad/Main.hs 2010-09-18 08:03:11.000000000 +0400
+@@ -129,6 +129,7 @@
+ , mapped = S.empty
+ , waitingUnmap = M.empty
+ , dragging = Nothing
++ , keyPressed = 0
+ , extensibleState = extState
+ }
+ allocaXEvent $ \e ->
+@@ -190,10 +191,15 @@
+ -- run window manager command
+ handle (KeyEvent {ev_event_type = t, ev_state = m, ev_keycode = code})
+ | t == keyPress = withDisplay $ \dpy -> do
+- s <- io $ keycodeToKeysym dpy code 0
+- mClean <- cleanMask m
+- ks <- asks keyActions
+- userCodeDef () $ whenJust (M.lookup (mClean, s) ks) id
++ kp <- gets keyPressed
++ if kp /= code then do
++ modify $ \s -> s { keyPressed = code }
++ s <- io $ keycodeToKeysym dpy code 0
++ mClean <- cleanMask m
++ ks <- asks keyActions
++ userCodeDef () $ whenJust (M.lookup (mClean, s) ks) id
++ else return ()
++ | t == keyRelease = modify $ \s -> s { keyPressed = 0 }
+
+ -- manage a new window
+ handle (MapRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do