Question

Je veux faire un gestionnaire de fenêtres dans l'une de ces langues (rubis préférence). Je n'ai honnêtement aucune idée où commencer, sauf que je besoin d'une sorte de module X à charger. Donc, si quelqu'un a la moindre idée ce serait bien si vous pouviez me pointer dans la bonne direction. Merci

Était-ce utile?

La solution

XCB, la prochaine API gen X utilise un format XML pour définir des protocoles X et génère des liaisons de langage spécifiques avec un script. Il est similaire au concept SWIG sauf qu'au lieu de décrire les API C, il décrit les protocoles X.

À l'heure actuelle, les liaisons existent pour C et Python. Un port Ruby serait théoriquement seulement une question d'écrire un traducteur de la langue de la définition du protocole XML à Ruby. Le code généré Ruby peut soit terminer l'API C ou mettre en oeuvre le protocole de fil en Ruby pur (je recommande ce dernier).

L'API a apparemment des avantages inhérents sur l'héritage Xlib liés au blocage des E / S. Il dispose également d'un port de Windows, assez curieusement.

http://xcb.freedesktop.org/

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

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

Autres conseils

Avez-vous regardé http://ruby-xlib-wrap.sourceforge.net/. Cela semble fournir des liaisons Ruby pour XLib.

Vous pouvez expérimenter l'utilisation XWindows avant d'essayer d'écrire un gestionnaire de fenêtres.

Pourquoi ne pas commencer avec un ordinateur de bureau, de sorte que vous pouvez obtenir une certaine expérience.

Note:

1) Impressionnant n'est pas écrit en Lua, il est écrit en C. Il utilise Lua comme une interface de script / config.

2) Qtile et Samurai-X sont deux wm de sont écrits en Python.

3) Subtil est un wm qui utilise Ruby comme langage de script.

Qtile et Subtil sont tous les deux gestionnaires de fenêtres carrelage.

Non Ruby ou Python, mais ces gestionnaires de fenêtres sont également écrites dans les langues fraîches: impressionnant (Lua) et xmonad (Haskell). Peut-être que vous pouvez regarder à l'intérieur de leurs internes et de voir comment ils fonctionnent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top