Después de sufrir unaerror en Redshift, encontré un gran reemplazo,Iris.
Puse la Iris
carpeta en mi home
directorio y agregué el siguiente comando a Aplicaciones de inicio sh /home/arun/Iris/Iris.sh
.
Todo funciona espléndidamente, pero al iniciar, también se abre la ventana GUI de configuración. Todo lo que realmente necesito es el pequeño ícono indicador del panel. Algo así como la función "Ocultar" en los "Elementos de inicio de sesión" de OS X.
¿Se puede lograr esto?
Respuesta1
La ventana de configuración del iris
Si cerramos la ventana de configuración de Iris con X
, esaparentementecerrado.
Sin embargo , si hacemos lo mismo, con la ayuda de wmctrl
( wmctrl -ic <window_id>
), resulta que no sóloventanaEstá cerrado, pero la aplicación completa.
Mi conclusión es entonces que la ventana en realidad no estácerrado, perono mapeadocuando presionamos el X
.
Podemos hacer lo mismo con la ayuda de xdotool
. Con una versión editada de esta respuesta:¿Cómo puedo ejecutar un programa al inicio, minimizado?, entonces podemos iniciar Iris
sin que aparezca la ventana de configuración.
Iniciando irissinla ventana de configuración (script)
El script utiliza ambos
wmctrl
yxdotool
:sudo apt-get install wmctrl xdotool
Copie el siguiente script en un archivo vacío, guárdelo enel mismo directorio que su
Iris.sh
archivo(por lo que están juntos en el mismo directorio), 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
Ahora ejecute el siguiente comando en lugar del comando original para comenzar
Iris
:python3 /path/to/start_iris.py
¡La ventana de configuración ya no aparecerá!
Explicación
- El guión analizasu propiodirectorio del archivo
Iris.sh
y lo inicia. - Posteriormente, vigila la creación de nuevas ventanas de
WM_CLASS
Iris
(su ventana de configuración). Si encontró la ventana de destino,desasignarla ventana con el
xdotool
comando:xdotool windowunmap <window_id>
Notas
Obviamente, al hacer clic en la
X
ventana de configuración también se desasigna la ventana.
Aparentemente esto se hace de una manera diferente axdotool
. La consecuencia es que no puedes acceder a la ventana de configuración (desde el menú del indicador) sin reiniciarIris
.Sin embargo, mencionaste que normalmente no necesitas la ventana de configuración.en absoluto.
Tenga en cuenta que al iniciar aplicaciones GUI desde Aplicaciones de inicio (especialmente cuando se trata de configuraciones de pantalla), es posible que necesite crear un pequeño descanso para que funcione bien. Si no funciona desde Aplicaciones de inicio, cambie el comando para agregar a Aplicaciones Stratup a:
/bin/bash -c "sleep 10 && python3 /path/to/start_iris.py"