%20o%20no%3F.png)
Utilizo xdotool para asignar/desasignar un conjunto de ventanas tipo muelle. Ahora, xdotool no viene con un comando de alternancia (asignar/desasignar), ni tampoco viene con la posibilidad de realizar la misma operación con varias ventanas a la vez. Entonces estoy tratando de realizar el cambio de palo usando un script. Necesito una manera de saber si la operación más reciente fue un mapa o un mapa.
Respuesta1
En cierto modo, los archivos pueden considerarse como una forma sencilla de almacenar variables globales, globales para que sean visibles desde todas partes. Por lo tanto, el estado (asignado/no asignado) se puede almacenar como una cadena en un archivo.
No es lo más elegante, pero este script (llamado xctl) debería funcionar por ahora.
#!/usr/bin/env zsh
# This file serves as a global variable value holder showing if the windows are mapped or not.
state=/tmp/state
for process in ${@:1}; do
case $1 in
(show) xdotool search --class $process windowmap %@ windowraise %@;;
(hide) xdotool search --onlyvisible --class $process windowunmap %@;;
(*) break;;
esac
done
[[ $1 == toggle ]] && {
[[ -f $state ]] && [[ `cat $state` == show ]] && xctl hide ${@:1} || xctl show ${@:1}
} || echo $1 > $state
Para alternar un conjunto de ventanas, ejecute xctl toggle window1 window2 ...
.
El script debe residir en la ruta del shell.