[英]How to use pipe ( | ) in dwm (dynamic window manager) config in linux?
[英]Creating a window manager for Linux
我想创建一个简单的堆栈窗口管理器(在C
)供私人使用,主要用于学习和挑战自己。
我查看了twm
的源代码,它的铃声和口哨相对较少,但它似乎非常低,因为它不是基于小工具工具包。 1使用GTK +等工具包会更好吗? 我担心twm
中的一些代码和库可能过于陈旧( 编辑:不推荐),我希望窗口管理器使用相对现代的库。 为了便于理解,我也对如何从头开始一个窗口管理器的建议感兴趣 - 没有很多教程可以用于此目的。
更新:对于那些考虑类似项目的人:我最终使用了Common Lisp和CLX库 。 tinywm-lisp作为基础,辉煌的CLFSWM和Stumpwm是一个很好的帮助。 作为参考,我在Freenode上使用了CLX - Common LISP X接口 ( PDF警告 )和#xlib
。
无论你做什么,使用XCB而不是Xlib。 它“现代,异步,简单,让您直接访问X11协议。
看看dwm的代码。 代码库很漂亮,易于理解。 整件事大约有2000行。
我编写了一个深入的教程系列,向您展示如何用C ++编写X11窗口管理器:
此外,您可以查看一个简单的示例窗口管理器,basic_wm,at
它因教学目的而备受好评。
在Xlib和XCB上 - 如果你刚开始的话,我会推荐Xlib而不是XCB。 XCB效率更高,但它更低级,更冗长(想想GUI的汇编语言)。 在你已经有一个原型工作之前,你不想让自己过早优化。
http://code.google.com/p/partiwm/尝试从头开始编写窗口管理器(平铺,而不是堆叠),阅读代码可能对您有用。
metacity对某些UI元素使用gtk。 请参阅其HACKING和README。
另请参阅哪些优秀的Xlib编程指南?
为了便于理解,我也会对如何从头开始启动窗口管理器的建议感兴趣
您可能想看看aewm窗口管理器。 代码很小,很好地完成了基础知识。 它是用C语言编写的,使用的是Xlib。
Xmonad可能是一个很好的起点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.