Toda vez que eu iniciava um projeto que envolvia implementação e compilação, era a mesma coisa. Sempre que abria o konsole ia eu lá “abre o vi… renomeia a aba pra edit… nova aba… renomeia a aba pra make.. nova aba… renomeia a aba pra run… nova aba… ” e por ae vai.
Resolvi então fazer um script usando o dcop que cria esse “ambiente” de trabalho com o konsole. É só setar 2 vetores. Um com os comandos que aba executa e outro com o nome das abas. Tae o bicho:
==============================
#!/bin/bash
COMANDOS=(“vi main.c” “vi fbpa.h” “vi fbpa.c” “clear” “clear” “clear”)
NOME_ABAS=(“main.c” “fbpa.h” “fbpa.c” “Compila” “Executa” “Analisa”)
#starta um konsole
konsole=$(dcopstart konsole-script)
#pega o handle da sessao
thissession=$(dcop $konsole konsole currentSession)
_IFS=$IFS
IFS=”
“
_path=$(pwd)
#varre os comandos, criando novas sessoes
for i in ${!COMANDOS[@]}
do
echo “startando aba com ${COMANDOS[$i]}”
#cria uma aba, com o novo comando
newsession=`dcop $konsole konsole newSession “${COMANDOS[$i]}”`
sleep 1s
#renomeia a sessao
dcop $konsole $newsession renameSession “${NOME_ABAS[$i]}”
#vai para o mesmo diretorio
dcop $konsole $newsession sendSession “cd $_path”
#starta o comando
dcop $konsole $newsession sendSession “${COMANDOS[$i]}”
done
IFS=$_IFS
#fecha a primeira sessao
dcop $konsole $thissession closeSession > /dev/null
==============================
Ficou ruim de enxergar? Veja melhor (with highligh tsyntax) aqui:
Qualquer dia, faço um tutorial decente com alguma coisa sobre o dcop.
Fontes:
http://andreas.scherbaum.la/blog/archives/440-Start-multiple-ssh-sessions-with-KDE-konsole.html