web-dev-qa-db-ja.com

カスタム幅でウィンドウタイリングを自動化するにはどうすればよいですか? (シナモン)

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

私は本当にxdotoolが好きですが、Cinnamonの素晴らしいスナップ/タイリング機能と競合します。

次のコマンドを実行すると、現在のウィンドウがコーナー/サイド/フルスクリーンにスナップされている場合、[〜#〜]機能しません[〜#〜]

xdotool getactivewindow windowsize 500 1080 windowmove 1420 0

スナップしたままにしておきますが、カスタム幅を使用します。 [〜#〜] [〜#〜]スナップされない場合、機能します。

主な目的:ウィンドウを右側に500の幅でスナップします(コマンドを使用)

ただし、xdotoolではおそらく不可能です。

私は何もインストールせず、すべてシナモンでインストールすることを望みますが、wmctrlで目標を達成できると誰かが思ったら、試してみます。

望ましい出力対現在の出力

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

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

7
TuxForLife

このコマンドは機能しますか(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
user1717828

最初にいくつかの最大化フラグを削除する必要があるかもしれません:

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

これには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=10902

または、Ctrl +テンキーを使用して目的の場所を取得します

ソース:

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

0
TheRealProcyon