为 Linux 创建一个窗口管理器

标签 c linux x11 window-managers window-management

<分区>

我想创建一个简单的堆栈窗口管理器(C)供私有(private)使用,主要是为了学习和挑战自己。

我查看了 twm 的源代码,它的花里胡哨的东西相对较少,但看起来水平很低,因为它不是基于小部件工具包。 1 使用诸如 GTK+ 之类的工具包会更好吗?恐怕 twm 中的某些代码和库可能太过时(edit: 已弃用),我希望窗口管理器使用相对现代的库。为了便于理解,我也对如何从头开始启动窗口管理器的建议感兴趣——没有太多用于此目的的教程。

更新:对于那些考虑类似项目的人:我最终使用了 Common Lisp 和 CLX library . tinywm-lisp作为基础和辉煌CLFSWMStumpwm是一个很大的帮助。作为引用,我使用了 CLX — Common LISP X Interface (PDF 警告)和 Freenode 上的 #xlib

最佳答案

无论您做什么,请使用 XCB 而不是 Xlib。它现代、异步、更简单,让您可以直接访问 X11 协议(protocol)。

关于为 Linux 创建一个窗口管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3472540/

相关文章:

C 将结构传递给回调函数 (Tizen)

java - PocessBuilder 执行 glassfish 命令

linux - 如何在命令行中删除文件夹中的所有目录?

x11 - 无法让 XCreateSimpleWindow 在正确的位置打开窗口

c - 使用 X 调用渲染到 GLX 后台缓冲区?

c - 如何将数据从 C 传递到程序集

c - 在输出文件中添加 0 在控制台中不可见

c++ - 在 main 启动之前访问命令行

r - 如何在没有显示器的机器上运行带有内联图形的 jupyter Rkernel notebook?

c++ - 保留模距离的符号