Posts for the month of January 2013
Scripting konsole and tabs
At work I want to launch two programs in separate tabs in konsole
from a script, so I whipped this one up:
#!/bin/bash checkfile() { if [ ! -f $1 ]; then echo "could not find $1" exit 99 else echo "OK" fi } # Check for App1 XML echo -n "Checking for App 1 XML... " XMLA=/domain/DM.xml checkfile ${DEVROOT}/${XMLA} # Check for App2 XML echo -n "Checking for App 2 XML... " hostname=$(hostname) XMLB=/domain/DM_${hostname}.xml checkfile ${DEVROOT}/${XMLB} # Launch Konsole echo -n "Launching konsole... " K=$(dcopstart konsole-script) [ -z "${K}" ] && exit 98 # Create second tab and resize SDA=$(dcop $k konsole currentSession) SDB=$(dcop $k konsole newSession) dcop $K $SDA setSize 121x25 # Let bash login, etc. sleep 1 # Rename the tabs dcop $K $SDA renameSession "App 1" dcop $K $SDB renameSession "App 2" # Start services, letting user watch echo -n "starting app1... " dcop $K konsole activateSession $SDA dcop $K $SDA sendSession "echo -ne '\033]0;DEV (${hostname})\007' && clear && starter $XMLA" sleep 2 echo -n "starting app2... " dcop $K konsole activateSession $SDB dcop $K $SDB sendSession "echo -ne '\033]0;DEV (${hostname})\007' && clear && starter $XMLB" echo done.
The funky echo
commands will set the application title to "DEV (hostname)" while the tab title is set with renameSession
.