2009-04-28 13 views
0

Wenn ich meinen eigenen Window Manager für OS X schreiben wollte (bitte nicht mit "Was ist der Punkt" ??), welche APIs sollte ich mir anschauen?os x gui api Klärung

+0

Um den OS X-Fensterserver zu ersetzen oder in der X Windows-Umgebung zu laufen? –

+0

Nun, das ist, wo das ursprüngliche Problem herkommt .. Ich dachte, X könnte nicht zeigen, Kakaomaschinen? –

+0

Sie können Cocoa-Apps nicht auf einem X-Window-Server ausführen. Es klingt, als ob Sie den OS X WindowServer-Prozess ersetzen möchten. –

Antwort

0

Schreiben Sie auf Hardwareebene Ihre eigenen APIs.

Ansonsten gibt es verschiedene graphics architectures, in denen in der Fenster-Manager stopfen:

+0

ok cool, ich war ziemlich sicher, dass Quarz ist, was ich mir ansehen wollte. Danke für die Bestätigung –

2

Es gibt nicht so etwas wie ein "Fenstermanager" in OS X und keine öffentliche Schnittstelle, um eine zu implementieren. Die Funktionen, die ein X11-Fenstermanager ausführen würde, werden zwischen dem GUI-Toolkit (Carbon/Cocoa), der Dock-Anwendung und dem Fensterserver aufgeteilt.

Wenn Sie das Windowing-Verhalten von OS X ändern möchten, müssen Sie nur einzelne Anwendungen, das Dock (mit einer privilegierten Verbindung zum Fensterserver) und/oder den Fensterserver patchen. Es würde sehr viel Reverse Engineering beinhalten und höchstwahrscheinlich in 10,6 einbrechen, aber es ist sicherlich möglich.

+0

Dies ist natürlich möglich, da es kommerzielle Tools wie http://www.irradiatedsoftware.com/sizep/ gibt. Wie sind die Fensterserver-APIs? – Glyph

+0

SizeUp funktioniert mit einer Kombination aus Eingabehilfen und Skriptschnittstellen. Es ändert das vorhandene Fensterverhalten nicht. –