Frage

Einer meiner neuen Heimat-Projekte wird ein einfacher Window Manager sein, aber vor dem Start muß ich einige Dinge wissen:

  • Welches ist die beste Sprache ist, dies zu tun?
  • Wo man einige Ressourcen erhalten lernen?
War es hilfreich?

Lösung

Eine wichtige Entscheidung ist, wie Sie mit dem X-Server sprechen gehen. Sie können die für die Sprache Ihrer Wahl Bindungen Xlib verwenden, oder Sie können die auf höherer Ebene verwenden XCB Bindungen. (Wenn Sie verrückt , könnten Sie eine Buchse zum X-Server direkt öffnen ).

Um zu wissen, wie ein Window-Manager sich verhalten, gibt es zwei Dokumente, die die Konventionen und Richtlinien angeben: EWMH und ICCCM 1 . Konform zu diesen Mitteln der Fenster-Manager gut in GNOME verhalten, KDE, XFCE, und jede andere Desktop-Umgebung, die sich entlang kommt, obwohl sie einfach zu ignorieren sicherlich einfacher auf Ihrem ersten Versuch ist.

Ein Window-Manager muss nicht ein großer, komplizierter Ball von C - Erfolgreicher Window-Manager in der High-Level-Sprachen wie Lisp, Haskell geschrieben wurde, und Python, und sogar einig in C hat kleine und lesbar geblieben. XMonad , in Haskell geschrieben, unter 1000 Zeilen seit geraumer Zeit geblieben. Stumpwm (Common Lisp) und DWM (C) sind beide sehr minimalistisch. Sie könnten in der Lage sein, ihren Quellcode zu lesen Inspiration zu bekommen, wie eine WM zu entwerfen.


1 Elijah Newren schrieb:

  

DO NOT GO und jene Dinge lesen. Sie sind wirklich, wirklich langweilig. Wenn Sie das tun, werden Sie wahrscheinlich auf Ihren Schlaf am Ende Aufholprozess statt Hacking auf Metacity. ; -)

draus zu denken, Metacity 's-Dokumentation hat ein gutes Stück zu darüber sagt, wie es in Wechselwirkung mit Fenstern und welche Art von erweiterten Eigenschaften unterstützt wird.

Andere Tipps

tinywm in C kann hilfreich sein für die ersten Schritte.

Während eines andere Sprache und Satz von Bibliotheken technisch möglich ist, glaube ich, die beste Sprache Wahl C sein würde und die Xlib oder XCB Bibliotheken. Die meisten Fenstermanager für X verwenden, die, und da schon viel Schwung ist hier und Reife für diese speziellen Bibliotheken.

Einige Dokumente von Interesse:

  • Xlib Handbuch -. Für Low-Level-X Programmierung lesen muss
  • ICCCM -. Konventionen und Schnittstellen für die Kommunikation zwischen X-Anwendungen und dem Window-Manager
  • XCB - ein 21. Jahrhundert Ersatz für Xlib. Das ist ein bisschen niedrige Ebene und macht weniger Entscheidungen für Sie als Xlib. Von dem, was ich sammeln, ist das Ergebnis möglicherweise eine bessere Leistung, da mehr Potenzial für die Asynchronität, aber ich sollte ich gearbeitet habe nie mit ihm warnen.

Ich weiß, das Thema ist ein bisschen alt, aber ich war das Gleiche fragen. Diese Window-Manager namens i3 wie ein gutes scheint aus zu lernen.

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