i3のショートカットでコマンドを実行する

i3のショートカットでコマンドを実行する

私の目標は、キーの組み合わせを押して特定のワークスペース(i3)で端末を開いてコマンドを実行できるようにすることです。 (これをエイリアスとして使用してきましたが、このコマンドをよく使用します)

i3設定でこれを行うことができたらと思います。特定のワークスペースでアプリケーションを強制的に開くことができることを知っていますが、私が開いたいのは通常の端末であり、当然、このワークスペース端末ですべてを開くわけではありません。

どうやってこれができますか?

答え1

多くの端末エミュレータには、クラス名、インスタンス名、または新しく作成されたウィンドウのタイトルを指定するオプションがあります。一意の名前でなければなりません。

for_windowi3はこれらのプロパティを使用して任意のウィンドウで機能できます。

たとえば、クラス名を使用してワークスペース 6 でcal実行されている Alacritty ターミナルを開き、mytermそのターミナルに切り替えるには、構成に以下を追加します。

for_window [class="myterm"] move container to workspace 6
bindsym $mod+Control+6 exec "alacritty --class 'myterm,myterm' --hold -e cal"; workspace 6

xtermの使用:

bindsym $mod+Control+6 exec "xterm -class myterm -hold -e cal"; workspace 6

「keep」オプションは、通常、コマンドの実行後にウィンドウがすぐに閉じないようにするために必要です。

オプションについては、特定の端末エミュレータのマンページを確認してください。

関連情報