Como definir a guia ativa no gnome-terminal?

2

Quando eu abro o gnome-terminal com várias abas na linha de comando, eu gostaria de pré-selecionar (na linha de comando) qual das abas deve obter o foco.

Eu tentei

gnome-terminal --tab -t A --active --tab -t B

para definir a guia A como ativa, mas a guia B se torna a ativa.

    
por Håkon Hægland 07.04.2015 / 16:33

2 respostas

1

Crie o script abaixo, torne-o executável com chmod +x scriptname , em que nome do script é o nome real do script.

Execute o script com 4 parâmetros. Por exemplo, eu corro com %código%. Você pode chamar tabs o que quiser, TAB-1 é apenas um exemplo.

Você será perguntado para qual guia você quer focar, digite-o exatamente como você o digitou no argumento

Nota : você precisará ter activetab.sh TAB-1 TAB-2 TAB-3 TAB-4 e wmctrl instalado para este script funcionar! xdotool

O script

#!/bin/bash
# Author : Serg Kolo
# Date: April 11,2015
# Description: Open gnome-terminal with 4 tabs, and focus on tab with particular name
#
# set -x
echo "Which window to focus ? "
read FOCUS

gnome-terminal --tab -t   --tab -t   --tab -t   --tab -t 

if [ $? -eq 0 ]; then
    sleep 0.5
    WINID=$(xprop -root | awk '/_NET_ACTIVE_WINDOW/ && /0x/ {print }' | cut -d'x' -f2)


    while [ $(wmctrl -l | grep $WINID | awk '{print }') != $FOCUS ]; do
        xdotool key Ctrl+Page_Up
    done

fi

Demo

Se você não conseguir ver a animação abaixo, abra-a no navegador diferente (chromium ou google chrome) ou siga este link: link

    
por Sergiy Kolodyazhnyy 11.04.2015 / 19:50
0

Isso porque --active é uma opção de janela; se usado antes do primeiro argumento --window ou --tab , ele define o padrão para todas as janelas.

Além disso, esse parâmetro define a última guia especificada como a ativa em sua janela ... (que é o padrão de qualquer maneira)

Então, o que você quer fazer é impossível ...

(Para uma certa definição de "impossível", este é FLOSS: você sempre pode bifurcar, alterar e propor suas modificações para o autor ...)

    
por Fabby 11.04.2015 / 18:17