about summary refs log tree commit diff stats
path: root/hm/soispha/conf
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2024-02-23 20:56:29 +0100
committerSoispha <soispha@vhack.eu>2024-02-23 21:18:28 +0100
commit3b2ee2422050a0abc5b9e911fe45491425f41bfe (patch)
tree16f0860636b1ba265a3f045bf5b8a6df48436257 /hm/soispha/conf
parentfeat(hm/conf/git): Switch to zdiff3 instead of diff3 (diff)
downloadnixos-config-3b2ee2422050a0abc5b9e911fe45491425f41bfe.zip
feat(hm/conf/lf): Start zathura on opening pdfs in lf
Diffstat (limited to '')
-rw-r--r--hm/soispha/conf/lf/commands/default.nix6
-rwxr-xr-xhm/soispha/conf/lf/commands/scripts/view_file.sh26
-rw-r--r--hm/soispha/conf/lf/keybindings/default.nix2
3 files changed, 30 insertions, 4 deletions
diff --git a/hm/soispha/conf/lf/commands/default.nix b/hm/soispha/conf/lf/commands/default.nix
index 47bf0a12..6994f100 100644
--- a/hm/soispha/conf/lf/commands/default.nix
+++ b/hm/soispha/conf/lf/commands/default.nix
@@ -168,9 +168,9 @@ in {
       TO_BE_SHELL_LIBRARY_PATH = "%SHELL_LIBRARY_PATH"; # replacement is not recursive
     };
   };
-  open = shell {
-    name = "open";
-    dependencies = builtins.attrValues {inherit (pkgs) file xdg-utils;};
+  view_file = async {
+    name = "view_file";
+    dependencies = builtins.attrValues {inherit (pkgs) file;};
   };
   go_project_base_directory = async {
     name = "go_project_root";
diff --git a/hm/soispha/conf/lf/commands/scripts/view_file.sh b/hm/soispha/conf/lf/commands/scripts/view_file.sh
new file mode 100755
index 00000000..a7d7055d
--- /dev/null
+++ b/hm/soispha/conf/lf/commands/scripts/view_file.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.0.13" . %SHELL_LIBRARY_PATH
+
+# shellcheck disable=SC2269
+f="$f"
+# shellcheck disable=SC2269
+fx="$fx"
+# shellcheck disable=SC2269
+fs="$fs"
+
+mime_type="$(file --mime-type --brief --dereference "$f")"
+case "$mime_type" in
+application/pdf)
+    "$READER" "$f"
+    ;;
+image/*)
+    "$IVIEWER" "$f"
+    ;;
+*)
+    die "Mime-Type: '$mime_type' not supported"
+    ;;
+esac
+
+# vim: ft=sh
diff --git a/hm/soispha/conf/lf/keybindings/default.nix b/hm/soispha/conf/lf/keybindings/default.nix
index c95100c4..bed42822 100644
--- a/hm/soispha/conf/lf/keybindings/default.nix
+++ b/hm/soispha/conf/lf/keybindings/default.nix
@@ -17,7 +17,7 @@ in
     # File Openers
     ee = "\$\$EDITOR \"$f\"";
     es = "\$ nvim -S \"$f\"";
-    u = "%\$IVIEWER \"$f\"";
+    u = "view_file";
     cc = "\$sudo -e \"$f\"";
 
     # Archive Mappings