Herbstluftwmの接続コマンドは、フレームのウィンドウ数によって異なります。

Herbstluftwmの接続コマンドは、フレームのウィンドウ数によって異なります。

Mod++をShift押したときにウィンドウを閉じる動作を設定したいですq。フレームにウィンドウがある場合とない場合は、ウィンドウを閉じてフレームを削除してください。ウィンドウが2つ以上の場合は、フォーカスがあるウィンドウのみが閉じます。これにより、フレームのウィンドウに基づいてフレーム/ウィンドウを動的に閉じるのが簡単になります。

次のように構成ファイルを編集して、要件の最初の部分を解決できました。つまり。フレームにウィンドウがある場合とない場合は、ウィンドウを閉じてフレームを削除してください。

hc keybind $Mod-n and . compare tags.focus.curframe_wcount lt 2 . chain , close , remove

しかし、2番目の部分を接続することはできません。フレームに複数のウィンドウがある場合は、焦点が合っているウィンドウを閉じます。私は次の2つのオプションを試しました。

  1. リンクを試してくださいまたは

hc keybind $Mod-n or | and . compare tags.focus.curframe_wcount lt 2 . chain , close , remove | close

  1. 別の関数を書いてみてください。
hc keybind $Mod-Shift-q close_frames

close_frames(){
    WinCurFrame=$(hc attr tags.focus.curframe_wcount)
    [[ WinInCurFrame < 2 ]] && hc close;remove || hc close
}

ベストアンサー1

これを達成する方法が識別される。 Herbstluftwmには、この動作を有効にする設定オプションがあります。 https://herbstluftwm.org/herbstluftwm.html

閉じるか削除してください フォーカスされたウィンドウを閉じるか、フォーカスされたウィンドウがない場合は、現在のフレームを削除します。フローティングモードではシャットダウンコマンドとして機能します。

閉じて削除してください 現在のフレームに他のウィンドウがない場合は、フォーカスされたウィンドウを閉じて現在のフレームを削除します。フローティングモードではシャットダウンコマンドとして機能します。

おすすめ記事