使用 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

您可以使用一個小型的 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,它首先打開程序,然後更改工作空間。

相關內容