映射“Super+ArrowDown”以在窗口聚焦且窗口未处于全屏状态时最小化窗口

映射“Super+ArrowDown”以在窗口聚焦且窗口未处于全屏状态时最小化窗口

我想向 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

该脚本使用xdotoolwmctrlxprop。通过运行以下命令确保它们已安装在您的计算机上:

sudo apt install xdotool wmctrl x11-utils

保存脚本并使其可执行:

  1. 打开您选择的文本编辑器并复制/粘贴脚本的内容。

  2. 将脚本保存到计算机上的某个位置,并使用您选择的名称,例如/home/user/path/to/script.sh

  3. 通过运行以下命令授予您保存的脚本的执行权限:

    chmod u+x /home/user/path/to/script.sh
    

要将脚本添加到快捷方式(在 GNOME 中):

  1. 打开设置设备键盘

  2. 找出恢复窗口快捷方式,单击它并将其设置为另一个快捷方式,例如Super+ B,然后按。必须这样做,否则您将无法使用脚本的Super+ 。Down
    笔记:如果您希望Super+Down具有默认行为并将脚本设置为另一个快捷方式,请跳过此步骤并按照后续步骤添加您选择的快捷方式。

  3. 在键盘快捷键窗口底部单击“+”图标以添加新的快捷键。

  4. 为快捷方式指定一个您选择的名称,例如“最小化替代方案”,在脚本中添加完整路径(/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

相关内容