]> git.alrj.org Git - zsh.d.git/commitdiff
Add a wrapper for mc to stay in current directory upon exit master
authorAmand Tihon <amand.tihon@iba-group.com>
Fri, 21 Oct 2022 08:35:00 +0000 (10:35 +0200)
committerAmand Tihon <amand.tihon@iba-group.com>
Fri, 21 Oct 2022 08:35:00 +0000 (10:35 +0200)
S53_wrappers [new file with mode: 0644]
wrappers/mc-wrapper [new file with mode: 0755]

diff --git a/S53_wrappers b/S53_wrappers
new file mode 100644 (file)
index 0000000..568f58d
--- /dev/null
@@ -0,0 +1,6 @@
+
+# Wrapper to stay in the same directory upon exitting mc
+mc ()
+{
+    . ~/.zsh.d/wrappers/mc-wrapper
+}
diff --git a/wrappers/mc-wrapper b/wrappers/mc-wrapper
new file mode 100755 (executable)
index 0000000..b189ea3
--- /dev/null
@@ -0,0 +1,16 @@
+MC_USER=`whoami`
+MC_PWD_FILE="${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$"
+/usr/bin/mc -P "$MC_PWD_FILE" "$@"
+
+if test -r "$MC_PWD_FILE"; then
+        MC_PWD="`cat "$MC_PWD_FILE"`"
+        if test -n "$MC_PWD" && test "$MC_PWD" != "$PWD" && test -d "$MC_PWD"; then
+                cd "$MC_PWD"
+        fi
+        unset MC_PWD
+fi
+
+rm -f "$MC_PWD_FILE"
+unset MC_PWD_FILE
+unset MC_USER
+