Terminal Gnome: como obter o título existente?

2

É possível obter o título existente de uma sessão gnome-terminal atual? Eu sei como definir o título, mas como eu obtenho isso? O Google falhou comigo aqui, e não há menção de nada disso em nenhum documento do gnome. Muito apreciado.

EDIT: As soluções que não envolvem a instalação de pacotes externos como xdotools , xprop ou wmctrl são as preferidas.

    
por S.T.A.L.K.E.R. 19.06.2015 / 18:56

1 resposta

1

se xdotool estiver instalado:

sudo apt-get install xdotool

e assumindo que a janela da sessão atual está na frente (já que o comando precisa ser digitado), apenas execute:

xdotool getactivewindow getwindowname

Como obter o título da sessão atual sem instalar software adicional

Se quiser fazê-lo sem instalar nada adicional, pode usar:

xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_NAME | awk -F\" '{ print $2 }'

( xprop é instalado por padrão)

Ou apenas usando xprop e awk :

xprop -id $(xprop -root _NET_ACTIVE_WINDOW | awk '{ print $NF }') _NET_WM_NAME | awk -F\" '{ print $2 }'

explicação:

  1. para obter a janela ativa (linha) com xprop :

    xprop -root _NET_ACTIVE_WINDOW
    
  2. para extrair a janela id (que é a última string da linha):

    awk '{ print $NF }'
    
  3. produza então a linha com o nome da janela, pelo id :

    produzido
    xprop -id $(xprop -root _NET_ACTIVE_WINDOW | awk '{ print $NF }') _NET_WM_NAME
    
  4. Por fim, divida a linha produzida pelo delimitador " , produza a segunda seção:

    awk -F\" '{ print $2 }'
    

Editar

Ou, o contrário, usando apenas xprop e cut , como sugerido por @Hannu (um pouco mais rápido):

xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f2) _NET_WM_NAME | cut -d'"' -f2
    
por Jacob Vlijm 19.06.2015 / 19:08