aboutsummaryrefslogtreecommitdiff
path: root/lib/Daffm/Configuration.hs
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-10-24 00:41:56 +0530
committerAkshay Nair <phenax5@gmail.com>2025-10-24 11:43:35 +0530
commita3cc21ebb749c1e5071d857990c6aaed0d182840 (patch)
tree00352062f5f2b0cf8741fc3231e6034a535db00f /lib/Daffm/Configuration.hs
parentb687795db6d57188d6f7d65437f0a8dc0f9a89a4 (diff)
downloaddaffm-a3cc21ebb749c1e5071d857990c6aaed0d182840.tar.gz
daffm-a3cc21ebb749c1e5071d857990c6aaed0d182840.zip
Add move command and gj gk keys
Diffstat (limited to 'lib/Daffm/Configuration.hs')
-rw-r--r--lib/Daffm/Configuration.hs38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/Daffm/Configuration.hs b/lib/Daffm/Configuration.hs
index 9536007..884db36 100644
--- a/lib/Daffm/Configuration.hs
+++ b/lib/Daffm/Configuration.hs
@@ -15,11 +15,49 @@ import qualified Data.Map as Map
import Data.Maybe (fromMaybe)
import qualified Data.Text as Text
import qualified Data.Text.IO as Text
+import qualified Graphics.Vty as K
import System.Directory (XdgDirectory (XdgConfig), getXdgDirectory)
import System.FilePath (joinPath)
import Toml ((.=))
import qualified Toml
+defaultConfiguration :: Configuration
+defaultConfiguration =
+ Configuration
+ { configKeymap = defaultKeymaps,
+ configOpener = Nothing,
+ configTheme = Map.empty,
+ configExtend = Nothing
+ }
+
+defaultKeymaps :: Keymap
+defaultKeymaps =
+ Map.fromList
+ [ ([K.KChar 'q'], CmdQuit),
+ ([K.KChar 'r', K.KChar 'r'], CmdReload),
+ ([K.KChar '!'], CmdSetCmdline "!"),
+ ([K.KChar '/'], CmdSetCmdline "/"),
+ ([K.KChar 'n'], CmdSearchNext 1),
+ ([K.KChar 'N'], CmdSearchNext (-1)),
+ ([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"),
+ ([K.KChar 'g', K.KChar 'g'], CmdMove $ MoveTo 0),
+ ([K.KChar 'g', K.KChar 'k'], CmdMove $ MoveTo 0),
+ ([K.KChar 'g', K.KChar 'j'], CmdMove MoveToEnd),
+ ([K.KChar 'G'], CmdMove MoveToEnd)
+ ]
+
getConfigDir :: IO FilePath
getConfigDir = getXdgDirectory XdgConfig "daffm"