]> git.alrj.org Git - zsh.d.git/blobdiff - S61_konsoletabs
Add a wrapper for mc to stay in current directory upon exit
[zsh.d.git] / S61_konsoletabs
index e93f3897413b389b5a0064051c6e935dc6f71b8a..1185d79a8023ff6cbbd6a8cde9d660c37a75090c 100644 (file)
@@ -1,25 +1,18 @@
-#! /usr/binn/zsh
+#! /usr/bin/zsh
 
 # Change konsole tab to current path
 konsole-rename-path () {
     if [ -n "$KONSOLE_DCOP_SESSION" -o -n "$KONSOLE_DBUS_SESSION" ]
     then
         local DIR
-        DIR=${PWD/#${HOME}/\~}
-        SDIR="${DIR[-28,-1]}"
-        if [[ "$SDIR" != "$DIR" ]]
-        then
-           SDIR="...${DIR[-25,-1]}"
-        else
-           SDIR="$DIR"
-        fi
+        DIR=`print -P "%28<...<%~"`
         if [ -n "$KONSOLE_DCOP_SESSION" ]
         then
-          dcop ${KONSOLE_DCOP_SESSION} renameSession "$SDIR"
+          dcop ${KONSOLE_DCOP_SESSION} renameSession "$DIR"
         elif [ -n "$KONSOLE_DBUS_SESSION" ]
         then
-          qdbus org.kde.konsole ${KONSOLE_DBUS_SESSION} setTitle 0 "$SDIR" > /dev/null
-          qdbus org.kde.konsole ${KONSOLE_DBUS_SESSION} setTitle 1 "$SDIR" > /dev/null
+          qdbus ${KONSOLE_DBUS_SERVICE} ${KONSOLE_DBUS_SESSION} setTitle 0 "$DIR" > /dev/null 2>&1
+          qdbus ${KONSOLE_DBUS_SERVICE} ${KONSOLE_DBUS_SESSION} setTitle 1 "$DIR" > /dev/null 2>&1
         fi
     fi
 }
@@ -32,21 +25,16 @@ konsole-rename-cmd () {
         # Yes, this is a dirty hack
         if [[ "$1" != \ cd\ \"* && "$1" != \ precmd* ]]
         then
-            local TXT
-            TXT="${1[0,33]}"
-            if [[ "$1" != "$TXT" ]]
-            then
-                TXT="${1[0,30]}..."
-            else
-                TXT="$1"
-            fi
+            local CMD
+            CMD=`print -P "%30>...>$1"`
+
             if [ -n "$KONSOLE_DCOP_SESSION" ]
             then
-              dcop ${KONSOLE_DCOP_SESSION} renameSession "$TXT"
+              dcop ${KONSOLE_DCOP_SESSION} renameSession "$CMD"
             elif [ -n "$KONSOLE_DBUS_SESSION" ]
             then
-              qdbus org.kde.konsole ${KONSOLE_DBUS_SESSION} setTitle 0 "$TXT" > /dev/null
-              qdbus org.kde.konsole ${KONSOLE_DBUS_SESSION} setTitle 1 "$TXT" > /dev/null
+              qdbus ${KONSOLE_DBUS_SERVICE} ${KONSOLE_DBUS_SESSION} setTitle 0 "$CMD" > /dev/null 2>&1
+              qdbus ${KONSOLE_DBUS_SERVICE} ${KONSOLE_DBUS_SESSION} setTitle 1 "$CMD" > /dev/null 2>&1
             fi
         fi
     fi