我的问题是这样的这- 但我不想在特定工作区上打开给定的应用程序,我希望每个实例每次都在新工作区上打开。
链接问题中的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
,它首先打开程序,然后更改工作空间。