title_wrapper.bash

Escribí este script porque yo soy de los que llegan a tener —sin exagerar— 20 ó 30 ventanas de GNOME Terminal abiertas simultáneamente.

El resultado es que las ventanas tendrán en su título algo como 192.168.1.0 - ping para aquellos comandos a los que les declare un alias en el paso 2.

1. Colocar este código en /usr/local/bin/title_wrapper.bash

#!/bin/bash

# Copyright 2009, Octavio Alvarez Piza, alvarezp@alvarezp.ods.org
# Licencia: GPLv3.
# Garantía: absolutamente ninguna.

function settitle() {
	echo -ne "33]0;$*07"
}

while getopts "" OPT; do
	true
done

shift $(($OPTIND-1))

COMMAND=$1
COMPLETE_COMMAND="$*"
shift

case $COMMAND in
telnet)
	OPTIONS='468ELadrS:b:l:n:';;
ssh)
	OPTIONS='1246AaCfgKkMNnqsTtVvXxYb:c:D:e:F:i:L:l:m:O:o:p:R:S:w:';;
ping)
	OPTIONS='LRUbdfnqrvVaABc:i:l:p:s:t:w:F:I:M:Q:S:T:W:';;
dynagen)
	OPTIONS='ndh';;
webshare)
	OPTIONS=''
	FORCED_PARAM="`pwd`";;
else)
	OPTIONS=""
esac

while getopts $OPTIONS OPT; do
	true
done

shift $(($OPTIND-1))

PARAM="$*"
[ ! -z "$FORCED_PARAM" ] && PARAM="$FORCED_PARAM"

settitle "$PARAM - $COMMAND"

$COMPLETE_COMMAND

2. Configurar en mi .bashrc (o correspondiente script de inicio de Bash):

alias ping='title_wrapper.bash ping'
alias telnet='title_wrapper.bash telnet'
alias ssh='title_wrapper.bash ssh'
alias rsh='title_wrapper.bash rsh'

3. Configurar GNOME Terminal para que permita la modificación a los títulos de las ventanas.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *