
私の問題はこれですこれ- しかし、特定のワークスペースで特定のアプリケーションを開けたくないので、毎回各インスタンスが新しいワークスペースで開くことを望みます。
リンクされた質問の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
これを行うには、小さな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
最初にプログラムを開いてからワークスペースを変更することです。