如果我启动一个应用程序并在应用程序启动时切换工作区,则应用程序将转到当前工作区,而不是我“从中”调用它的工作区。
我在哪里可以改变这种行为?
我现在正在使用 xfce,但是很长一段时间以来我一直在使用不同的设置时遇到这个问题,我对 Awesome 和 qtile 也有相同的行为。
答案1
我很想亲自看到这个功能,但我认为这是不可能的。
如果应用程序需要很长时间才能启动,可能有多种原因导致:
- 无论启动什么,它的分叉和执行速度都可能很慢
- 文件系统访问应用程序的可执行文件可能会很慢(特别是如果它是网络文件系统)
- 应用程序在连接到 X 服务器之前初始化自身的速度可能很慢
- 应用程序在连接 X11 服务器和打开其第一个顶级窗口之间可能会产生延迟。
我们用户认为我们启动应用程序的时间确实比所有这些都早。这将是释放鼠标按钮导致选择启动应用程序的菜单选项的时间。或者Enter在终端中按下按键导致 shell 接受导致应用程序启动的命令的时间。或者甚至可能是单击浏览器超链接导致下载的时间,最终导致下载完成后打开文件。不管是什么,系统都不够聪明,无法将相关事件与新的顶级窗口的最终显示因果联系起来。
我想人们可以通过将应用程序启动时间考虑为首次连接到 X11 服务器时来近似该功能。 X11 服务器至少在原则上可以轻松地知道这一点。这至少可以减轻该时间点之后发生的延迟,因为可以在当时显示的任何工作空间上打开应用程序的窗口。它还需要在工作区切换发生时保留时间戳历史记录,以便人们可以返回并确定当时哪个工作区曾经可见。那是一个SMOP。这会很有趣,而且我认为还没有完成,而且我不知道需要做多少工作,也不知道这种近似在实践中是否足够好。