使用 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,它首先打开程序,然后更改工作空间。

相关内容