dax*_*dax 5 i3 window-management
我的问题是这样的- 但我不想在特定工作区打开给定的应用程序,我希望每个实例每次都在新工作区打开。
链接到问题中的 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
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以这样使用它:
$ sublime /path/to/file
Run Code Online (Sandbox Code Playgroud)
并且因为我在多台计算机上使用我的点文件,所以最好将所有内容都包含在一个地方!
您可以使用一个小的 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
Run Code Online (Sandbox Code Playgroud)
在 下创建此脚本/usr/bin
,将其命名为例如。sublime-new
,给它 exec 权限,您现在可以从终端模拟器启动它。奇怪,但是从 执行脚本时dmenu
,它首先打开程序,然后更改工作区。