| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Eve.CLI
- 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
- renderImage :: (MonadIO m, HasStates s) => Image -> AppT s m ()
- getSize :: (MonadIO m, HasStates s) => AppT s m (Width, Height)
- type Width = Int
- type Height = Int
Events
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
Constructors
| Paste ByteString |
Type for terminal blur events
Constructors
| LostFocus |
Rendering
renderImage :: (MonadIO m, HasStates s) => Image -> AppT s m () Source #
Render the provided image to screen