Grundade Xfce Classic, en gaffel av Xfce utan fönsterdekoration på klientsidan

Sean Anastasi (Shawn Anastasio), en fri mjukvaruentusiast som vid ett tillfälle utvecklade sitt eget operativsystem ShawnOS och var involverad i porteringen av Chromium och Qubes OS till ppc64le-arkitekturen, grundad projektet Xfce Classic, inom vilken han avser att utveckla gafflar av Xfce-användarmiljökomponenter som fungerar utan användning av fönsterdekorationer på klientsidan (CSD, dekorationer på klientsidan), där fönstertiteln och ramarna inte ritas av fönsterhanteraren utan av själva applikationen.

Låt oss påminna dig om att som förberedelse för nästa utgåva av Xfce 4.16, vars utgåva förväntas i oktober eller november överfördes gränssnittet till GtkHeaderBar-widgeten och användandet av CSD, vilket gjorde det möjligt, analogt med GNOME, att placera menyer, knappar och andra gränssnittselement i fönsterhuvudet, samt att säkerställa att döljningen av ramar i dialoger. Den nya gränssnittsrenderingsmotorn är integrerad i libxfce4ui-biblioteket, vilket har resulterat i automatisk CSD-applikation för nästan alla dialoger, utan att behöva göra ändringar i koden för befintliga projekt.

Vid övergången till CSD hittades motståndare, som anser att CSD-stöd bör vara valfritt och användaren ska kunna fortsätta använda klassiska fönstertitlar. Bland nackdelarna med att använda CSD, det för massiva fönstertitelområdet, avsaknaden av behov av att överföra applikationselement till fönstertiteln, inoperabiliteten hos Xfwm4-teman och diskrepansen i designen av fönster för Xfce/GNOME-applikationer och program som gör det. inte använda CSD nämns. Det noteras att en av anledningarna till att vissa användare avvisar GNOME-gränssnittet är användningen av CSD.

Eftersom inget försök har gjorts att ge stöd för att inaktivera CSD på 5 månader, säger Sean Anastasi bestämt tog det här problemet i mina egna händer och skapade en del av biblioteket libxfce4ui, där jag rengjorde bindningen till CSD:n och returnerade det gamla dekorationsläget på serversidan (fönsterhanteraren). För att säkerställa kompatibilitet med applikationer som använder det nya libxfce4ui API och bevara ABI, har speciella bindningar förberetts som översätter specifika CSD-metoder i klassen XfceTitledDialog till anrop av klassen GtkDialog. Som ett resultat är det möjligt att ta bort Xfce-applikationer från CSD genom att ersätta libxfce4ui-biblioteket, utan att ändra koden för själva applikationerna.

Dessutom har en gaffel bildats xfce4-panel, som inkluderar ändringar för att returnera klassiskt beteende. Förberedd för Gentoo-användare överlagring för att installera libxfce4ui-nocsd. Förberedd för Xubuntu/Ubuntu-användare PPA-förråd med färdiga paket. Sean Anastasi förklarade skälen till att skapa gaffeln genom att säga att han har använt Xfce i många år och gillar gränssnittet i den här miljön. Efter att ha beslutat om gränssnittsändringar som han inte höll med om, och inget försök att ge en möjlighet att återgå till det gamla beteendet, bestämde han sig för att lösa sitt problem själv och dela lösningen med andra likasinnade.

Ett av problemen när du använder Xfce Classic är uppkomsten av dubbletter av titlar på grund av visningen av upprepad information i titeln och i programfönstret. Den här funktionen överensstämmer med beteendet hos Xfce 4.12 och 4.14 och är inte relaterad till CSD. I vissa applikationer ser sådan dubblering normalt ut (till exempel i xfce4-screenshooter), men i andra är det helt klart olämpligt. För att lösa detta problem är det möjligt att lägga till en miljövariabel som styr renderingen av XfceHeading.

Grundade Xfce Classic, en gaffel av Xfce utan fönsterdekoration på klientsidan

CSD-anhängares position beror på möjligheten att använda bortkastat fönstertitelutrymme för att placera menyer, panelknappar och andra viktiga gränssnittselement. Motståndare till CSD anser att detta tillvägagångssätt ställer till problem med att förena designen av fönster, särskilt de som är skrivna för olika användarmiljöer som definierar olika rekommendationer för layouten av titelområdet. Det är mycket lättare att få designen av fönster för alla applikationer till en enda stil när man klassiskt renderar serviceområden i ett fönster på serversidan. Vid användning av CSD är det nödvändigt att separat anpassa applikationsgränssnittet till varje grafisk miljö och det är ganska svårt att säkerställa att applikationen inte ser främmande ut i olika användarmiljöer.

Källa: opennet.ru

Lägg en kommentar