on master help sign in
XTermColor: disable SGR mouse events in terminal release
e58c152Jonathan Daugherty
src/Graphics/Vty/Input/Mouse.hs+5
@@ -1,5 +1,6 @@
1module Graphics.Vty.Input.Mouse
1module Graphics.Vty.Input.Mouse
2 ( requestSGRMouseEvents
2 ( requestSGRMouseEvents
3+ , disableSGRMouseEvents
3 , classifySGRMouseEvent
4 , classifySGRMouseEvent
4 ) where
5 ) where
5
6
@@ -31,6 +32,10 @@ import Data.Bits ((.&.))
31requestSGRMouseEvents :: String
32requestSGRMouseEvents :: String
32requestSGRMouseEvents = "\ESC[?1000h\ESC[?1006h"
33requestSGRMouseEvents = "\ESC[?1000h\ESC[?1006h"
33
34
35+-- | These sequences disable mouse events.
36+disableSGRMouseEvents :: String
37+disableSGRMouseEvents = "\ESC[?1000l\ESC[?1006l"
38+
34-- Modifier bits:
39-- Modifier bits:
35shiftBit :: Int
40shiftBit :: Int
36shiftBit = 4
41shiftBit = 4
src/Graphics/Vty/Output/XTermColor.hs+2−1
@@ -9,7 +9,7 @@ module Graphics.Vty.Output.XTermColor ( reserveTerminal )
9 where
9 where
10
10
11import Graphics.Vty.Output.Interface
11import Graphics.Vty.Output.Interface
12−import Graphics.Vty.Input.Mouse (requestSGRMouseEvents)
12+import Graphics.Vty.Input.Mouse
13import qualified Graphics.Vty.Output.TerminfoBased as TerminfoBased
13import qualified Graphics.Vty.Output.TerminfoBased as TerminfoBased
14
14
15import Blaze.ByteString.Builder (writeToByteString)
15import Blaze.ByteString.Builder (writeToByteString)
@@ -40,6 +40,7 @@ reserveTerminal variant outFd = liftIO $ do
40 { terminalID = terminalID t ++ " (xterm-color)"
40 { terminalID = terminalID t ++ " (xterm-color)"
41 , releaseTerminal = do
41 , releaseTerminal = do
42 liftIO $ flushedPut setDefaultCharSet
42 liftIO $ flushedPut setDefaultCharSet
43+ liftIO $ flushedPut disableSGRMouseEvents
43 releaseTerminal t
44 releaseTerminal t
44 , mkDisplayContext = \tActual r -> do
45 , mkDisplayContext = \tActual r -> do
45 dc <- mkDisplayContext t tActual r
46 dc <- mkDisplayContext t tActual r