]> git.alrj.org Git - zsh.d.git/blobdiff - S61_konsoletabs
Tabs renaming for konsole/kde4
[zsh.d.git] / S61_konsoletabs
index 8af1f116354e80b597bb566c74d81fb8e11dc32f..e93f3897413b389b5a0064051c6e935dc6f71b8a 100644 (file)
@@ -2,7 +2,7 @@
 
 # Change konsole tab to current path
 konsole-rename-path () {
-    if [ "$KONSOLE_DCOP_SESSION" ]
+    if [ -n "$KONSOLE_DCOP_SESSION" -o -n "$KONSOLE_DBUS_SESSION" ]
     then
         local DIR
         DIR=${PWD/#${HOME}/\~}
@@ -13,13 +13,20 @@ konsole-rename-path () {
         else
            SDIR="$DIR"
         fi
-        dcop ${KONSOLE_DCOP_SESSION} renameSession "$SDIR"
+        if [ -n "$KONSOLE_DCOP_SESSION" ]
+        then
+          dcop ${KONSOLE_DCOP_SESSION} renameSession "$SDIR"
+        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
+        fi
     fi
 }
 
 # Change konsole tab to current command
 konsole-rename-cmd () {
-    if [ "$KONSOLE_DCOP_SESSION" ]
+    if [ -n "$KONSOLE_DCOP_SESSION" -o -n "$KONSOLE_DBUS_SESSION" ]
     then
         # We don't need to change tab to "cd xyz" or precmd redefinition
         # Yes, this is a dirty hack
@@ -33,7 +40,14 @@ konsole-rename-cmd () {
             else
                 TXT="$1"
             fi
-            dcop ${KONSOLE_DCOP_SESSION} renameSession "$TXT"
+            if [ -n "$KONSOLE_DCOP_SESSION" ]
+            then
+              dcop ${KONSOLE_DCOP_SESSION} renameSession "$TXT"
+            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
+            fi
         fi
     fi
 }