在为Linux创建的窗口管理器 [英] Creating a window manager for Linux
问题描述
我想创建一个简单的堆叠的窗口管理器(在 C
)作私人用途,主要用于学习的目的和挑战自己。
I want to create a simple stacking window manager (in C
) for private use, mainly for the purpose of learning and challenging myself.
我已经通过 TWM
的源$ C $ C具有相对少花俏看了,但因为它不是基于部件工具箱似乎非常低的水平 的 1 使用WebSphere可以如GTK +是preferable?恐怕有些code和图书馆 TWM
的可能过于陈旧(编辑:的德precated)和我希望窗口管理器使用相对现代化图书馆。为了理解起见,我也有兴趣在建议如何从头开始一个窗口管理器 - 有没有为此很多教程
I've looked through twm
's source code which has relatively few bells and whistles but it seems very low level since it's not based on a widget toolkit.1 Would using a toolkit such as GTK+ be preferable? I'm afraid that some of the code and libraries in twm
might be too antiquated (edit: deprecated) and I want the window manager to use relatively modern libraries. For the sake of understanding I would also be interested in suggestions how to start a window manager from scratch — there aren't many tutorials for this purpose.
更新:为类似工程的那些想法:我最终使用的Common Lisp和的 CLX库。 tinywm,口齿不清担任的基础和辉煌的 CLFSWM 和 Stumpwm 是一个很大的帮助。仅供参考我使用的 CLX - Common Lisp的光接口( PDF警告的)和 #xlib
Freenode上。
Update: For those thinking of similar projects: I ended up using Common Lisp and the CLX library. tinywm-lisp served as a basis and the brilliant CLFSWM and Stumpwm were a great help. For reference I used the CLX — Common LISP X Interface (PDF warning) and #xlib
on Freenode.
推荐答案
不管你做什么,使用XCB,而不是Xlib的。它是现代的,异步的,更简单,让您的X11协议直接访问。
Whatever you do, use XCB and not Xlib. It' modern, asynchronous, simpler and gives you direct access to the X11 protocol.
这篇关于在为Linux创建的窗口管理器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!