我想向 Ubuntu 19.10 添加条件键映射。
通常,当窗口处于全屏模式时,您按下super+arrowDown它会进入窗口模式(或任何它被称为的模式)。
当窗口处于“窗口模式”时,我希望能够通过使用super+将其最小化(并且只能这样) arrowDown。
是否可以创建这样的快捷方式而不影响全屏窗口上super+的映射?arrowDown
答案1
您可以将以下 Bash 脚本添加到Super+Down快捷方式。
#!/bin/bash
active_window_id=$(printf 0x%x "$(xdotool getactivewindow)")
window_state=$(xprop -id "$active_window_id" | grep "_NET_WM_STATE(ATOM)")
if [[ "$window_state" == *"MAXIMIZED"* ]]; then
wmctrl -ir "$active_window_id" -b remove,maximized_vert,maximized_horz
else
xdotool windowminimize "$active_window_id"
fi
该脚本使用xdotool
、wmctrl
和xprop
。通过运行以下命令确保它们已安装在您的计算机上:
sudo apt install xdotool wmctrl x11-utils
保存脚本并使其可执行:
打开您选择的文本编辑器并复制/粘贴脚本的内容。
将脚本保存到计算机上的某个位置,并使用您选择的名称,例如
/home/user/path/to/script.sh
。通过运行以下命令授予您保存的脚本的执行权限:
chmod u+x /home/user/path/to/script.sh
要将脚本添加到快捷方式(在 GNOME 中):
打开设置→设备→键盘。
找出恢复窗口快捷方式,单击它并将其设置为另一个快捷方式,例如Super+ B,然后按放。必须这样做,否则您将无法使用脚本的Super+ 。Down
笔记:如果您希望Super+Down具有默认行为并将脚本设置为另一个快捷方式,请跳过此步骤并按照后续步骤添加您选择的快捷方式。在键盘快捷键窗口底部单击“+”图标以添加新的快捷键。
为快捷方式指定一个您选择的名称,例如“最小化替代方案”,在脚本中添加完整路径(
/home/user/path/to/script.sh
)命令字段,点击设置快捷方式...添加Super+Down作为快捷方式并关闭快捷方式窗口(见下图)。
Super+Down现在应该有你想要的行为了!
答案2
如果只想更改这一点,您可能需要编写自己的扩展。但是,有一个扩展可以按照您的需要运行,并且还可以执行其他一些操作。它是 Gnome Shell 扩展WinTile:适用于 GNOME 的 Windows 10 窗口平铺由 Fmstrat 提供。
它完全按照您的要求进行操作,其中Super+Down将使窗口退出最大化模式,随后按下 + 将使其最小化。
Super它有额外的功能,但您可能喜欢这些。您可以像在标准 Ubuntu 中一样使用+键左右平铺Left/Right。此外,在半平铺窗口上使用Super+会将其四分之一平铺。Up/Down