Para salvar a configuração em /tmp/cfg
:
gnome-terminal --save-config=/tmp/cfg
Para carregá-lo de volta:
gnome-terminal --load-config=/tmp/cfg
UPDATE
Depois de brincar com o bash eu criei o seguinte script que também armazena nomes de abas no arquivo /tmp/test
:
#!/usr/bin/env bash
gnome-terminal --save-config=/tmp/test
LINES=($(grep -n '\[Terminal' /tmp/test | cut -d: -f1))
for ((i=0; i<$(grep '\[Terminal' /tmp/test | wc -l); i++))
do
TITLE=$(xprop -id $WINDOWID WM_NAME | sed -e 's/WM_NAME(STRING) = "//' -e 's/"$//';xdotool key ctrl+Page_Down;)
sed -ri "$((${LINES[$i]}+$i))s/.*/&\nTitle=$TITLE/" /tmp/test
done
Para atribuir nomes corretamente, você precisa executá-lo na primeira guia do seu terminal. Carregando como antes:
gnome-terminal --load-config=/tmp/test
EXPLICAÇÃO:
Posso usar o seguinte para obter o nome da guia:
xprop -id $WINDOWID WM_NAME
Eu posso usar o seguinte para ir para a próxima guia:
xdotool key ctrl+Page_Down;
Estou recebendo o número de guias após o arquivo de configuração do grepping que salvei antes:
$(grep '\[Terminal' /tmp/test | wc -l)
Então, posso iterar pelas guias dentro de um loop. Eu tenho que adicionar a entrada "Title = titlename" para cada seção de configuração da guia no arquivo salvo anteriormente. Para fazer isso, primeiro eu estou criando uma matriz de números de linha onde eu adicionarei linhas.
LINES=($(grep -n '\[Terminal' /tmp/test | cut -d: -f1))
Estou adicionando a linha "Title = titlename" dentro do loop que percorre as guias:
sed -ri "$((${LINES[$i]}+$i))s/.*/&\nTitle=$TITLE/" /tmp/test