是否可以在不同的屏幕上运行不同的窗口管理器?
例如,我想在一个屏幕上运行平铺窗口管理器(例如 awesome),然后我想在另一个屏幕上运行堆叠窗口管理器(例如 Compiz)。
答案1
是的,这是可能的。它需要窗口管理器的配合。窗口管理器应该在其命令行或配置文件中有一个选项来告诉它要管理哪些屏幕。例如,fvwm -s 0
告诉 Fvwm 仅管理屏幕 0(默认情况下,Fvwm 和我所知道的每个窗口管理器一样,管理所有屏幕)。
如果您的窗口管理器不提供不管理所有屏幕的方法,我认为没有办法从外部强制执行。您需要修改源代码。关键更改涉及如下行:
XSelectInput(dpy, RootWindow(dpy, screen_num), SubstructureRedirectMask);
您只需在一个屏幕上执行此行,而不是在所有屏幕上执行。根据窗口管理器的体系结构,这可能是一个微不足道的更改,也可能涉及大量额外的编码。
请注意,我假设您指的是 X Window System 技术意义上的屏幕。如果您想要多个可以使用 ++ 切换的显示器Ctrl,Alt那就完全是另一回事了。此外,在 X 显示器上有多个屏幕的情况非常罕见;我不会在本回答中讨论为什么或如何做到这一点。Fn