杀死 i3 工作区中的所有窗口

杀死 i3 工作区中的所有窗口

如果无法打开工作区,如何杀死工作区中的所有窗口?

我读了这个建议。但我无法做到这一点,因为我无法切换到工作区。

答案1

只需使用下面的代码即可正常工作

bindsym $mod+Shift+a focus parent,kill

这个对我有用

答案2

在这种情况下,技巧在于为绑定命令指定窗口选择。由于任何单独的 i3 配置文件 ( ~/.config/i3/config) 的结构可能非常不同,因此以下示例纯粹用于演示。此外,Ctrl由于密钥靠近密钥,因此在现实世界中使用密钥可能是一个糟糕的选择Shift

# Close focused window
bindsym $mod+q kill

# Close all windows on all workspaces (any class string)
bindsym $mod+Shift+q [class=”.*”] kill

# Close all windows on workspace 1 (name stored in $ws1)
bindsym $mod+Ctrl+1 [workspace=$ws1] kill

欲了解更多信息,请查看i3 用户指南

此外,尽管名称如此,该kill命令实际上并没有终止进程,而是尝试使用该WM_DELETE协议。因此,根据各自的行为,窗口可能最终不会关闭(很可能是有充分理由的)。

答案3

使用i3-input -F <format> -P <prompt>

这就是我在配置文件中使用它的方式:

bindsym $mod+q exec i3-input -F '[workspace=^%s$] kill' -P 'kill workspace?'

%s字符串中出现的每个都会被用户输入替换。查看i3-input手册页了解更多详细信息

相关内容