我的問題是這樣的這- 但我不想在特定工作區上打開給定的應用程序,我希望每個實例每次都在新工作區上打開。
連結問題中的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
,授予它 exec 權限,您現在可以從終端模擬器啟動它。奇怪的是,當從 執行腳本時dmenu
,它首先打開程序,然後更改工作空間。