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 = KeyConfig KeyEvent -> [KeyEventHandler KeyEvent MH] -> KeyDispatcher KeyEvent MH forall k (m :: * -> *). Ord k => KeyConfig k -> [KeyEventHandler k m] -> KeyDispatcher k m unsafeKeyDispatcher KeyConfig KeyEvent kc [KeyEventHandler KeyEvent MH] globalKeyHandlers globalKeyHandlers :: [MHKeyEventHandler] globalKeyHandlers :: [KeyEventHandler KeyEvent MH] globalKeyHandlers = [ KeyEvent -> Text -> MH () -> KeyEventHandler KeyEvent MH forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent ToggleMessagePreviewEvent Text "Toggle message preview" MH () toggleMessagePreview , KeyEvent -> Text -> MH () -> KeyEventHandler KeyEvent MH forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent ToggleChannelListVisibleEvent Text "Toggle channel list visibility" MH () toggleChannelListVisibility , KeyEvent -> Text -> MH () -> KeyEventHandler KeyEvent MH forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent ToggleExpandedChannelTopicsEvent Text "Toggle display of expanded channel topics" MH () toggleExpandedChannelTopics , KeyEvent -> Text -> MH () -> KeyEventHandler KeyEvent MH forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent NextTeamEvent Text "Switch to the next available team" MH () nextTeam , KeyEvent -> Text -> MH () -> KeyEventHandler KeyEvent MH forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent PrevTeamEvent Text "Switch to the previous available team" MH () prevTeam , KeyEvent -> Text -> MH () -> KeyEventHandler KeyEvent MH 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 , KeyEvent -> Text -> MH () -> KeyEventHandler KeyEvent MH 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 , KeyEvent -> Text -> MH () -> KeyEventHandler KeyEvent MH forall k (m :: * -> *). k -> Text -> m () -> KeyEventHandler k m onEvent KeyEvent QuitEvent Text "Quit" MH () requestQuit ]