Specifica della geometria di X windows nelle coordinate ottenute da wmctrl


9

Nella documentazione X ho letto che il Width, Height, Xpositione Ypositioncoordinate devono essere specificati in caratteri terminali utilizzando:

gnome-terminal --geometry=WidthxHeight+Xposition+Yposition

Se uso come coordinate di input quelle che ottengo da un wmctrl -lGoutput (non sono sicuro che wmctrlutilizzi pixel, caratteri terminali o qualcosa di diverso come unità geometriche), non ottengo i risultati previsti. Cioè le coordinate geometriche emesse da wmctrl -lGe quelle che un utente può specificare gnome-terminal --geometryrisultano essere diverse.

C'è qualcosa che sto facendo di sbagliato? qualche idea?

Grazie

Risposte:


17

L' --geometryopzione per gnome-terminalviene effettivamente misurata in caratteri, anziché in pixel. Ad esempio, per ottenere un terminale a 80 colonne alto solo 10 linee, è possibile avviare in gnome-terminalquesto modo:

gnome-terminal --geometry 80x10

Il terminale si ridimensionerà in incrementi della dimensione del carattere del carattere, che comunica con Xserver usando WM_NORMAL_HINTS. Puoi esaminarli usando il xpropcomando. Ad esempio, qui trovo un ID finestra Terminale e chiedo a xprop a riguardo:

$ wmctrl -lG | tail -n1
0x06400021  0 592  314  580  338  myhostname kees@myhostname: ~
$ xprop -id 0x6400021
...
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        program specified minimum size: 48 by 16
        program specified resize increment: 7 by 14
        program specified base size: 20 by 2
        window gravity: NorthWest
...

Nel caso precedente, la dimensione del carattere è 7 per 14 pixel. Quindi, se volessi un terminale da 70 per 140 pixel, potrei correre gnome-terminal --geometry 10x10(anche se sarebbe 20 x 2 pixel più grande di quello basato sulle decorazioni del gestore finestre, ecc., Come visto nella "dimensione base specifica" sopra).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.