Shawn Anastasio (), entusiast av fri programvara, har tidigare utvecklat sitt eget operativsystem och har arbetat med portering av Chromium och Qubes OS till plattformen ppc64le, projektet , inom vilket han avser att vidareutveckla forkade komponenter av användarmiljön Xfce, som arbetar utan klientbaserad fönsterdekoration (CSD, client-side decorations), där fönsterhuvudet och ramarna ritas av själva applikationen snarare än fönsterhanteraren.
Vi påminner om att i förberedelserna för nästa release av Xfce 4.16, vars lansering är planerad till oktober eller november, har gränssnittet översatts till widgeten GtkHeaderBar och CSD tillämpats, vilket möjliggjort, likt GNOME, att placera menyer, knappar och andra gränssnittselement i fönsterhuvudet, samt att dölja ramar i dialoger. Den nya gränssnittsritningen har integrerats i biblioteket libxfce4ui, vilket har lett till automatiskt tillämpad CSD för nästan alla dialogrutor, utan behov av kodändringar i befintliga projekt.
Det finns , som anser att stödet för CSD bör vara valfritt och att användaren ska ha möjlighet att fortsätta använda klassiska fönsterhuvuden. Bland nackdelarna med CSD nämns en för stor områdeshuvud, avsaknaden av behovet att flytta applikationselement till fönsterhuvudet, att teman för Xfwm4 inte fungerar samt att utseendet på fönster i applikationer för Xfce/GNOME och program som inte använder CSD är inkonsekvent. Det påpekas att en av orsakerna till aversion mot GNOME-gränssnittet bland vissa användare är användningen av CSD.
Eftersom det inte har gjorts några försök att införa stöd för att stänga av CSD under de senaste 5 månaderna, tog Shawn Anastasio , där han rensade bort CSD-beroendet och återinförde det gamla serverbaserade dekoreringsläget (fönsterhanteraren). För att säkerställa kompatibilitet med applikationer som använder det nya API:et libxfce4ui och bevara ABI, har speciella inbäddningar förberetts, som översätter specifika CSD-metoder i klassen XfceTitledDialog till anrop i klassen GtkDialog. Resultatet är att applikationer för Xfce kan bli av med CSD genom att byta ut biblioteket libxfce4ui, utan att behöva ändra koden i själva applikationerna.
Ett ytterligare fork har skapats , som inkluderar ändringar för att återföra det klassiska beteendet. För Gentoo-användare har det förberetts för installation av libxfce4ui-nocsd. För Xubuntu/Ubuntu-användare har det förberetts med färdiga paket. Motiven bakom skapandet av forken förklarade Shawn Anastasio med att han har använt Xfce i många år och uppskattar gränssnittet i denna miljö. Efter att ha beslutat om förändringar i gränssnittet som han inte höll med om, och utan försöksatt för att erbjuda en möjlighet att återföra den gamla funktionen, beslutades det att själv lösa problemet och dela lösningen med andra som delar hans åsikt.
Bland problemen med att använda Xfce Classic nämns känslan av dubblering av rubriker på grund av upprepande information i både rubriken och applikationsfönstret. Denna funktion motsvarar beteendet i Xfce 4.12 och 4.14, och hänför sig inte till CSD. I vissa applikationer ser denna dubblering okej ut (t.ex. i xfce4-screenshooter), men i andra verkar den uppenbart olämplig. För att lösa detta problem övervägs att lägga till en miljövariabel som reglerar renderingen av XfceHeading.
Positionen hos CSD:s förespråkare handlar om att använda det bortslösade utrymmet i fönsterhuvudet för att placera menyer, panelknappar och andra viktiga gränssnittselement. Motståndare till CSD anser att denna metod skapar problem med enhetlig utformning av fönster, särskilt de som skrivits för olika användarmiljöer som specificerar olika rekommendationer för layout av rubrikområdet. Det är mycket enklare att föra fönsterutformningen för alla applikationer till en gemensam stil med klassisk rendering av de användbara områdena på serversidan. När CSD tillämpas krävs det att applikationsgränssnittet särskilt anpassas till varje grafisk miljö, och det är ganska svårt att se till att applikationen inte ser främmande ut i olika användarmiljöer.
Källa: opennet.ru
