Tengo un script bash que mueve mis ventanas de la pantalla izquierda a la pantalla derecha en la configuración de pantalla dual. Actualmente, la forma en que funciona es recorrer los identificadores de las ventanas que se proporcionan xdotool search --onlyvisible --maxdepth 2 --class ""
y luego moverlos hacia la derecha por el ancho de la pantalla. Ya funciona ... a menos que la ventana en cuestión se maximice o minimice.
Entonces, lo que se necesita es una forma de verificar el estado actual de la ventana. He encontrado una respuesta que proporciona la forma de agregar y eliminar esos bits, pero ¿dónde está la forma de verificar si ya están configurados?
Si no es posible hacerlo a través de xdotool , debería ser posible reutilizar la identificación de ventana proporcionada por el comando mencionado anteriormente.
fuente
devilspie
cuál está diseñado para hacer exactamente este tipo de trabajo de ventana. Así que no hay necesidad de recodificar, solo configureRespuestas:
Recuperar información sobre el estado de la ventana
Puede obtener la información (y mucho más) del comando:
Para obtener lo que está buscando específicamente:
La salida se verá así:
en una ventana maximizada (h + v) y minimizada al mismo tiempo, o simplemente
(o sin salida) si ninguno de esos es el caso.
Más diversión
Por supuesto, usando varios idiomas, puede usar Wnck , como en el fragmento de Python a continuación. (fragmento de la ventana barajadora ). El fragmento genera una lista que muestra el nombre de la ventana + o
True
oFalse
(minimizado).La salida se ve así:
nótese bien
xprop
manipularán tanto los identificadores hexadecimales (como salida de, por ejemplowmctrl
) y decimales (como salida de, por ejemploxdotool
), por ejemplo, o bien:o
¡Los métodos no funcionarán en Wayland!
fuente
_NET_WM_STATE(ATOM)
no aparece, como se muestra en la respuesta, con un valor vacío. En cambio, no está en la salida en absoluto.