diff options
Diffstat (limited to 'source/ap/mc/profile.d')
-rwxr-xr-x | source/ap/mc/profile.d/mc-wrapper.csh | 20 | ||||
-rwxr-xr-x | source/ap/mc/profile.d/mc-wrapper.sh | 14 | ||||
-rwxr-xr-x | source/ap/mc/profile.d/mc.csh | 1 | ||||
-rwxr-xr-x | source/ap/mc/profile.d/mc.sh | 1 |
4 files changed, 36 insertions, 0 deletions
diff --git a/source/ap/mc/profile.d/mc-wrapper.csh b/source/ap/mc/profile.d/mc-wrapper.csh new file mode 100755 index 000000000..7b4c383d9 --- /dev/null +++ b/source/ap/mc/profile.d/mc-wrapper.csh @@ -0,0 +1,20 @@ +set MC_USER="`id | sed 's/[^(]*(//;s/).*//'`" + +if ($?TMPDIR) then + setenv MC_PWD_FILE $TMPDIR/mc-$MC_USER/mc.pwd.$$ +else + setenv MC_PWD_FILE /tmp/mc-$MC_USER/mc.pwd.$$ +endif + +/usr/bin/mc -P "$MC_PWD_FILE" $* + +if (-r "$MC_PWD_FILE") then + setenv MC_PWD "`cat '$MC_PWD_FILE'`" + if ( -d "$MC_PWD" ) then + cd "$MC_PWD" + endif + unsetenv MC_PWD +endif + +rm -f "$MC_PWD_FILE" +unsetenv MC_PWD_FILE diff --git a/source/ap/mc/profile.d/mc-wrapper.sh b/source/ap/mc/profile.d/mc-wrapper.sh new file mode 100755 index 000000000..36db15747 --- /dev/null +++ b/source/ap/mc/profile.d/mc-wrapper.sh @@ -0,0 +1,14 @@ +MC_USER=`id | sed 's/[^(]*(//;s/).*//'` +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 -d "$MC_PWD"; then + cd "$MC_PWD" + fi + unset MC_PWD +fi + +rm -f "$MC_PWD_FILE" +unset MC_PWD_FILE diff --git a/source/ap/mc/profile.d/mc.csh b/source/ap/mc/profile.d/mc.csh new file mode 100755 index 000000000..5a614bb22 --- /dev/null +++ b/source/ap/mc/profile.d/mc.csh @@ -0,0 +1 @@ +alias mc 'source /usr/share/mc/bin/mc-wrapper.csh' diff --git a/source/ap/mc/profile.d/mc.sh b/source/ap/mc/profile.d/mc.sh new file mode 100755 index 000000000..8198ab456 --- /dev/null +++ b/source/ap/mc/profile.d/mc.sh @@ -0,0 +1 @@ +alias mc='. /usr/share/mc/bin/mc-wrapper.sh' |