Ich möchte einen Fenstermanager in einer dieser Sprachen erstellen (vorzugsweise Ruby). Ich habe ehrlich gesagt keine Ahnung, wo ich anfangen soll, außer dass ich irgendeine Art von X-Modul zum Laden brauche. Wenn jemand eine Ahnung hat, wäre es großartig, wenn Sie mich in die richtige Richtung weisen könnten. Danke(Ruby || Python) Fenstermanager
Antwort
XCB, die nächste Gen-API für X, verwendet ein XML-Format zur Definition von X-Protokollen und generiert spezifische Sprachbindungen mit einem Skript. Es ähnelt dem Konzept von SWIG, außer dass es C-APIs beschreibt und X-Protokolle beschreibt.
Gegenwärtig gibt es Bindungen für C und Python. Ein Ruby-Port wäre theoretisch nur eine Frage des Schreibens eines Übersetzers aus der XML-Protokolldefinitionssprache in Ruby. Der generierte Ruby-Code könnte entweder die C-API umbrechen oder das Wire-Protokoll in reinem Ruby implementieren (ich empfehle letzteres).
Die API hat offensichtlich einige inhärente Vorteile gegenüber der Legacy-Xlib im Zusammenhang mit blockierenden E/A. Es hat auch einen Windows-Port, seltsam genug.
Haben Sie sich http://ruby-xlib-wrap.sourceforge.net/ angesehen. Dies scheint Ruby-Bindungen für XLib bereitzustellen.
Sie können mit XWindows experimentieren, bevor Sie versuchen, einen Fenstermanager zu schreiben.
Warum nicht mit einem Desktop starten, damit Sie etwas Erfahrung sammeln 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 sind zwei wm sind in Python geschrieben.
3) Subtil ist ein wm, das Ruby als Skriptsprache verwendet.
Qtile und Subtile sind beide Fensterverwalter.
- 1. Welcher Fenstermanager sollte ich als Beispiel verwenden?
- 2. Fehler: Ansicht nicht an Fenstermanager angeschlossen
- 3. Emacs: Schließen von Fenstermanager-Taste verhindern
- 4. Ruby python Einzeiler Umwandlung
- 5. Ruby to Python bridge
- 6. Python zu Ruby Konvertierung
- 7. PHP, Ruby, Python ... Yuma?
- 8. Python vs Ruby Klassenmethoden
- 9. Was wird heutzutage am häufigsten als Fenstermanager für OpenGL verwendet?
- 10. X11 kann Anwendungen nicht maximieren, wenn kein Fenstermanager verwendet wird
- 11. Warum haben nicht mehr Programmiersprachen eingebaute Schnittstellen zum Fenstermanager?
- 12. Ansicht nicht an Fenstermanager angeschlossen (was ist die Lösung?)
- 13. Debugging von Ruby/Python/Groovy
- 14. Ruby-Äquivalent von Python setattr()
- 15. Python entspricht Ruby Array.each-Methode
- 16. Warum wird (Python | Ruby) interpretiert?
- 17. Ruby on Rails versus Python
- 18. Kompilieren SASS + Grunt -Ruby -Python
- 19. Anruf Python-Skript von Ruby
- 20. Ruby entspricht Python-Liste Verständnis
- 21. Python-Ertrag vs Ruby-Ertrag
- 22. Scope in Ruby und Python
- 23. Ruby/Python Desktop-Anwendungen verteilen
- 24. Studienziel-C, Ruby oder Python?
- 25. Python-Äquivalent für Ruby-Kombinationsmethode
- 26. Hat Ruby eine Zip-Funktion wie Python?
- 27. Warum ist Python schneller als Ruby?
- 28. XCode 3.2 Ruby und Python Vorlagen
- 29. 3D-Spiele-Engines für Ruby oder Python?
- 30. In Ruby verschlüsseln und in Python entschlüsseln
subtil ist in C geschrieben, es verwendet nur Ruby als Skriptsprache. – unexist