1

我想为仅支持以下操作的演示文稿(非用户可控)实现一个简单的专用窗口管理器:

  1. 移动和调整窗口大小
  2. 切换桌面
  3. 在不破坏当前图像的情况下启动不在当前桌面(在后台)上的应用程序。

我不需要任何用户输入、按钮/标题,...

我应该使用什么现有的窗口管理器作为示例?有很多小的“hello world”窗口管理器,但它们通常不支持桌面切换。

4

2 回答 2

3

你不需要重新实现轮子。

  • openbox会做你提到的一切,除此之外。

    只需编辑rc.xml以禁用根菜单,然后重新启动。

    Openbox 还允许每个应用程序设置,以便某些应用程序可以默认在特定桌面上打开,或以特定大小打开,或打开隐藏。

    它还支持窗口选择中的通配符,以便设置可以应用于所有窗口。

  • devilspie2是一个窗口匹配实用程序,可以在窗口打开时执行操作。

    它是高度可破解的,代码可在 github 上找到。当它们打开时,它将按名称/类/等匹配窗口,并对它们执行操作。(包括匹配所有窗口并将它们移动到不同的桌面。它适用于大多数窗口管理器。

    基于没有 Lua 脚本的原始devilspie ,而是使用 s-exprs 配置。

  • xdotool还允许您在 Windows 上执行复杂的操作,而无需破解任何代码。如果您需要,它甚至会伪造用户输入(鼠标/kbd)。

于 2012-03-30T14:45:17.537 回答
1

有一些用 Python 编写的窗口管理器可能是很好的起点。Qtilewhimsy都将自己描述为可破解的。

于 2012-03-30T14:53:19.720 回答