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詳しくはマニュアルページをご覧ください。

関連情報