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
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.
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.
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.
subtelny jest napisany w C, po prostu używa Ruby jako języka skryptowego. – unexist