wmctrlを使用してアクティブウィンドウサイズを50%に調整するには?

wmctrlを使用してアクティブウィンドウサイズを50%に調整するには?

ウィンドウのサイズを画面の左半分に調整したいです。

これを達成するための解決策は、次のものを使用することです。コントロールパネルそして正しいコマンドをキーボードショートカットにバインドします。

しかし、マンページたとえば、特定の高さと幅でサイズを変更する方法を示します。

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

ウィンドウを左上に移動し、サイズを800×1040ピクセルに調整します。

ところが不思議な点は今回が初めてという点だ。同じコマンドを再実行すると、inは次に進みます。非常に画面右上、上のツールバーを無視します。

そして、コマンドが絶対値ではなく、高さ100%、幅50%になっていればいいようです。

ベストアンサー1

私は答えを得たここ

これを最大化するスクリプトになります。画面の右半分:

#!/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線をに変更するだけですX=0。 (Ubuntu Unityを使用している場合は、私が使用しているRIGHTMARGINも適用する必要がありますRIGHTMARGIN=102。)

右マージンの定義 これでバグが修正されました。 2回目の呼び出しでは、上部ツールバーを無視して画面の上部に移動しました。

おすすめ記事