Hay dos herramientas importantes para manipular ventanas cli
; xdotool
y wmctrl
. Ambas herramientas se superponen entre sí en funcionalidad, pero los comandos más importantes se refieren a su pregunta:
En una descripción general (sin duda incompleta), enumerando los comandos que más uso:
Cerrando una ventana
wmctrl:
wmctrl -ic <window_id>
Minimizando una ventana
xdotool:
xdotool windowminimize <window_id>
Minimizar una ventana
wmctrl:
la minimización efectiva se realiza mediante:
wmctrl -ia <window_id>
Menciono efectivamente , ya que el comando se mueve al escritorio correspondiente, minimiza y levanta la ventana, pero el comando también lo hace en ventanas que no están minimizadas.
Maximizando una ventana
xdotool:
xdotool windowsize <window_id> 100% 100%
wmctrl:
wmctrl -ir <window_id> -b add,maximized_vert,maximized_horz
Des maximizando una ventana:
wmctrl -ir <window_id> -b remove,maximized_vert,maximized_horz
Notas
Ambos xdotool
y wmctrl
no están en su sistema por defecto:
sudo apt-get install xdotool wmctrl
Para ejecutar cualquiera de los comandos en la ventana activa actualmente :
para wmctrl
comandos, elimine la -i
opción, reemplace <window_id>
por:ACTIVE:
para xdotool
comandos: reemplazar <window_id>
por$(xdotool getactivewindow)
En muchos casos, los comandos se pueden ejecutar utilizando la identificación de la ventana o el nombre de la ventana . La -i
opción en wmctrl
indica wmctrl
que se use la identificación de la ventana. Sugeriría no usar el nombre de la ventana como identificador, para evitar conflictos de nombres. Sucede más fácilmente de lo que cabría esperar.
- Desde mi propia experiencia, usando la maximización en un guión; Usar
wmctrl
para maximizar / no maximizar puede ser un poco defectuoso en ambos Unity
y Gnome
, mientras que la xdotool
opción funciona más robusta en mi experiencia. En la mayoría de los guiones, termino usando una mezcla de ambos wmctrl
y xdotool
.
Más información sobre man wmctrl y man xdotool (principalmente la sección: COMANDOS DE VENTANA ).