[英]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.