A janela de configurações Iris
Se fecharmos a janela de configurações do Iris com o X
, é aparentemente fechado.
Se fizermos o mesmo, com a ajuda de wmctrl
( wmctrl -ic <window_id>
), no entanto, não apenas a janela está fechada, mas a aplicação completa.
Minha conclusão é que a janela não está realmente fechada , mas não mapeada quando pressionamos X
.
Podemos fazer o mesmo com a ajuda de xdotool
. Com uma versão editada desta resposta: Como posso executar um programa na inicialização, minimizado? , podemos então iniciar Iris
sem a janela de configurações para aparecer.
Iniciando o íris sem a janela de configurações (script)
-
O script usa
wmctrl
exdotool
:sudo apt-get install wmctrl xdotool
-
Copie o script abaixo em um arquivo vazio, salve-o no mesmo diretório que o seu
Iris.sh
file (para que eles estejam juntos no mesmo diretório), comostart_iris.py
.#!/usr/bin/env python3 import subprocess import time import sys import os command = os.path.dirname(sys.argv[0])+"/Iris.sh" subprocess.Popen(["/bin/bash", "-c", command]) def get(cmd): return subprocess.check_output(cmd).decode("utf-8").strip() t = 0 while t < 12: time.sleep(1) try: w_list = [l.split()[0] for l in get(["wmctrl", "-l"]).splitlines() if "Iris" in l] for w in w_list: check = [l for l in get(["xprop", "-id", w]).splitlines()\ if "WM_CLASS(STRING)" in l][0] if "Iris" in check: subprocess.Popen(["xdotool", "windowunmap", w]) break break except (IndexError, subprocess.CalledProcessError): pass t += 1
-
Agora, execute o seguinte comando em vez do comando original para iniciar
Iris
:python3 /path/to/start_iris.py
A janela de configurações não aparecerá mais!
Explicação
- O script examina o seu próprio diretório para o arquivo
Iris.sh
e o inicia. - Posteriormente, ele observa a criação de novas janelas de
WM_CLASS
Iris
(sua janela de configurações). -
Se encontrou a janela de segmentação, desmapeará a janela com o comando
xdotool
:xdotool windowunmap <window_id>
Notas
-
Obviamente, clicar no
X
da janela de configurações também desmata a janela.
Aparentemente isso é feito de uma maneira diferente dexdotool
. A consequência é que você não pode acessar a janela de configurações (no menu indicador), sem reiniciarIris
.Você mencionou que normalmente não precisa da janela de configurações .
-
Observe que, ao inicializar aplicativos GUI a partir de aplicativos de inicialização (especialmente quando envolve configurações de tela), talvez seja necessário criar uma pequena pausa para que funcione bem. Se ele não funcionar nos Aplicativos de inicialização, altere o comando para adicionar aos aplicativos da Stratup em:
/bin/bash -c "sleep 10 && python3 /path/to/start_iris.py"