Während ich lerne, bestimmte Dinge in der GUI-Programmierung zu tun (z. B. den Platz auf dem Bildschirm für eine Anwendung zu reservieren), muss ich mehr über den Window Manager lernen, normalerweise X11 unter Linux (ich bin nicht sicher, ob es überhaupt Distributionen gibt) , die etwas anderes als X11 verwenden, obwohl ich von Wayland gehört habe , das noch in keinem implementiert ist.)
Ich bin ziemlich neu in der Programmierung und ungeduldig; Also tauche ich einfach ein. Jetzt lese ich das ICCCM mit der Hoffnung, mehr zu lernen. Dieses Dokument zielt jedoch auf eine Öffentlichkeit ab, die (viel) mehr weiß als ich. Also bin ich auf einige Informationen gestoßen, und ich würde mich über Klarstellungen freuen.
Abschnitt 2 der ICCCM-Zitate:
Beachten Sie, dass alle Daten, die zwischen einem Eigentümer und einem Anforderer übertragen werden, normalerweise über den Server in einer X Version 11-Umgebung übertragen werden müssen. Ein Client kann nicht davon ausgehen, dass ein anderer Client dieselben Dateien öffnen oder sogar direkt kommunizieren kann. Der andere Client kommuniziert möglicherweise über einen völlig anderen Netzwerkmechanismus mit dem Server (z. B. kann ein Client DECnet und der andere TCP / IP-Client sein). Daher ist die Weitergabe indirekter Verweise auf Daten (wie Dateinamen, Hostnamen und Portnummern usw.) nur zulässig, wenn beide Clients ausdrücklich zustimmen.
Soweit ich weiß, basiert X Window Manager auf X Server (danke Wikipedia). Im obigen Zitat heißt es: Der Client kann über DECnet oder TCP / IP mit dem Server kommunizieren. Bisher dachte ich, dass "Server" eine Redewendung war, jetzt bezweifle ich: Ist X-Server ein Server wie in einem "Webserver"? Wie soll ich seine Funktion / Definition verstehen?
Dann gibt es oft Verweise auf X11, Xorg, X Server und / oder X Window Manager. Es wird verwirrend: Ist X11 ein Bundle mit Xorg und X Window Manager? Wenn ja, gibt es sonst noch etwas in diesem X11-Bundle?
X benötigt auch Maus oder Tastatur oder irgendeine andere Art von Eingabe: Gehört dieser Teil auch zu den Funktionen von X Server? Kümmert sich X Window Manager ausschließlich um die Anzeige?
Schließlich erwähnt das obige Zitat auch, dass Kunden miteinander kommunizieren oder nicht: Dies erinnerte mich an D-Bus, den ich ein wenig zu Lernzwecken verwendet habe. Mit D-Bus können Sie auch Fensterereignisse auslösen. Das bringt mich ein bisschen durcheinander, wie Programme miteinander kommunizieren sollen: * Welcher Unterschied besteht zwischen Programmen, die über X Server oder über D-Bus interagieren? *
Es ist eine Schande, dass diese Informationen irgendwie undeutlich bleiben, es erschwert das Lernen, aber hoffentlich können Sie etwas Licht in diese Sache bringen :) Danke.