Domanda

Voglio fare un window manager in una di queste lingue (preferibilmente rosso rubino). Onestamente non ho idea da dove cominciare se non che avrò bisogno di un qualche tipo di modulo X da caricare. Quindi, se qualcuno ha un indizio sarebbe bello se mi potrebbe punto nella giusta direzione. Grazie

È stato utile?

Soluzione

XCB, la prossima generazione di API per X utilizza un formato XML per definire i protocolli X e genera attacchi linguistiche specifiche con uno script. È simile nel concetto a SWIG tranne che invece di descrivere API C, descrive protocolli X.

Al momento, esistono associazioni per C e Python. Una porta di Ruby sarebbe teoricamente essere solo una questione di scrivere un traduttore dalla lingua definizione di protocollo XML per Ruby. Il codice vermiglio generato potrebbe o avvolgere l'API C o implementare il protocollo filo in puro rubino (consiglio quest'ultimo).

L'API ha apparentemente alcuni vantaggi intrinseci oltre l'eredità Xlib relative al blocco di I / O. Ha anche una porta di Windows, stranamente.

http://xcb.freedesktop.org/

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

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

Altri suggerimenti

Hai guardato http://ruby-xlib-wrap.sourceforge.net/. Questo sembra fornire attacchi di Ruby per XLib.

Si consiglia di sperimentare usando XWindows prima di provare a scrivere un window manager.

perché non iniziare con un desktop, in modo da poter ottenere una certa esperienza.

Nota:

1) Awesome non è scritto in Lua, è scritto in C. Esso utilizza Lua come interfaccia di scripting / config.

2) Qtile e Samurai-X sono due wm di sono scritti in Python.

3) Sottile è un wm che utilizza rubino come linguaggio di scripting.

Qtile e sottile sono entrambi PIASTRELLATURA window manager.

Non Ruby o Python, ma questi window manager sono anche scritte in linguaggi fresco: impressionante (Lua) e XMonad (Haskell). Forse si può sbirciare dentro i loro interni e vedere come funzionano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top