Usando o script abaixo para alternar a visibilidade (com uma combinação de teclas), você pode ter uma janela de terminal (completamente) oculta quando minimizada, como se não existisse, enquanto outra janela de terminal fica visível no inicializador quando minimizada.
Crie um perfil separado para a janela de terminal oculta
O truque é criar um perfil separado nas preferências gnome-terminal
, com um nome distinto no título da janela. Isto torna possível identificar a janela de terminal com o comando wmctrl -l
e unmap com xdotool
's comando windowunmap , tornando-o invisível no Iniciador.
Alternar visibilidade / abrir uma janela "ocultável" com uma combinação de teclas
Você terá que configurar uma combinação de teclas para alternar a visibilidade da janela do terminal, já que ela não é visível no lançador (veja mais abaixo).
Como configurar
O script precisa dos dois xdotool
e wmctrl
a serem instalados:
sudo apt-get install xdotool
sudo apt-get install wmctrl
Então:
-
Crie um perfil separado em gnome-terminal
preferences: escolha "Editar" > "Perfis", clique em "Novo".
- Nomeie o novo perfil (exatamente) como "Oculto"
-
Na guia "Título e comando", defina o título da janela como (exatamente) "Hidden_Profile", a ser colocado antes do título da janela:
N.B.Vocêpodeterquesair/entrarparaqueoperfilseja"carregável"
-
Teste se o perfil funciona executando o comando:
gnome-terminal --window-with-profile=Hidden
deve aparecer uma janela com "Hidden_profile" no título da janela:
Copieoscriptabaixoemumarquivovazio,salve-ocomorun_hidden.py
Testeocomandopelocomando:
python3/path/to/run_hidden.py
Oquedevefazer:
- Execute-osenenhumajaneladeterminaldoperfilseparadoestiveremexecução:umnovoterminaldeveráabrirapartirdoperfilseparado("ocultável").
- Execute uma segunda vez: a janela será (completamente) oculta, também a partir do iniciador
- Execute uma terceira vez: a janela deve reaparecer
-
Se tudo funcionar bem, adicione o (comando para executar-) o script a uma combinação de atalhos: escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione o comando:
python3 /path/to/run_hidden.py
O script
#!/usr/bin/env python3
import subprocess
import os
home = os.environ["HOME"]
hidden_windowid = home+"/.window_id.txt"
get = lambda cmd: subprocess.check_output(cmd).decode("utf-8")
def execute(cmd):
subprocess.check_call(cmd)
try:
w_id = [l.split()[0] for l in get(["wmctrl", "-l"]).splitlines() if "Hidden_Profile" in l][0]
execute(["xdotool", "windowunmap", w_id])
with open(hidden_windowid, "wt") as out:
out.write(w_id)
except IndexError:
try:
with open(hidden_windowid) as read:
w_id = read.read()
execute(["xdotool", "windowmap", w_id])
except subprocess.CalledProcessError:
execute(["gnome-terminal", "--window-with-profile=Hidden"])
Explicação
O script usa wmctrl
para identificar a janela por seu nome (window-), como atribuímos no perfil criado separadamente para essa finalidade. Quando tivermos o id
, podemos remover o mapeamento com o comando xdotool
' windowunmap
'.
Para garantir que a janela reaparece, o id
é armazenado em um arquivo oculto; Se o mapeamento falhar, o script conclui que não há nenhuma janela aberta a partir do perfil especial e é aberta pelo comando:
gnome-terminal --window-with-profile=Hidden