2009-09-06 7 views
5

Chcę utworzyć menedżera okien w jednym z tych języków (najlepiej ruby). Szczerze mówiąc nie mam pojęcia, od czego zacząć, z wyjątkiem tego, że do załadowania potrzebuję jakiegoś modułu X. Więc jeśli ktoś ma jakąś wskazówkę, byłoby wspaniale, gdybyś mógł wskazać mi właściwy kierunek. Dziękujemy(Ruby || Python) Menedżer okien

Odpowiedz

6

XCB, następny gen API dla X używa formatu XML do definiowania protokołów X i generuje specyficzne powiązania językowe ze skryptem. Jest to pojęcie podobne do SWIG, z tym wyjątkiem, że zamiast opisywania API C opisuje on protokoły X.

Obecnie istnieją powiązania dla C i Python. Port Ruby teoretycznie byłby tylko kwestią napisania tłumacza z języka definicji protokołu XML do Rubiego. Wygenerowany kod Ruby może łączyć API C lub implementować protokół wire w czystej Ruby (polecam to drugie).

Wygląda na to, że API ma pewne zalety w porównaniu ze starszym Xlib związanym z blokowaniem operacji we/wy. Ma również dziwny port Windows.

http://xcb.freedesktop.org/

http://xcb.freedesktop.org//XcbPythonBinding/

http://xcb.freedesktop.org//win32port/

2

Czy obejrzałeś http://ruby-xlib-wrap.sourceforge.net/. Wygląda na to, że zapewnia powiązania Ruby dla XLib.

Być może zechcesz poeksperymentować z używaniem XWindows przed próbą napisania menedżera okien.

Dlaczego nie zacząć od pulpitu, aby uzyskać trochę doświadczenia.

0

Not Ruby lub Python, ale te menedżery okien są również zapisywane w chłodnych językach: awesome (Lua) i XMonad (Haskell). Może możesz zajrzeć do wnętrza i zobaczyć, jak działają.

2

Uwaga:

1) Niesamowite nie jest napisane w Lua, on napisany w C. Używa Lua jako interfejs skryptowy/config.

2) Qtile i Samurai-X to dwie wm napisane w pythonie.

3) Subtle to wm, który używa ruby ​​jako języka skryptowego.

Qtile i Subtle są zarówno tilingowymi menadżerami okien.

+0

subtelny jest napisany w C, po prostu używa Ruby jako języka skryptowego. – unexist