ウィンドウをスナップするためのカスタムキーバインドを作成する

ウィンドウをスナップするためのカスタムキーバインドを作成する

ウィンドウを画面の半分または にスナップするショートカットがあります Ctrl + Super + LeftCtrl + Super + Right最初の質問は、このショートカットがシステムでどのように定義されているかということです。すべてのデフォルトのショートカットは で定義されていますgsettingsが、これはそこにはありません。

さて、主な質問に移ります。上記のショートカットは画面の半分にスナップします。ショートカットを 75% にスナップするようにしたいのですが、どうすればよいですか? また、75% にスナップする新しいショートカットを定義したい場合、どのような方法がありますか?

答え1

wmctrlとを使用して動作させることができましたxdotool。どちらもウィンドウ操作ツールです。

#!/bin/bash
WIN=$(xdotool getactivewindow)
eval $(xdotool getwindowgeometry --shell $WIN)
WIDTH=$(calc "int($WIDTH*0.75)")
wmctrl -r :ACTIVE: -b remove,maximized_horz,sticky
wmctrl -r :ACTIVE: -e "0,0,24,$WIDTH,-1"

上記のスクリプトは、ウィンドウを左側のサイズの 75 % にスナップします。上記のスクリプトをファイルに保存し、ファイルにショートカットを割り当てます。

同様に次のスクリプトはウィンドウを右に 25% の幅にスナップします。

#!/bin/bash
WIN=$(xdotool getactivewindow)
eval $(xdotool getwindowgeometry --shell $WIN)
X=$(calc "int($WIDTH-$WIDTH*0.25)")
WIDTH=$(calc "int($WIDTH*0.25)")
wmctrl -i -r $WINDOW -b remove,maximized_horz
wmctrl -i -r $WINDOW -e "0,$X,-1,$WIDTH,-1"

wmctrlマニュアルページやチュートリアルでxdotool動作を確認してください。依存関係をインストールするには、

sudo apt-get install apcalc wmctrl xdotool

注意: サイズ変更は、現在のウィンドウの位置とサイズに応じて行われます。画面サイズに応じてサイズ変更するには、ウィンドウを最大化してからスクリプトを実行します。

関連情報