module Events.ChannelListOverlay ( onEventChannelListOverlay , channelListOverlayKeybindings , channelListOverlayKeyHandlers ) where import Prelude () import Prelude.MH import qualified Graphics.Vty as Vty import Events.Keybindings import State.ChannelListOverlay import State.ListOverlay import Types onEventChannelListOverlay :: Vty.Event -> MH () onEventChannelListOverlay = void . onEventListOverlay csChannelListOverlay channelListOverlayKeybindings -- | The keybindings we want to use while viewing a channel list overlay channelListOverlayKeybindings :: KeyConfig -> KeyHandlerMap channelListOverlayKeybindings = mkKeybindings channelListOverlayKeyHandlers channelListOverlayKeyHandlers :: [KeyEventHandler] channelListOverlayKeyHandlers = [ mkKb CancelEvent "Close the channel search list" (exitListOverlay csChannelListOverlay) , mkKb SearchSelectUpEvent "Select the previous channel" channelListSelectUp , mkKb SearchSelectDownEvent "Select the next channel" channelListSelectDown , mkKb PageDownEvent "Page down in the channel list" channelListPageDown , mkKb PageUpEvent "Page up in the channel list" channelListPageUp , mkKb ActivateListItemEvent "Join the selected channel" (listOverlayActivateCurrent csChannelListOverlay) ]