我想为演示实现一个简单的专用窗口管理器(不是用户可控的),它只支持以下操作:
- 移动和调整窗口大小
- 切换桌面
- 在不中断当前图像的情况下启动不在当前桌面上的应用程序(在后台)。
我不需要任何用户输入、按钮/标题...
我应该使用哪个现有的窗口管理器作为示例?有很多小的“hello world”窗口管理器,但它们通常不支持桌面切换。
最佳答案
您不需要重新实现轮子。
openbox 会做你提到的一切,甚至更多。
只需编辑 rc.xml禁用根菜单,然后重新启动。
Openbox 还允许 per app setting以便某些应用程序可以默认在特定桌面上打开,或以特定大小打开,或隐藏打开。
还支持在窗口选择中使用通配符,以便设置可以应用于所有窗口。
devilspie2 是一个窗口匹配实用程序,可以在窗口打开时执行操作。
它是高度可破解的,代码是 available on github .它会在窗口打开时按名称/类/等匹配窗口,并对它们执行操作。 (包括匹配所有窗口并将它们移动到不同的桌面。它适用于大多数窗口管理器。
基于原文devilspie它没有 Lua 脚本,而是使用 s-exprs 配置。
xdotool 还将允许您在 Windows 上执行复杂的操作而无需破解任何代码。如果需要,它甚至会伪造用户输入(鼠标/kbd)。
关于linux - 我应该使用哪个窗口管理器作为示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9945158/