私の質問は次のようなものですこれ- ただし、特定のワークスペースで特定のアプリケーションを開くのではなく、各インスタンスを毎回新しいワークスペースで開くようにしたいのです。
リンク先の質問の 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
、最初にプログラムが開き、次にワークスペースが変更されます。