Safe Haskell | None |
---|---|
Language | Haskell2010 |
- initCLI :: HasEvents s => AppT s IO ()
- onEvent :: (Typeable m, MonadIO m, HasEvents s) => (Event -> AppT s m result) -> AppT s m ListenerId
- onKeypress :: (Typeable m, MonadIO m, HasEvents s) => (Keypress -> AppT s m result) -> AppT s m ListenerId
- onMouseDown :: (Typeable m, MonadIO m, HasEvents s) => (MouseDown -> AppT s m result) -> AppT s m ListenerId
- onMouseUp :: (Typeable m, MonadIO m, HasEvents s) => (MouseUp -> AppT s m result) -> AppT s m ListenerId
- onResize :: (Typeable m, MonadIO m, HasEvents s) => (Resize -> AppT s m result) -> AppT s m ListenerId
- onPaste :: (Typeable m, MonadIO m, HasEvents s) => (Paste -> AppT s m result) -> AppT s m ListenerId
- onEvent_ :: (Typeable m, MonadIO m, HasEvents s) => (Event -> AppT s m result) -> AppT s m ()
- onKeypress_ :: (Typeable m, MonadIO m, HasEvents s) => (Keypress -> AppT s m result) -> AppT s m ()
- onMouseDown_ :: (Typeable m, MonadIO m, HasEvents s) => (MouseDown -> AppT s m result) -> AppT s m ()
- onMouseUp_ :: (Typeable m, MonadIO m, HasEvents s) => (MouseUp -> AppT s m result) -> AppT s m ()
- onResize_ :: (Typeable m, MonadIO m, HasEvents s) => (Resize -> AppT s m result) -> AppT s m ()
- onPaste_ :: (Typeable m, MonadIO m, HasEvents s) => (Paste -> AppT s m result) -> AppT s m ()
- data Keypress = Keypress Key [Modifier]
- data MouseDown = MouseDown Int Int Button [Modifier]
- data MouseUp = MouseUp Int Int (Maybe Button)
- data Resize = Resize Int Int
- data Paste = Paste ByteString
- data LostFocus = LostFocus
- data GainedFocus = GainedFocus
Documentation
initCLI :: HasEvents s => AppT s IO () Source #
Place initCLI first in your eve initialization block. It registers listeners for terminal events and sets up the renderer
main :: IO () eve_ $ do initCLI -- add listeners here
onEvent :: (Typeable m, MonadIO m, HasEvents s) => (Event -> AppT s m result) -> AppT s m ListenerId Source #
React to terminal events Event
onKeypress :: (Typeable m, MonadIO m, HasEvents s) => (Keypress -> AppT s m result) -> AppT s m ListenerId Source #
React to a Keypress
onMouseDown :: (Typeable m, MonadIO m, HasEvents s) => (MouseDown -> AppT s m result) -> AppT s m ListenerId Source #
React to a Mouse Down
onMouseUp :: (Typeable m, MonadIO m, HasEvents s) => (MouseUp -> AppT s m result) -> AppT s m ListenerId Source #
React to a Mouse Up
onResize :: (Typeable m, MonadIO m, HasEvents s) => (Resize -> AppT s m result) -> AppT s m ListenerId Source #
React to a Terminal Resize
onPaste :: (Typeable m, MonadIO m, HasEvents s) => (Paste -> AppT s m result) -> AppT s m ListenerId Source #
React to a Paste
onEvent_ :: (Typeable m, MonadIO m, HasEvents s) => (Event -> AppT s m result) -> AppT s m () Source #
React to a Event
onKeypress_ :: (Typeable m, MonadIO m, HasEvents s) => (Keypress -> AppT s m result) -> AppT s m () Source #
React to a Keypress
onMouseDown_ :: (Typeable m, MonadIO m, HasEvents s) => (MouseDown -> AppT s m result) -> AppT s m () Source #
React to a Mouse Down
onMouseUp_ :: (Typeable m, MonadIO m, HasEvents s) => (MouseUp -> AppT s m result) -> AppT s m () Source #
React to a Mouse Up
onResize_ :: (Typeable m, MonadIO m, HasEvents s) => (Resize -> AppT s m result) -> AppT s m () Source #
React to a Terminal Resize
onPaste_ :: (Typeable m, MonadIO m, HasEvents s) => (Paste -> AppT s m result) -> AppT s m () Source #
React to a Paste
Type for terminal keypress events
Type for terminal mouse down events
Type for terminal mouse up events
Type for terminal resize events
Type for terminal paste events
Type for terminal blur events
data GainedFocus Source #
Type for terminal focus events