Perché non posso spostare una finestra nell'angolo in alto a sinistra con wmctrl in Unity?

7

Ho giocato con wmctrl per avere più controllo sulle mie finestre. Ho riscontrato un comportamento strano in cui Unity riserva il doppio dello spazio.
Guarda questa schermata:

Ho aperto il terminale e spostato la finestra usando il comando superiore. Dovrebbe essere nell'angolo in alto a sinistra (X = 0 Y = 0). Ma per qualche ragione c'è un margine tra il terminale e le barre Unity.

Se capisco correttamente le pagine man, potrebbe avere qualcosa a che fare con WA: 65,24 .

Qualcuno può aiutarmi a risolvere questo problema?

    
posta janw 26.02.2016 - 00:07

1 risposta

4

Probabilmente non è la risposta che stavi cercando:

Problemi con la combinazione di Unity e wmctrl

La combinazione di Unity e wmctrl sfortunatamente ha alcune peculiarità, di cui il comportamento che descrivi è uno.

Guardando il tuo output

  • Il 65,24 che hai menzionato, sono la larghezza di Unity Launcher e height del tuo pannello.
  • Nella riga:

    0x03400005  0 0   24    65   1111  janw_VirtualBox unity-launcher
    

    nell'output di wmctrl -lG , puoi vedere che il Launcher è posizionato a x=0, y=24 , mentre la dimensione del launcher è 65 x 1111 . ( 1111 è l'altezza dello schermo meno l'altezza del pannello)

Rigorosamente, il comando per posizionare la finestra attiva nell'angolo in alto a sinistra dovrebbe essere:

wmctrl -r :ACTIVE: -e 0,65,24,1500,550

e non:

wmctrl -r :ACTIVE: -e 0,0,0,1500,550

Tuttavia, questo non risolverà il problema, è semplicemente un bug. Ci sarà ancora il Marge che descrivi. Lo stesso accadrà quando utilizzi xdotool (non installato di default):

xdotool windowmove "$(xdotool getactivewindow)"  65 24

o

xdotool windowmove "$(xdotool getactivewindow)"  0 0

Lettura dell'output di wmctrl -dG

Guardando il 1792x1111 in WA: 65,24 1792x1111 , puoi vedere che hai una risoluzione del monitor di 1857 ( 65 + 1792 ) x 1135 ( 1111 + 24 ).
In questo caso , corrisponde esattamente ai valori in DG: 1857x1135 , poiché hai solo una vista (spazio di lavoro): DG rappresenta la dimensione totale di il tuo desktop (tutte le finestre).

Riassumendo

Sia wmctrl che xdotool funzionano bene se imposti una finestra massimizzata . L'effetto che descrivi non si verificherà. Spostare o ridimensionare Windows lascerà comunque alcuni pixel sia dal launcher che dal pannello, come descritto in questa risposta. :
" La finestra da spostare / ridimensionare deve essere almeno di alcuni px sia dal launcher di Unity che dal pannello superiore. "

Oltre a ciò che descrivi, ti imbatterai in un altro problema se inizi a giocare con wmctrl e Unity è la deviazione , come descritto in questo uno .

    
risposta data Jacob Vlijm 26.02.2016 - 07:45

Leggi altre domande sui tag