Création de Xfce Classic, un fork de Xfce sans décoration de fenêtre côté client

Sean Anastasi (Shawn Anastasio), un passionné de logiciels libres qui a autrefois développé son propre système d'exploitation ShawnOS et a participé au portage de Chromium et Qubes OS sur l'architecture ppc64le, основал projet Xfce Classique, au sein duquel il a l'intention de développer des forks de composants d'environnement utilisateur Xfce qui fonctionnent sans l'utilisation de décorations de fenêtres côté client (CSD, décorations côté client), dans lesquelles le titre et les cadres de la fenêtre ne sont pas dessinés par le gestionnaire de fenêtres, mais par l'application elle-même.

Rappelons qu'en préparation de la prochaine version de Xfce 4.16, dont la sortie est prévu en octobre ou novembre, l'interface a été transférée vers le widget GtkHeaderBar et l'utilisation de CSD, qui permettait, par analogie avec GNOME, de placer des menus, boutons et autres éléments d'interface dans l'en-tête de la fenêtre, ainsi que d'assurer le masquage des images dans les boîtes de dialogue. Le nouveau moteur de rendu d'interface est intégré à la bibliothèque libxfce4ui, ce qui a permis une application automatique du CSD pour presque toutes les boîtes de dialogue, sans qu'il soit nécessaire d'apporter des modifications au code des projets existants.

Au passage au CSD ont été trouvés adversaires, qui estiment que la prise en charge de CSD devrait être facultative et que l'utilisateur devrait pouvoir continuer à utiliser les titres de fenêtres classiques. Parmi les inconvénients de l'utilisation de CSD, on note la zone de titre de fenêtre trop volumineuse, l'absence de nécessité de transférer des éléments d'application vers le titre de fenêtre, l'inopérabilité des thèmes Xfwm4 et la divergence dans la conception des fenêtres des applications et programmes Xfce/GNOME qui le font. ne pas utiliser de CSD sont mentionnés. Il est à noter que l'une des raisons du rejet de l'interface GNOME par certains utilisateurs est l'utilisation de CSD.

Puisqu'aucune tentative n'a été faite pour fournir un support pour la désactivation du CSD en 5 mois, Sean Anastasi décidé a pris ce problème en main et a créé un fork de la bibliothèque libxfce4ui, dans lequel j'ai nettoyé la liaison au CSD et renvoyé l'ancien mode de décoration côté serveur (gestionnaire de fenêtres). Pour garantir la compatibilité avec les applications utilisant la nouvelle API libxfce4ui et préserver l'ABI, des liaisons spéciales ont été préparées qui traduisent les méthodes CSD spécifiques de la classe XfceTitledDialog en appels de la classe GtkDialog. De ce fait, il est possible de débarrasser les applications Xfce du CSD en remplaçant la bibliothèque libxfce4ui, sans changer le code des applications elles-mêmes.

De plus, une fourchette a été formée xfce4-panneau, qui inclut des modifications pour revenir au comportement classique. Préparé pour les utilisateurs Gentoo revêtement pour installer libxfce4ui-nocsd. Préparé pour les utilisateurs Xubuntu/Ubuntu Dépôt PPA avec des packages prêts à l'emploi. Sean Anastasi a expliqué les raisons de la création du fork en disant qu'il utilise Xfce depuis de nombreuses années et qu'il aime l'interface de cet environnement. Après avoir décidé des modifications d'interface avec lesquelles il n'était pas d'accord et sans avoir tenté de proposer une option permettant de revenir à l'ancien comportement, il a décidé de résoudre son problème lui-même et de partager la solution avec d'autres personnes partageant les mêmes idées.

L'un des problèmes lors de l'utilisation de Xfce Classic est l'apparition de titres en double dus à l'affichage d'informations répétées dans le titre et dans la fenêtre de l'application. Cette fonctionnalité est cohérente avec le comportement de Xfce 4.12 et 4.14 et n'est pas liée à CSD. Dans certaines applications, une telle duplication semble normale (par exemple, dans xfce4-screenshooter), mais dans d'autres, elle est clairement inappropriée. Pour résoudre ce problème, il est possible d'ajouter une variable d'environnement qui contrôle le rendu de XfceHeading.

Création de Xfce Classic, un fork de Xfce sans décoration de fenêtre côté client

La position des partisans du CSD se résume à la possibilité d'utiliser l'espace gaspillé dans le titre des fenêtres pour placer des menus, des boutons de panneau et d'autres éléments d'interface importants. Les opposants au CSD estiment que cette approche pose des problèmes pour unifier la conception des fenêtres, en particulier celles écrites pour différents environnements utilisateur qui définissent des recommandations différentes pour la disposition de la zone de titre. Il est beaucoup plus facile de regrouper la conception des fenêtres de toutes les applications dans un style unique lors du rendu classique des zones de service d'une fenêtre côté serveur. Dans le cas de l'utilisation de CSD, il est nécessaire d'adapter séparément l'interface de l'application à chaque environnement graphique et il est assez difficile de garantir que l'application ne semble pas étrangère dans différents environnements utilisateur.

Source: opennet.ru

Ajouter un commentaire