启动的应用程序不会停留在同一个桌面上

And*_*nik 7 linux window-manager

为什么加载时间较长的应用程序(NetBeans、Eclipse 等)会“跳转”到当前桌面,即使该进程是在另一个桌面上启动的?

如果我转到桌面 3 并启动一个应用程序,然后在等待时转到桌面 2,那么当应用程序加载后,它将在桌面 2 上启动。有没有办法改变这一点?

Bob*_*bby 5

这是一个比较复杂的问题。

窗口管理器 (WM) 应该,谁会猜到,管理窗口。这包括但不限于它们的位置、尺寸、桌面以及它们是否接受装饰。不属于 WM 的是以任何方式启动应用程序,它只会查看和管理该进程将产生的窗口。那么,会发生什么?

  • 切换到桌面 2
  • 启动 NetBeans
    • 启动画面在桌面 2 上创建为没有装饰的窗口
  • 切换到桌面 3
    • NetBeans-Splash-Screen 保留在 Desktop 2
  • NetBeans 完成,最后创建主窗口,当然发送到当前桌面,因为它是一个全新的窗口

在这种情况下的问题是窗口管理器完全不知道(或无知,不确定)该窗口属于。有两种可能:

找到一个窗口管理器,它可以...

  1. ...支持按父进程对窗口进行分组
  2. ...允许您为每个窗口定义规则

或者你会得到一个像Devil's Pie这样的辅助应用程序,它允许定义窗口规则。