====== 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.