aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/yazi-file-chooser/script.sh
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-23 18:30:05 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-23 18:42:18 +0530
commit5032239a236595451f22ea948c42281f8aa04645 (patch)
tree5e6be8235a04614c676d8883c3c756e1b9a5f4ff /modules/scripts/yazi-file-chooser/script.sh
parent2ad7b06ced0ffa39d20e6be41466e5bd834ee956 (diff)
downloadhome-manager-config-5032239a236595451f22ea948c42281f8aa04645.tar.gz
home-manager-config-5032239a236595451f22ea948c42281f8aa04645.zip
feat: migrate from lf to yazi as default file manager
- Replace lf module with yazi module including base16 theme - Remove file-preview and file-preview-clean scripts (no longer needed) - Add yazi-file-chooser script for XDG Desktop Portal integration - Update i3 keybinding to use yazi - Add GTK_USE_PORTAL and TERMCMD session variables - Add extraLinks support to mkScriptModule
Diffstat (limited to 'modules/scripts/yazi-file-chooser/script.sh')
-rw-r--r--modules/scripts/yazi-file-chooser/script.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/modules/scripts/yazi-file-chooser/script.sh b/modules/scripts/yazi-file-chooser/script.sh
new file mode 100644
index 0000000..a2f9166
--- /dev/null
+++ b/modules/scripts/yazi-file-chooser/script.sh
@@ -0,0 +1,20 @@
+# $1 = multiple selection (1/0)
+# $2 = directory select mode (1/0)
+# $3 = save file mode (1/0)
+# $4 = initial directory path
+# $5 = output path file (where portal expects selected paths)
+
+multiple="$1"
+directory="$2"
+save="$3"
+path="$4"
+out="$5"
+
+# Pick directory vs single/multiple file
+if [ "$directory" = "1" ]; then
+ # --cwd-file outputs the final working directory path when exiting
+ exec yazi "$path" --cwd-file="$out"
+else
+ # --chooser-file writes all selected file path(s) to $out on exit
+ exec yazi "$path" --chooser-file="$out"
+fi