diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2016-01-16 09:46:35 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2016-01-16 09:48:01 +0000 |
commit | 362565644aee9b855b257b26de4234799fe8445d (patch) | |
tree | 03ff691c91892096c94f534a875f81aa68c4d0b1 /x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch | |
parent | media-video/ffmpeg: bump to 2.8.5 (diff) | |
download | gentoo-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/xmonad-0.12-check-repeat.patch')
-rw-r--r-- | x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch | 40 |
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 |