Frage

Ich möchte einen Window-Manager in diesen beiden Sprachen machen (vorzugsweise Rubin). Ich habe ehrlich gesagt keine Ahnung, wo außer zu beginnen, dass ich eine Art von X-Modul zu laden benötigen. Also, wenn jemand eine Ahnung hat, es wäre toll, wenn Sie mir in die richtige Richtung zeigen könnte. Dank

War es hilfreich?

Lösung

XCB, das Next-Gen-API für X verwendet ein XML-Format X-Protokolle zu definieren und erzeugt spezifische Sprachbindungen mit einem Skript. Es ist im Konzept ähnlich wie SWIG außer dass anstelle C APIs beschreibt, beschreibt es X-Protokolle.

Derzeit existieren Bindungen für C und Python. Ein Ruby Port wäre theoretisch nur eine Frage der einen Übersetzer aus der XML-Protokolldefinition Sprache Ruby zu schreiben. Der erzeugte Ruby-Code könnte entweder die C-API wickeln oder den Draht Protokoll in reinem Ruby-Implementierung (I letzteres empfehlen).

Die API hat offenbar einige inhärenten Vorteile gegenüber dem Erbe Xlib zu blockieren E / A verwendet. Es hat auch ein Windows-Port, seltsam genug.

http://xcb.freedesktop.org/

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

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

Andere Tipps

Haben Sie sich unter http://ruby-xlib-wrap.sourceforge.net/. Dies scheint Ruby-Bindings für XLib zu liefern.

Sie können mit der Verwendung von XWindows experimentieren möchten, bevor Sie einen Window-Manager zu schreiben.

Warum nicht mit einem Desktop starten, so dass Sie einige Erfahrung erhalten können.

Hinweis:

1) Awesome ist nicht in lua geschrieben, es ist in C geschrieben Es verwendet Lua als scripting / config-Schnittstelle.

2) Qtile und Samurai-X ist zwei WMs in Python geschrieben werden.

3) Subtile ist ein wm, dass Verwendungen als Skript-Sprache Ruby.

Qtile und subtil sind Fliesen beide Window-Manager.

Nicht Rubin- oder Python, aber diese Window-Manager sind auch in kühlen Sprachen geschrieben: ehrfürchtige (Lua) und XMonad (Haskell). Vielleicht können Sie in ihrem Interna spähen und sehen, wie sie funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top