linux - 我应该使用哪个窗口管理器作为示例?

标签 linux window-managers

我想为演示实现一个简单的专用窗口管理器(不是用户可控的),它只支持以下操作:

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

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

我应该使用哪个现有的窗口管理器作为示例?有很多小的“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/

相关文章:

c - 无法编译 io_uring

linux - 异步套接字回调在 Mono/Linux 中不起作用

linux - 如何检测 bash 中是否正在运行 i3-wm 或是否正在运行 GNOME

linux - 如何对 AwesomeWM 文本时钟小部件实现序数日?

android - 如何在 Asynctask 中实现 getWindowManager()?

c - 目录是否有等效的 O_TMPFILE?

linux - 了解 libzip 的工作原理

linux - 无论 bash printf 输出如何,都将文本保留在适当的位置

ruby - Ruby 桌面环境

show-hide - _NET_WM_STATE_HIDDEN 是否暗示 _NET_WM_STATE_SKIP_TASKBAR