如果无法打开工作区,如何杀死工作区中的所有窗口?
我读了这个建议。但我无法做到这一点,因为我无法切换到工作区。
答案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
手册页了解更多详细信息