2009-09-06 8 views
5

Quiero hacer un administrador de ventanas en cualquiera de estos idiomas (preferiblemente ruby). Sinceramente, no tengo idea de dónde empezar, excepto que necesitaré algún tipo de módulo X para cargar. Entonces, si alguien tiene una pista, sería genial si pudiera orientarme en la dirección correcta. Gracias(Ruby || Python) administrador de ventanas

Respuesta

6

XCB, la siguiente generación API para X utiliza un formato XML para definir protocolos X y genera enlaces de lenguaje específicos con un script. Es similar en concepto a SWIG, excepto que en lugar de describir las API C, describe los protocolos X.

Actualmente, existen enlaces para C y Python. Un puerto de Ruby teóricamente sería solo cuestión de escribir un traductor del lenguaje de definición de protocolo XML a Ruby. El código de Ruby generado podría envolver la API de C o implementar el protocolo de conexión en Ruby puro (recomiendo lo último).

La API aparentemente tiene algunas ventajas inherentes sobre el Xlib heredado relacionado con el bloqueo de E/S. También tiene un puerto de Windows, por extraño que parezca.

http://xcb.freedesktop.org/

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

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

2

¿Has mirado http://ruby-xlib-wrap.sourceforge.net/. Esto parece proporcionar enlaces de Ruby para XLib.

Es posible que desee experimentar con el uso de XWindows antes de intentar escribir un administrador de ventanas.

¿Por qué no comenzar con una computadora de escritorio, por lo que puede obtener un poco de experiencia.

0

No Rubí o Python, pero estos gestores de ventanas también están escritos en idiomas fresco: awesome (LUA) y XMonad (Haskell). Quizás puedas echar un vistazo dentro de sus interiores y ver cómo funcionan.

2

Nota:

1) impresionante no está escrita en lua, está escrito en C. Se utiliza Lua como una interfaz de scripting/config.

2) Qtile y Samurai-X son dos wm escritos en python.

3) Sutil es una wm que usa ruby ​​como lenguaje de scripting.

Qtile y Subtle son gerentes de ventana de mosaico.

+0

sutil está escrito en C, simplemente usa Ruby como lenguaje de scripting. – unexist

Cuestiones relacionadas