Grunnlagt Xfce Classic, en gaffel av Xfce uten dekorasjon på klientsiden

Sean Anastasi (Shawn Anastasio), en gratis programvareentusiast som på en gang utviklet sitt eget operativsystem ShawnOS og var involvert i portering av Chromium og Qubes OS til ppc64le-arkitekturen, grunnlagt prosjekt Xfce Classic, der han har til hensikt å utvikle gafler av Xfce-brukermiljøkomponenter som fungerer uten bruk av vindusdekorasjoner på klientsiden (CSD, dekorasjoner på klientsiden), der vindustittelen og rammene ikke er tegnet av vindusbehandleren, men av selve applikasjonen.

La oss minne deg på at som forberedelse til neste utgivelse av Xfce 4.16, utgivelsen av denne forventet å i oktober eller november ble grensesnittet overført til GtkHeaderBar-widgeten og bruken av CSD, noe som gjorde det mulig, analogt med GNOME, å plassere menyer, knapper og andre grensesnittelementer i vinduets overskrift, samt å sikre skjult av rammer i dialoger. Den nye grensesnittgjengivelsesmotoren er integrert i libxfce4ui-biblioteket, noe som har resultert i automatisk CSD-applikasjon for nesten alle dialoger, uten behov for å gjøre endringer i koden til eksisterende prosjekter.

Ved overgang til CSD funnet motstandere, som mener at CSD-støtte bør være valgfri og brukeren bør kunne fortsette å bruke klassiske vindustitler. Blant ulempene ved å bruke CSD, det for store vindustittelområdet, mangelen på behov for å overføre applikasjonselementer til vindustittelen, manglende funksjonalitet til Xfwm4-temaer og avviket i utformingen av vinduer til Xfce/GNOME-applikasjoner og programmer som gjør det. ikke bruker CSD er nevnt. Det bemerkes at en av grunnene til avvisningen av GNOME-grensesnittet av noen brukere er bruken av CSD.

Siden det ikke er gjort noe forsøk på å gi støtte for å deaktivere CSD på 5 måneder, Sean Anastasi Jeg bestemte tok dette problemet i mine egne hender og skapte en forgrening av biblioteket libxfce4ui, der jeg renset bindingen til CSD-en og returnerte den gamle dekorasjonsmodusen på serversiden (vindusbehandler). For å sikre kompatibilitet med applikasjoner som bruker den nye libxfce4ui API og bevare ABI, er det utarbeidet spesielle bindinger som oversetter spesifikke CSD-metoder i XfceTitledDialog-klassen til kall i GtkDialog-klassen. Som et resultat er det mulig å fjerne Xfce-applikasjoner fra CSD ved å erstatte libxfce4ui-biblioteket, uten å endre koden til selve applikasjonene.

I tillegg er det dannet en gaffel xfce4-panel, som inkluderer endringer for å returnere klassisk atferd. Forberedt for Gentoo-brukere overlegg for å installere libxfce4ui-nocsd. Forberedt for Xubuntu/Ubuntu-brukere PPA-depot med ferdige pakker. Sean Anastasi forklarte årsakene til å lage gaffelen ved å si at han har brukt Xfce i mange år og liker grensesnittet til dette miljøet. Etter å ha bestemt seg for grensesnittendringer han ikke var enig i, og ingen forsøk på å gi en mulighet til å gå tilbake til den gamle oppførselen, bestemte han seg for å løse problemet sitt selv og dele løsningen med andre likesinnede.

Et av problemene ved bruk av Xfce Classic er utseendet til dupliserte titler på grunn av visning av gjentatt informasjon i tittelen og i programvinduet. Denne funksjonen samsvarer med oppførselen til Xfce 4.12 og 4.14, og er ikke relatert til CSD. I noen applikasjoner ser slik duplisering normal ut (for eksempel i xfce4-screenshooter), men i andre er det helt klart upassende. For å løse dette problemet er det mulig å legge til en miljøvariabel som kontrollerer gjengivelsen av XfceHeading.

Grunnlagt Xfce Classic, en gaffel av Xfce uten dekorasjon på klientsiden

Posisjonen til CSD-supportere kommer ned til muligheten til å bruke bortkastet vindustittelplass til å plassere menyer, panelknapper og andre viktige grensesnittelementer. Motstandere av CSD mener at denne tilnærmingen byr på problemer med å forene utformingen av vinduer, spesielt de som er skrevet for forskjellige brukermiljøer som definerer forskjellige anbefalinger for utformingen av tittelområdet. Det er mye enklere å bringe utformingen av vinduer for alle applikasjoner til en enkelt stil når du klassisk gjengir tjenesteområder i et vindu på serversiden. Ved bruk av CSD er det nødvendig å tilpasse applikasjonsgrensesnittet separat til hvert grafisk miljø, og det er ganske vanskelig å sikre at applikasjonen ikke ser fremmed ut i forskjellige brukermiljøer.

Kilde: opennet.ru

Legg til en kommentar