如何在 14.04 中使用键盘快捷键并排放置 3 个窗口?

tom*_*jen 5 shortcut-keys 14.04

工作给了我一个新的显示器-这是一个21:9的屏幕,所以我希望能够通过侧放3个窗口的一面,但ctrl+ alt+keypad快捷键只能用来放置2,并与此显示器的窗户几乎太宽了。

Ser*_*nyy 5

介绍

下面的脚本用于将窗口大小调整为屏幕宽度的 1/3,并将它们放置在左侧、中间或右侧位置。有数字选项,0 表示左侧,1 表示中心,2 表示右侧。

该脚本依赖于,xdotool因此请确保使用sudo apt-get install xdotool.

在 Unity 中,脚本必须在未最大化的窗口上运行。这是因为 Unity 在最大化时将窗口锁定到位,使它们无法响应任何命令xdotool问题。

注意:此脚本将随着时间的推移而更新和完善。我可能会将它添加到我的个人 github 存储库中,但截至目前,它作为一个要点存在

设置快捷方式

转到System Settings -> Keyboard-> Shortcuts->Custom并单击+左下角的按钮以创建新条目。bash /path/to/script ARG在我的示例中提供自定义名称和脚本(或)的完整路径。

在此处输入图片说明

保存它,然后单击右侧的字段。系统将提示您按下要与此快捷方式对应的键。我已经设置为Ctrl Super 1.

在此处输入图片说明

您现在有一个将窗口放置在左侧的快捷方式。对中心和右快捷方式重复相同的步骤。

脚本源

#!/bin/bash
# run script like so:  bash thirds.sh NUMBER
# where NUMBER is 0,1 or 2
# 0 is left, 1 is center, 2 is right
get_screen_geometry()
{
   # determine size of the desktop
   xwininfo -root | \
   awk  -F ':' '/Width/{printf "%d",$2/3}/Height/{print $2}' 
}
xdotool getactivewindow windowsize $(get_screen_geometry )

xdotool getactivewindow windowmove \
$(get_screen_geometry | awk -v POS=$1  '{ printf "%d ", POS*$1  }'  ) 0
Run Code Online (Sandbox Code Playgroud)