我想要实现以下目标:
启动时,以下应用程序应在以下工作空间中打开
工作空间 01
- gnome-terminal,未最大化
工作空间 02
- gnome-terminal,最大化
工作空间 03
- Mozilla Firefox,最大化
问题:我尝试过的方法似乎无法实现。第二个问题是能否在上述终端(tmux、我编写的其他脚本等)启动特定脚本。
故障排除:
- 我尝试使用“自动移动窗口”,但此工具会将任何应用程序移动到定义的工作区,即使它是同一个应用程序。因此,当我将终端设置为工作区 01 和 02 时,它会将两者都移动到工作区 02
- 尝试过 DevilsPie2,但我不确定这是否是答案,因为我不确定如何识别每个窗口。如果没有必要,我宁愿不使用此工具。
有什么建议吗?
答案1
对于您的情况,只需有一个启动脚本来启动和定位这些应用程序即可。然后,该启动脚本可以在第一个工作区上启动您的终端,然后移至第二个工作区,启动终端并将其最大化,然后移至工作区 3 并启动 Firefox。
允许您执行这些操作的工具是wmctrl
。您可以切换到特定桌面,可以将窗口移动到特定桌面,还可以操作窗口,例如最大化、最小化、取消装饰... 请参阅man wmctrl
文档。您可以在互联网上找到许多示例。
一旦您有了可以运行的脚本,您就可以让它在登录时自动启动。
答案2
我找到了一种解决方法。我最终安装了 Guake 终端。
Guake 是一个可以滑出或隐藏的终端托盘。我可以在工作区 1 上启动时同时运行 Guake 和 gnome-terminal。然后我在 Guake 终端内运行我的脚本,打开 gnome-terminal 并运行脚本,最后隐藏 Guake 终端。这对我来说很有效。