====== wmctrl ======
Es una herramienta de línea de comandos para sistemas Linux que permite interactuar con el gestor de ventanas (//window manager//) de tu entorno gráfico (como GNOME, KDE, Xfce, etc.). Su nombre significa "//Window Manager Control//".
* [[http://tripie.sweb.cz/utils/wmctrl/]]: web del desarrollador original (no funciona)
* [[https://github.com/Conservatory/wmctrl|Repositorio del último código original]]
* [[https://github.com/saravanabalagi/wmctrl|Repositorio de código de otro mantenedor]]
===== Casos de uso =====
* **Controlar ventanas**: Mover, redimensionar, minimizar, maximizar o cerrar ventanas.
* **Gestionar escritorios virtuales**: Cambiar entre ellos, mover ventanas de un escritorio a otro.
* **Obtener información**: Listar ventanas abiertas, sus IDs, geometría o títulos.
* **Integrar con scripts**: Automatizar flujos de trabajo (ej: organizar ventanas al iniciar el sistema).
Funciona mejor con gestores de ventanas compatibles con el estándar EWMH/NetWM (como la mayoría de los entornos modernos).
===== Uso =====
==== Listar ventanas abiertas ====
wmctrl -l
Si queremos que muestre la geometría actual de cada ventana, utilizamos la opción ''-G'':
wmctrl -l -G
==== Redimensionar una ventana ====
wmctrl -r Firefox -e 0,0,0,640,480
El comando anterior hará que la ventana que contiene Firefox se redimensione a 640 píxeles de ancho por 480 de alto.
La opción ''-e'' espera los siguientes argumentos:
* gravity
* X
* Y
* ancho
* alto
Podemos elegir la ventana a la que aplicar el redimensionamiento pasándole '':SELECT:'' a la opción ''-r''. De esa manera, usaremos el ratón para elegir la ventana.
wmctrl -r ':SELECT:' -e 0,0,0,640,480
==== Mover a escritorio virtual ====
wmctrl -r "Documento LibreOffice" -t 1
El comando anterior moverá la ventaja con el título //Documento LibreOffice// al segundo escritorio virtual (los números empiezan en 0).
==== Cerrar ventanas ====
wmctrl -c "Alerta del sistema"
Simula hacer clic en el botón de cerrar.
==== Buscar y enfocar ventana ====
wmctrl -l | grep "Firefox" | awk '{print $1}' | xargs -I{} wmctrl -i -a {}
El comando anterior, lista las ventanas abiertas, usa ''grep'' para filtrar por título y ''wmctrl -i -a'' para enfocar usando el ID de la ventana.