i3wmを使用して*新しい*ワークスペースで特定のアプリケーションを開く

i3wmを使用して*新しい*ワークスペースで特定のアプリケーションを開く

私の質問は次のようなものですこれ- ただし、特定のワークスペースで特定のアプリケーションを開くのではなく、各インスタンスを毎回新しいワークスペースで開くようにしたいのです。

リンク先の質問の OP は、ワークスペース 2 で Firefox を開き、ワークスペース 1 で Chromium を開くなどしたいと考えています。

テキスト エディター (Sublime Text) の新しいインスタンスを、新しいインスタンスごとに新しいワークスペースで開きたいです。これは可能ですか?

解決:

私は、承認された回答を修正した形で使用しました。

# .bashrc
...
function sublime {
  i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
  /usr/bin/sublime_text_3/sublime_text $1
}

次のように使用できるようになります。

$ sublime /path/to/file

また、ドットファイルを複数のコンピューターで使用しているため、すべてを 1 か所にまとめておくと便利です。

答え1

これを行うには、小さな BASH スクリプトを使用できます。

これにより、新しいワークスペースが開きます(ここ) を実行し、次のコマンドを実行します。

#!/bin/bash
i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
sublime-text

このスクリプトを の下に作成し/usr/bin、たとえば という名前を付けsublime-new、実行権限を与えると、ターミナル エミュレータから起動できるようになります。奇妙なことですが、 からスクリプトを実行するとdmenu、最初にプログラムが開き、次にワークスペースが変更されます。

関連情報