¿Cómo puedo get información sobre mis escritorios virtuales a través de la command-line?

Tengo curiosidad sobre cómo puedo get información, como las dimensiones de mi escritorio, qué computadora de escritorio está actualmente activa y qué tags (si las hay) están configuradas para mi entorno de escritorio (DE).

Related of "¿Cómo puedo get información sobre mis escritorios virtuales a través de la command-line?"

Usando la herramienta wmctrl puede get toda la información anterior, específicamente el -d .

Ejemplo

 $ wmctrl -d 0 * DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 Workspace 1 1 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 2 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 N/A 3 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 N/A 

Detalles

Se genera una línea para cada escritorio, con la línea dividida en columnas separadas por espacios.

  • La primera columna contiene un número de escritorio integer.
  • La segunda columna contiene un carácter '*' para el escritorio actual, de lo contrario, contiene un carácter '-'.
  • Las siguientes dos columnas contienen la cadena fija DG: y luego la geometry del escritorio como 'x' (por ejemplo, '1280×1024').
  • Las siguientes dos columnas contienen la cadena fija VP: y luego la position de la window gráfica en el formatting ',' (por ejemplo, '0,0').
  • Las siguientes tres columnas después de esto contienen la cadena fija WA: y luego dos columnas con la geometry del área de trabajo como 'X, Y y WxH' (por ejemplo, '0,0 1280×998').
  • El rest de la línea contiene el nombre del escritorio (posiblemente conteniendo múltiples espacios).

Cosas extra geniales que puedes hacer con wmctrl

list información sobre Window Manager

 $ wmctrl -m Name: compiz Class: N/A PID: N/A Window manager's "showing the desktop" mode: OFF 

list de windows activas

 $ wmctrl -l 0x00c00028 -1 grinchy Top Expanded Edge Panel 0x0120001e 0 grinchy x-nautilus-desktop 0x06015fee 0 grinchy saml@grinchy:~ 0x06000004 0 grinchy saml@grinchy:~ 0x05a000d1 0 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome 

Se genera una línea para cada window, con la línea dividida en columnas separadas por espacios.

  • La primera columna siempre contiene la identidad de la window como un integer hexadecimal.
  • La segunda columna siempre contiene el número de escritorio (un -1 se usa para identificar una window adhesiva).
  • Si se especifica la opción -p , la siguiente columna contendrá el PID para la window como un integer decimal.
  • Si se especifica la opción -G , seguirán cuatro columnas enteras: x-offset, y-offset, ancho y alto.
  • La siguiente columna siempre contiene el nombre de la máquina del cliente.
  • El rest de la línea contiene el título de la window (posiblemente con múltiples espacios en el título).

-p ejemplo de conmutador

 0x06015fee 0 3278 grinchy saml@grinchy:~ 0x06000004 0 3278 grinchy saml@grinchy:~ 0x05a000d1 0 4676 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome 

-G ejemplo de cambio

 0x06015fee 0 3378 128 941 361 grinchy saml@grinchy:~ 0x06000004 0 900 142 947 397 grinchy saml@grinchy:~ 0x05a000d1 0 0 50 1440 826 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome 

* NOTA: ¡ Los interruptores -p y -G también se pueden combinar!

cambiar a un escritorio diferente

 $ wmctrl -s 2 

NOTA: los escritorios están numerados comenzando en 0, entonces 1 sería el 2do.

networkingucir la cantidad de escritorios

 $ wmctrl -n 3 

Ahora tenemos 3 en lugar de 4.

 $ wmctrl -d | wc -l 3 

Ahora devuélvelo a 4.

 $ wmctrl -n 4 $ wmctrl -d | wc -l 4 

Cerrando una window

 $ wmctrl -l | grep GVIM 0x02a00003 0 grinchy [No Name] - GVIM $ wmctrl -c GVIM $ wmctrl -l | grep GVIM $