¿Puedo cambiar el nombre de la pestaña guake para mostrar el comando actual?

13

Utilizo mucho guake y ssh en más de 3 computadoras en cualquier momento. También tengo demonios ejecutándose en algunas pestañas (terminales). Lo que quiero saber, ¿es posible tener el nombre del comando actual como el nombre de la Terminal? Al hacer clic con el botón derecho en una pestaña y cambiar su nombre se produce esto: (Mire la pestaña después de la Terminal 5)

Mira la pestaña después de la Terminal 5

Gracias.

theTuxRacer
fuente
Vea mi respuesta a una pregunta relacionada para mostrar una representación abreviada del directorio actual como título de la pestaña.
krlmlr
¿Qué quieres decir con "comando actual"? ¿hay siempre un comando ejecutándose en cada terminal? ¿Cuál debería ser el título cuando no hay nada en ejecución?
rubo77

Respuestas:

4

Este es un error guake (0.4.1). Solo veo y resuelvo este problema a través de este informe de error, aunque el autor dice que este no es el mejor método: https://github.com/Guake/guake/issues/205

descubrí que mover el código de destrucción del diálogo (guake.py línea 983) hacia abajo después del código que establece la etiqueta de la pestaña (línea 986) realmente resuelve el problema. entonces el código que funciona para mí se ve así:

    response = dialog.run()
    # dialog.destroy() 

    if response == gtk.RESPONSE_ACCEPT:
        self.selected_tab.set_label(entry.get_text())

    dialog.destroy()

tal vez haya algún problema con gtk y cuadros de diálogo, pero no he encontrado ningún cambio de código relacionado con gtk en la versión 0.4.1 diff.

EDITAR : guake 0.4.2 puede cambiar el nombre de la pestaña correctamente

hutushen222
fuente
1
esto no responde la pregunta
phil294
3

No estoy seguro de que esto funcione para guake, funciona para la mayoría de los emuladores de terminal. Puede incluir un eco en sus scripts para cambiar el título del terminal:

echo -ne "\033]0;your_title_here\007"
João Pinto
fuente
eso no funcionó, cuando lo escribí en la terminal.
theTuxRacer
1
Esto se debe a que la solicitud de su shell generalmente lo configurará en el directorio de trabajo actual. Comprueba la variable PS1.
ak2
Tampoco funciona en mi Ubuntu 15.10. Verifiqué echo $PS1qué muestra algo así como \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$¿qué me ayuda a resolver esto?
rubo77
3

Un poco hack, pero esto cambiará el nombre del terminal actual a lo que sea que haya solicitado.

function ssh() {
    guake -r "$@";
    /usr/bin/ssh $@
}

Además, si actualiza su PROMPT_COMMAND, puede tener una función para actualizar el nombre del terminal cada vez. Aunque esto no funcionará para su problema ssh, ya que solo cambia el nombre después de que se haya ejecutado el comando.

p.ej

export PROMPT_COMMAND=renameTerminal

function renameTerminal() {
    guake -r "$SOMENAME";
}
usuario257818
fuente
2

Cuando quiero cambiar el nombre de la pestaña en guake, simplemente hago clic con el botón derecho en el nombre de la pestaña y hago clic con el botón izquierdo en cambiar nombre. Se abre un cuadro emergente para escribir el nuevo nombre.

charlie-tca
fuente
claro, pero ¿cómo puedes agregar esto a un script?
rubo77
1

Simplemente puede cambiar el nombre de la pestaña con

guake -r newtabname

Si desea obtener el último comando en ejecución, use por ejemplo

echo "!!" | cut -f 1 -d " "

!!se expande con bash cuando lo escribe. No se expande por sustitución de alias. Por lo tanto, debe usar el historyincorporado para hacer la expansión y ponerlo en un alias:

alias setguaketitle='guake -r $(echo "$(history -p !! )"| cut -f 1 -d " ")'

cuando tu último comando fue

echo this is a test

luego llamando

setguaketitle

establecerá el título en "echo".

rubo77
fuente
0

Si cambia su shell a zsh, puede agregar esto a su ~/.zshrc:

preexec() {
    echo -n '\e]0;'
    echo -nE "$1"
    print -nP '  (%~)'
    echo -n '\a'
}

y mostrará el comando actual y el directorio de trabajo actual. Esto funciona para todos los emuladores de terminal, no solo guake.

Para instalar zsh:

sudo apt-get install zsh

para probarlo solo di

zsh

para que sea el predeterminado para los nuevos terminales:

chsh -s /bin/zsh 
billar
fuente
1
zsh no funciona en absoluto con guake :(
theTuxRacer
Oh, claro, recuerdo haberme enfrentado a ese problema antes. Pero al menos algunos de los errores relacionados con él ahora parecen corregidos, por ejemplo, < guake.org/ticket/49 >.
Poolie