カスタム幅でウィンドウを自動タイリングする方法は? (シナモン)

カスタム幅でウィンドウを自動タイリングする方法は? (シナモン)

私はLinux Mint 17 Cinnamon 2.4.8を実行しています。

私は本当にxdotoolが好きですが、Cinnamonの優れたソート/タイル機能と競合しています。

次のコマンドを実行すると実行されます。いいえ現在のウィンドウがエッジ/サイド/フルスクリーンに揃っている場合に機能します。

xdotool getactivewindow windowsize 500 1080 windowmove 1420 0

ソートを維持したいのですが、カスタム幅があります。の場合いいえスナップ、成功しました。

主な目標:ウィンドウを500の幅に右に揃える(コマンドを介して)

しかし、xdotoolではこれは不可能かもしれません。

他のものをインストールせずにすべてcinnamonで実行したいのですが、wmctrlを使用して目標を達成できると思う人がいる場合は試してみましょう。

希望の出力と現在の出力の比較

http://s115.photobucket.com/user/ericrazy2000/media/snapped.png.html

http://s115.photobucket.com/user/ericrazy2000/media/NOTsnapped.png.html

答え1

まず、いくつかの最大化フラグを削除する必要があります。

wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz;\
xdotool getactivewindow windowsize 500 1080 windowmove 1420 0;\
wmctrl -r :ACTIVE: -b add,maximized_vert

答え2

このコマンドは機能しますか(使用wmctrl):

dist500fromright=$((`xrandr | grep \* | awk '{print $1}' | sed 's/x.*$//'`-500));y=`xrandr | grep \* | awk '{print $1}' | sed 's/^.*x//'`;wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,$dist500fromright,0,500,$y

崩れる

xrandrジオメトリ一覧を出力し、*現在のモードを表示します。たとえば、

$ xrandr | grep \*
   1920x1200      60.0*+

awk出力の最初の列をキャプチャし、sed文字で区切られたサイズを取得するために使用されますx

$ xrandr | grep \* | awk '{print $1}' 
1920x1200

$ xrandr | grep \* | awk '{print $1}' | sed 's/x.*$//'
1920

Bashを使用すると、次のコマンド出力をラップして数学計算を実行できます$((...))

$ echo 5+2
5+2

$ echo $((5+2))
7

したがって、上記ではコマンドをラップ$((...))して500を引いて、画面の右端から500ピクセル離れたx座標位置を取得します。

$ echo  $((`xrandr | grep \* | awk '{print $1}' | sed 's/x.*$//'`-500))
1420

1920から500を引くには、まず1920を生成するコマンドをバックティックに入れる必要があります。

上記の出力を変数に設定し、dist500fromright画面のy寸法をy変数に保存するのと同様の操作を実行します。

$ dist500fromright=$((`xrandr | grep \* | awk '{print $1}' | sed 's/x.*$//'`-500))

$ y=`xrandr | grep \* | awk '{print $1}' | sed 's/^.*x//'`;

これで、wmctrlコマンドを実行する準備が整いました。

$ wmctrl -r :ACTIVE: -b add,maximized_vert

$ wmctrl -r :ACTIVE: -e 0,$dist500fromright,0,500,$y

後者のコマンドはアクティブウィンドウのサイズを変更して移動しますが、前者はキャプチャされたウィンドウのサイズを変更/移動できます。

答え3

これを達成するには、wmctrlを使用できます。

以前のLinux Mint mateフォーラムの例として、シナモンでも以下を使用できると思います。

wmctrl -r :ACTIVE: -e 0,0,0,width,height

これはうまくいきます。

画面が全画面の場合は、以下を使用する必要があります。

wmctrl -r :ACTIVE: -b remove,maximized_horz,maximized_vert
wmctrl -r :ACTIVE: -e 0,0,0,width,height

源泉:

http://forums.linuxmint.com/viewtopic.php?f=90&t=109020

または、Ctrl+数字キーパッドを使用して目的の位置を取得します。

源泉:

http://www.reddit.com/r/linux/comments/tbqky/window_snapping_pseudotiling_wm/

関連情報