From 3b2ee2422050a0abc5b9e911fe45491425f41bfe Mon Sep 17 00:00:00 2001
From: Soispha <soispha@vhack.eu>
Date: Fri, 23 Feb 2024 20:56:29 +0100
Subject: feat(hm/conf/lf): Start zathura on opening pdfs in lf

---
 hm/soispha/conf/lf/commands/default.nix          |  6 +++---
 hm/soispha/conf/lf/commands/scripts/view_file.sh | 26 ++++++++++++++++++++++++
 hm/soispha/conf/lf/keybindings/default.nix       |  2 +-
 3 files changed, 30 insertions(+), 4 deletions(-)
 create mode 100755 hm/soispha/conf/lf/commands/scripts/view_file.sh

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
-- 
cgit 1.4.1