Comment resize la window active à 50% avec wmctrl?

Je voudrais resize la window sur la moitié gauche de l'écran.

Une solution pour y parvenir serait d'utiliser wmctrl et de relier la command de droite à un raccourci keyboard.

Mais la page de manuel montre seulement comment resize à une certaine hauteur et largeur, par exemple:

wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,800,1040 

qui déplace la window vers le coin supérieur gauche et redimensionne à 800×1040 px.

Mais étrangement seulement la première fois. Si vous exécutez à nouveau la même command, vous vous déplacez en haut à droite de l'écran, en ignorant la barre d'outils supérieure.

Aussi ce serait bien, d'avoir ce comand avec la hauteur 100% et la largeur 50% au lieu des valeurs absolues.

J'ai la réponse ici .

ce serait le script pour le maximiser à la moitié droite de l'écran :

 #!/bin/bash # resizes the window to full height and 50% width and moves into upper right corner #define the height in px of the top system-bar: TOPMARGIN=27 #sum in px of all horizontal borders: RIGHTMARGIN=10 # get width of screen and height of screen SCREEN_WIDTH=$(xwininfo -root | awk '$1=="Width:" {print $2}') SCREEN_HEIGHT=$(xwininfo -root | awk '$1=="Height:" {print $2}') # new width and height W=$(( $SCREEN_WIDTH / 2 - $RIGHTMARGIN )) H=$(( $SCREEN_HEIGHT - 2 * $TOPMARGIN )) # X, change to move left or right: # moving to the right half of the screen: X=$(( $SCREEN_WIDTH / 2 )) # moving to the left: #X=0; Y=$TOPMARGIN wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,$X,$Y,$W,$H 

Pour déplacer vers la gauche, il suffit de changer la X-Line en X=0 . (Si vous utilisez Ubuntu Unity, vous devez également adapter RIGHTMARGIN. J'utilise RIGHTMARGIN=102 )

définir les marges de droite cela résout le bug, que la deuxième fois que vous l'appelez, il est passé tout en haut de l'écran, en ignorant la barre d'outils supérieure.

vous pouvez utiliser xrandr pour get (ou définir) la résolution d'écran, puis utiliser wmctrl pour resize votre window.