首先你检查一下目前确实不可能

首先你检查一下目前确实不可能

我基本上想继续使用 GNOME,但模拟 i3 WM 行为,允许您根据窗口的位置来聚焦窗口,例如将窗口聚焦到当前窗口的右侧,聚焦左侧的窗口,等等。我研究了wmutils,它几乎可以工作,但它不适用于 GNOME。还有其他方法吗?

答案1

长答案短:使用扩展放窗户(“使用键盘移动焦点”说明了一切)

首先你检查一下目前确实不可能

  1. 该功能似乎没有在 GnomeShell CheatSheet 中列出,也没有在 Gnome3 > 键盘中列出。遗憾的是,似乎没有任何地方有详尽的键盘快捷键列表。
  2. 我访问了 extensions.gnome.org 并搜索了一个可以满足您要求的扩展,但我发现的只是一个名为“switcher”的扩展,这不是您想要的。在做任何其他事情之前你应该彻底搜索那里因为我没有浏览90页的结果。实际上有一个扩展可以做到这一点,称为“放置窗口”,OP在我写完这个答案后发现了它,所以下面的内容仅供参考。

  3. 你可以决定使用 Alt-tab 并完成它,这似乎是 Gnome3 的方式

然后你尝试自己让它成为可能

我看到了 3 种做事的方法:

  • 创建一个 Gnome3 扩展(但我​​不确定您是否拥有实现您想要的功能所需的所有功能)。我并没有尝试这样做。
  • 修改 Gnome3(但这可能不是您期望的答案)。我并没有尝试这样做。
  • 使用 X11 / Wayland / Mir 来做到这一点。下面我将解释我尝试用 X11 做什么。当心,X11 很快就会成为遗留软件!目前可能无法使用 Wayland / Mir 做到这一点(但我没有检查)

我尝试使用 xdotool 对 X11 执行此操作

该解决方案并未完全发挥作用。这比其他任何事情都更像是一种乐趣

你可以试试我的演示选择.sh脚本。这是一个大约 200 行的 bash 脚本,所以我不会把它放在这里,但我将在下面解释它是如何工作的。使用方法:

  1. 在您的系统上安装 xdotool,它应该在您的存储库中:)
  2. 克隆https://gitlab.com/gabrieldevillers/xdotool-i3ization
  3. 转到 Gnome3 > 键盘 > 快捷方式 > 个人快捷方式,并分别添加 4 个带有命令的条目,/path/to/select.sh *direction* 其中*direction*分别为updownleftright

脚本的问题:

  1. 它很慢(但可用:尝试一下)
  2. 窗口不得重叠。这是我用来替换以下事实的事实:我无法判断窗口是否对用户可见(请参阅问题“计算部分隐藏窗口的可见区域”和“X:找出窗口是否可见”给用户,即不被其他人覆盖”在这个网站上)。这种需要是由于 i3 和 Gnome3 之间的巨大差异:Gnome3 窗口可以重叠(并且它们确实重叠)真的经常)。

脚本的算法:

  1. 获取潜在窗口的列表:它们必须有一个名称,位于同一个工作区(可选?但要注意有一个奇怪的工作区,代码为“-1”),不在您排除的窗口列表中(可能是可选的,我从这个开始并保留了可能性),可见(在 X11 的意义上,这意味着不减少,你知道,就像在 Gnome2 中一样!)
  2. 过滤此列表以使窗口位于正确的位置(我的脚本的这部分有很大的改进空间)
  3. 选择离你最近的一个(在这里你可以再次改进我的脚本)

答案2

作为一个老I3用户,我一直怀念这个功能。我没能找到解决这个问题的方法,所以我决定编写一个 gnome 扩展来解决它。它不使用“xdotool”,而是使用内部 gnome 库。希望它能够在 X11 和 Wayland 中运行。

https://extensions.gnome.org/extension/4627/focus-changer

作为键盘驱动的用户,我希望您也会发现它有所帮助。

相关内容