Swaymsg 不聚焦窗口

Swaymsg 不聚焦窗口

我已经从 i3 切换到 Wayland,除了我之前写的一个脚本之外,一切正常。该脚本使用 i3-msg 通过其类名或 id(来自 i3-msg 树)来关注窗口。 Sway 具有swaymsg -t get_tree与 i3 中执行相同操作的命令。使用该命令,我可以使用该命令从命令行提取idapp_idwindow或任何其他数据pid

swaymsg -t get_tree | jq -c -r '..|try select(.focused == true) | [.id]' | tr -d "[]"

(根据属性,.id当然会被正确的查询替换)。

当我尝试使用容器信息来关注特定窗口时

swaymsg for_window -r [id=10] focus

尽管我已经检查过 id 是否正确,但什么也没发生。由于该-r选项,swaymsg甚至输出(该标志对没有发生任何事情的事实没有影响):

[
  {
    "success": true
  }
]

所以似乎没有任何错误。我尝试了多个参数,从我读过的其他来源来看,这app_id似乎是通过 与窗口或容器交互时进入 Wayland 的方法swaymsg,但没有任何反应。我还尝试使用不同的程序(例如终端或浏览器)执行该命令,没有任何变化。在它的手册中swaymsg还说要在命令周围加上引号,但这也没有帮助。由于我没有收到任何错误,我很困惑如何调试。

相关内容