如何使用自定义宽度自动平铺窗口? (肉桂)

如何使用自定义宽度自动平铺窗口? (肉桂)

我正在运行 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 论坛的示例,我认为您也可以在 cinnamon 中使用它:

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/

相关内容