Gründung von Xfce Classic, einem Fork von Xfce ohne clientseitige Fensterdekoration

Sean Anastasi (Shawn Anastasio), ein Enthusiast freier Software, der einst sein eigenes Betriebssystem entwickelte ShawnOS und war an der Portierung von Chromium und Qubes OS auf die ppc64le-Architektur beteiligt, gegründet Projekt Xfce Classic, in dessen Rahmen er Forks von Xfce-Benutzerumgebungskomponenten entwickeln will, die ohne die Verwendung von clientseitigen Fensterdekorationen (CSD, clientseitige Dekorationen) funktionieren, bei denen der Fenstertitel und die Rahmen nicht vom Fenstermanager, sondern von gezeichnet werden die Anwendung selbst.

Wir möchten Sie daran erinnern, dass wir uns auf die nächste Version von Xfce 4.16 vorbereiten, deren Veröffentlichung ожидается Im Oktober oder November wurde die Schnittstelle auf das GtkHeaderBar-Widget und die Verwendung von CSD übertragen, was es ermöglichte, analog zu GNOME Menüs, Schaltflächen und andere Oberflächenelemente im Fensterkopf zu platzieren und das Ausblenden sicherzustellen von Frames in Dialogen. Die neue Interface-Rendering-Engine ist in die Bibliothek libxfce4ui integriert, was zu einer automatischen CSD-Anwendung für fast alle Dialoge führt, ohne dass Änderungen am Code bestehender Projekte vorgenommen werden müssen.

Beim Übergang zum CSD wurden gefunden Gegner, die der Meinung sind, dass die CSD-Unterstützung optional sein sollte und der Benutzer weiterhin klassische Fenstertitel verwenden können sollte. Zu den Nachteilen der Verwendung von CSD gehören der zu große Fenstertitelbereich, die fehlende Notwendigkeit, Anwendungselemente in den Fenstertitel zu übertragen, die Inoperabilität von Xfwm4-Themen und die Diskrepanz im Fensterdesign von Xfce/GNOME-Anwendungen und Programmen, die dies tun CSD nicht verwenden, werden erwähnt. Es wird darauf hingewiesen, dass einer der Gründe für die Ablehnung der GNOME-Schnittstelle durch einige Benutzer die Verwendung von CSD ist.

Da seit 5 Monaten kein Versuch unternommen wurde, Unterstützung für die Deaktivierung von CSD zu leisten, Sean Anastasi entschieden Ich habe dieses Problem selbst in die Hand genommen und einen Zweig der Bibliothek erstellt libxfce4ui, in dem ich die Bindung an den CSD bereinigt und den alten Dekorationsmodus auf der Serverseite (Fenstermanager) zurückgegeben habe. Um die Kompatibilität mit Anwendungen sicherzustellen, die die neue libxfce4ui-API verwenden, und die ABI beizubehalten, wurden spezielle Bindungen vorbereitet, die bestimmte CSD-Methoden der XfceTitledDialog-Klasse in Aufrufe der GtkDialog-Klasse übersetzen. Dadurch ist es möglich, Xfce-Anwendungen von CSD zu befreien, indem die libxfce4ui-Bibliothek ersetzt wird, ohne den Code der Anwendungen selbst zu ändern.

Zusätzlich wurde eine Gabelung gebildet xfce4-panel, die Änderungen zur Rückgabe des klassischen Verhaltens enthält. Für Gentoo-Benutzer vorbereitet Auflage um libxfce4ui-nocsd zu installieren. Vorbereitet für Xubuntu/Ubuntu-Benutzer PPA-Repository mit fertigen Paketen. Sean Anastasi erläuterte die Gründe für die Entwicklung des Forks damit, dass er Xfce seit vielen Jahren nutzt und ihm die Benutzeroberfläche dieser Umgebung gefällt. Nachdem er sich für Schnittstellenänderungen entschieden hatte, mit denen er nicht einverstanden war, und keinen Versuch unternommen hatte, eine Option zur Rückkehr zum alten Verhalten bereitzustellen, beschloss er, sein Problem selbst zu lösen und die Lösung mit anderen Gleichgesinnten zu teilen.

Eines der Probleme bei der Verwendung von Xfce Classic ist das Auftreten doppelter Titel aufgrund der wiederholten Anzeige von Informationen im Titel und im Anwendungsfenster. Diese Funktion stimmt mit dem Verhalten von Xfce 4.12 und 4.14 überein und hat nichts mit CSD zu tun. In einigen Anwendungen sieht eine solche Duplizierung normal aus (z. B. im xfce4-screenshooter), in anderen ist sie jedoch eindeutig unangemessen. Um dieses Problem zu lösen, ist es möglich, eine Umgebungsvariable hinzuzufügen, die das Rendering von XfceHeading steuert.

Gründung von Xfce Classic, einem Fork von Xfce ohne clientseitige Fensterdekoration

Die Position der CSD-Befürworter beruht auf der Möglichkeit, verschwendeten Fenstertitelraum zum Platzieren von Menüs, Panel-Schaltflächen und anderen wichtigen Schnittstellenelementen zu nutzen. Gegner von CSD glauben, dass dieser Ansatz Probleme bei der Vereinheitlichung des Designs von Fenstern mit sich bringt, insbesondere von Fenstern, die für unterschiedliche Benutzerumgebungen geschrieben wurden und unterschiedliche Empfehlungen für das Layout des Titelbereichs definieren. Es ist viel einfacher, das Design der Fenster aller Anwendungen auf einen einzigen Stil zu bringen, wenn man Servicebereiche eines Fensters klassisch auf der Serverseite rendert. Bei der Verwendung von CSD ist es notwendig, die Anwendungsoberfläche separat an jede grafische Umgebung anzupassen und es ist ziemlich schwierig sicherzustellen, dass die Anwendung in verschiedenen Benutzerumgebungen nicht fremd aussieht.

Source: opennet.ru

Kommentar hinzufügen