ウィンドウのサイズを画面の左半分に合わせたいのですが。
これを実現するための解決策は、 wmctrl を使用し、適切なコマンドをキーボードショートカットにキーバインドすることです。
ただし、 manpage は、特定の高さと幅にサイズ変更する方法のみを示しています。次に例を示します。
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,800,1040
これにより、ウィンドウが左上隅に移動し、800x1040ピクセルにサイズ変更されます。
しかし奇妙なことに初めてだけです。同じコマンドをもう一度実行すると、画面の右上にあるvery右上に移動し、上部のツールバーは無視されます。
また、絶対値の代わりに高さ100%、幅50%のコマンドを使用すると便利です。
私は答えを得ました ここ 。
これは、画面の右半分まで最大化するスクリプトです。
#!/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
左に移動するには、X-LineをX=0
に変更します。 (Ubuntu Unityを使用している場合は、RIGHTMARGINも適応する必要があります。私はRIGHTMARGIN=102
を使用します)
これでバグを解決し、2回目に呼び出したときに上部ツールバーを無視して画面の最上部に移動するという、右マージンを定義します。