module Matterhorn.Events.Global ( globalKeybindings , globalKeyHandlers ) where import Brick.Keybindings import Matterhorn.Command import Matterhorn.Types import Matterhorn.State.Channels import Matterhorn.State.ChannelList import Matterhorn.State.Teams globalKeybindings :: KeyConfig KeyEvent -> KeyDispatcher KeyEvent MH globalKeybindings :: KeyConfig KeyEvent -> KeyDispatcher KeyEvent MH globalKeybindings KeyConfig KeyEvent kc = forall k (m :: * -> *). Ord k => KeyConfig k -> [KeyEventHandler k m] -> KeyDispatcher k m unsafeKeyDispatcher KeyConfig KeyEvent kc [MHKeyEventHandler] globalKeyHandlers globalKeyHandlers :: [MHKeyEventHandler] globalKeyHandlers :: [MHKeyEventHandler] globalKeyHandlers = [ forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent ToggleMessagePreviewEvent Text "Toggle message preview" MH () toggleMessagePreview , forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent ToggleChannelListVisibleEvent Text "Toggle channel list visibility" MH () toggleChannelListVisibility , forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent ToggleExpandedChannelTopicsEvent Text "Toggle display of expanded channel topics" MH () toggleExpandedChannelTopics , forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent NextTeamEvent Text "Switch to the next available team" MH () nextTeam , forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent PrevTeamEvent Text "Switch to the previous available team" MH () prevTeam , forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent MoveCurrentTeamLeftEvent Text "Move the current team to the left in the team list" MH () moveCurrentTeamLeft , forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent MoveCurrentTeamRightEvent Text "Move the current team to the right in the team list" MH () moveCurrentTeamRight , forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent QuitEvent Text "Quit" MH () requestQuit ]