de l'homme wmctrl:
wmctrl est une commande permettant d'interagir avec un gestionnaire X Window compatible avec la spécification EWMH / NetWM. wmctrl peut interroger le gestionnaire de fenêtres pour obtenir des informations et demander que certaines actions de gestion de fenêtres soient prises.
La question spécifiquement
La wmctrl -d
commande peut être utilisée pour obtenir des informations sur les bureaux (fenêtres / espaces de travail). La wmctrl -lG
commande répertorie toutes les fenêtres, y compris leurs informations géométriques.
Comment puis-je (dans Unity par rapport aux autres gestionnaires de fenêtres):
- avoir un aperçu des espaces de travail et comment ils sont organisés?
- savoir quel est l'espace de travail actuel?
- savoir où se trouve une fenêtre dans un sens absolu ?
- liste les fenêtres qui sont sur l'espace de travail actuel?
à partir de la ligne de commande, en utilisant ces deux commandes?
Informations d'arrière-plan
La commande wmctrl -d
répertorie les bureaux. Sur Xubuntu (par exemple), lorsque je cours wmctrl -d
, je vois clairement dans la sortie l’espace de travail actuel et la résolution de l’écran (DG) sur le ou les espaces de travail.
0 - DG: 1024x600 VP: N/A WA: 0,31 1024x569 1
1 - DG: 1024x600 VP: N/A WA: 0,31 1024x569 2
2 - DG: 1024x600 VP: N/A WA: 0,31 1024x569 3
3 * DG: 1024x600 VP: 0,0 WA: 0,31 1024x569 4
L'espace de travail actuel est marqué d'un *
.
Cependant, sous Unity, la sortie de wmctrl -d
n’affiche qu’un seul (très grand) espace de travail, marqué d’un *
, quel que soit l’actuel "espace de travail", par exemple:
0 * DG: 3360x2100 VP: 1680,0 WA: 65,24 1615x1026 N/A
La commande du wmctrl
de man wmctrl
:
-l
: Dresser la liste des fenêtres gérées par le gestionnaire de fenêtres.
-G-
: Inclure des informations de géométrie dans la sortie de l'action -l
Quand je cours wmctrl -lG
sur (par exemple) Xubuntu, avec une fenêtre de souris sur chaque espace de travail:
0x03400003 0 241 197 533 244 jacob-1001PX Untitled 1 - Mousepad
0x03400197 1 299 222 533 244 jacob-1001PX Untitled 2 - Mousepad
0x034001be 2 236 201 533 244 jacob-1001PX Untitled 3 - Mousepad
0x034001e3 3 283 228 533 244 jacob-1001PX Untitled 4 - Mousepad
L'information est assez compréhensible. dans la deuxième colonne, nous connaissons l’espace de travail dans lequel se trouve la fenêtre, sa position (x, y, colonne 3/4) et sa taille (x, y, colonne 5/6). La position est donnée par rapport à l'espace de travail sur lequel il se trouve.
Sur Unity cependant, c'est une histoire assez différente. Lorsque j'ai quatre espaces de travail et que j'ouvre une fenêtre gedit sur chacun d'entre eux:
0x03c03b81 0 468 -884 875 741 jacob-System-Product-Name Niet-opgeslagen document 1 - gedit
0x03c03e74 0 369 164 1111 741 jacob-System-Product-Name Niet-opgeslagen document 2 - gedit
0x03c03f8e 0 -1269 214 1111 741 jacob-System-Product-Name Niet-opgeslagen document 3 - gedit
0x03c00085 0 -1376 -917 1111 741 jacob-System-Product-Name Niet-opgeslagen document 4 - gedit
Certaines fenêtres ont des coordonnées négatives, d'autres (peuvent) avoir des coordonnées qui dépassent la résolution de mon écran.