diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-10-05 19:53:46 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-10-05 20:18:03 +0530 |
| commit | 0979d4e678514a8e0cdcbe1fbb174667c5361c8a (patch) | |
| tree | f4421a55e9c5051582521c1388bf2ee950945db1 /lib/Daffm/State.hs | |
| parent | 577a30cd5894aa16cf81606767d4d07c3e7b1603 (diff) | |
| download | daffm-0979d4e678514a8e0cdcbe1fbb174667c5361c8a.tar.gz daffm-0979d4e678514a8e0cdcbe1fbb174667c5361c8a.zip | |
Update readme + add drop to shell keymap
Diffstat (limited to 'lib/Daffm/State.hs')
| -rw-r--r-- | lib/Daffm/State.hs | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/lib/Daffm/State.hs b/lib/Daffm/State.hs index 1ea8bfe..fd5818d 100644 --- a/lib/Daffm/State.hs +++ b/lib/Daffm/State.hs @@ -18,6 +18,27 @@ import System.FilePath (joinPath) import System.PosixCompat (fileExist) import qualified System.PosixCompat as Posix +defaultKeymaps :: Keymap +defaultKeymaps = + Map.fromList + [ ([K.KChar 'q'], CmdQuit), + ([K.KChar 'r'], CmdReload), + ([K.KChar '!'], CmdSetCmdline "!"), + ([K.KChar ':'], CmdEnterCmdline), + ([K.KChar 'l'], CmdOpenSelection), + ([K.KChar 'h'], CmdGoBack), + ([K.KEnter], CmdOpenSelection), + ([K.KBS], CmdGoBack), + ([K.KChar 'v'], CmdToggleSelection), + ([K.KChar '\t'], CmdToggleSelection), + ([K.KChar 'C'], CmdClearSelection), + ([K.KChar '~'], CmdChangeDir "~"), + ([K.KChar '$'], CmdShell False "$SHELL"), + ([K.KChar 'g', K.KChar 'x'], CmdShell False "!xdg-open % >/dev/null 2>&1"), + ([K.KChar 'g', K.KChar 'h'], CmdChangeDir "~"), + ([K.KChar 'g', K.KChar 'c', K.KChar 'f', K.KChar 'g'], CmdChangeDir "~/.config/daffm") + ] + mkEditor :: (Zipper.GenericTextZipper a) => a -> Editor.Editor a FocusTarget mkEditor = Editor.editor FocusCmdline (Just 1) @@ -34,24 +55,6 @@ mkEmptyAppState config = stateOpenerScript = configOpener config, stateKeySequence = [] } - where - defaultKeymaps = - Map.fromList - [ ([K.KChar 'q'], CmdQuit), - ([K.KChar 'r', K.KChar 'r'], CmdReload), - ([K.KChar '!'], CmdSetCmdline "!"), - ([K.KChar ':'], CmdEnterCmdline), - ([K.KChar 'l'], CmdOpenSelection), - ([K.KChar 'h'], CmdGoBack), - ([K.KEnter], CmdOpenSelection), - ([K.KBS], CmdGoBack), - ([K.KChar 'v'], CmdToggleSelection), - ([K.KChar '\t'], CmdToggleSelection), - ([K.KChar 'C'], CmdClearSelection), - ([K.KChar '~'], CmdChangeDir "~"), - ([K.KChar 'g', K.KChar 'h'], CmdChangeDir "~"), - ([K.KChar 'g', K.KChar 'c', K.KChar 'f', K.KChar 'g'], CmdChangeDir "~/.config/daffm") - ] toggleSetItem :: (Ord a) => a -> Set.Set a -> Set.Set a toggleSetItem val set = @@ -126,9 +129,7 @@ listFilesInDir dir = do cacheDirPosition :: AppState -> AppState cacheDirPosition appState@(AppState {stateListPositionHistory, stateCwd, stateFiles}) = - appState - { stateListPositionHistory = Map.insert stateCwd pos stateListPositionHistory - } + appState {stateListPositionHistory = Map.insert stateCwd pos stateListPositionHistory} where pos = fromMaybe 0 $ L.listSelected stateFiles |
