Ustanovil Xfce Classic, razcep Xfce brez dekoracije oken na strani odjemalca

Sean Anastasi (Shawn Anastasio), navdušenec nad brezplačno programsko opremo, ki je nekoč razvil svoj operacijski sistem ShawnOS in je sodeloval pri prenosu Chromium in Qubes OS na arhitekturo ppc64le, ustanovljeno Projekt Xfce Classic, v okviru katerega namerava razviti forke komponent uporabniškega okolja Xfce, ki delujejo brez uporabe odjemalskih dekoracij oken (CSD, client-side decorations), pri katerih naslova in okvirjev okna ne riše upravljalnik oken, ampak sama aplikacija.

Naj vas spomnimo, da je v pripravah na naslednjo izdajo Xfce 4.16, katere izdaja pričakuje oktobra ali novembra je bil vmesnik prenesen na gradnik GtkHeaderBar in uporabo CSD, kar je omogočilo, po analogiji z GNOME, umestitev menijev, gumbov in drugih elementov vmesnika v glavo okna, pa tudi zagotavljanje skrivanja okvirjev v pogovornih oknih. Nov mehanizem za upodabljanje vmesnikov je integriran v knjižnico libxfce4ui, kar je omogočilo samodejno aplikacijo CSD za skoraj vsa pogovorna okna, ne da bi bilo treba spreminjati kodo obstoječih projektov.

Ob prehodu na CSD našel nasprotniki, ki menijo, da bi morala biti podpora CSD izbirna in bi moral uporabnik imeti možnost še naprej uporabljati klasične naslove oken. Med pomanjkljivostmi uporabe CSD so preveliko območje naslova okna, pomanjkanje potrebe po prenosu elementov aplikacije v naslov okna, nedelovanje tem Xfwm4 in neskladje v zasnovi oken aplikacij in programov Xfce/GNOME, ki ne uporabljajo CSD. Opozoriti je treba, da je eden od razlogov za zavrnitev vmesnika GNOME s strani nekaterih uporabnikov uporaba CSD.

Ker v 5 mesecih ni bilo nobenega poskusa zagotoviti podpore za onemogočanje CSD, Sean Anastasi odločil sem se vzel to vprašanje v svoje roke in ustvaril razcep knjižnice libxfce4ui, pri katerem sem očistil vezavo na CSD in vrnil stari način dekoracije na strani strežnika (upravljalnik oken). Da bi zagotovili združljivost z aplikacijami, ki uporabljajo nov API libxfce4ui, in ohranili ABI, so bile pripravljene posebne vezave, ki prevedejo specifične metode CSD razreda XfceTitledDialog v klice razreda GtkDialog. Posledično je mogoče aplikacije Xfce znebiti CSD z zamenjavo knjižnice libxfce4ui, ne da bi spremenili kodo samih aplikacij.

Poleg tega je bila oblikovana vilica plošča xfce4, ki vključuje spremembe za vrnitev klasičnega vedenja. Pripravljeno za uporabnike Gentoo prekrivni za namestitev libxfce4ui-nocsd. Pripravljeno za uporabnike Xubuntu/Ubuntu Repozitorij PPA z že pripravljenimi paketi. Sean Anastasi je pojasnil razloge za ustvarjanje forka z besedami, da že vrsto let uporablja Xfce in mu je všeč vmesnik tega okolja. Potem ko se je odločil za spremembe vmesnika, s katerimi se ni strinjal, in ni poskusil ponuditi možnosti za vrnitev na staro vedenje, se je odločil, da bo svojo težavo rešil sam in rešitev delil z drugimi podobno mislečimi ljudmi.

Ena od težav pri uporabi Xfce Classic je pojav podvojenih naslovov zaradi prikaza ponavljajočih se informacij v naslovu in v oknu aplikacije. Ta funkcija je skladna z delovanjem Xfce 4.12 in 4.14 in ni povezana s CSD. V nekaterih aplikacijah je takšno podvajanje videti normalno (na primer v xfce4-screenshooter), v drugih pa je očitno neprimerno. Za rešitev te težave je mogoče dodati spremenljivko okolja, ki nadzoruje upodabljanje XfceHeading.

Ustanovil Xfce Classic, razcep Xfce brez dekoracije oken na strani odjemalca

Stališče podpornikov CSD se spušča v zmožnost uporabe izgubljenega prostora v naslovu okna za namestitev menijev, gumbov na ploščah in drugih pomembnih elementov vmesnika. Nasprotniki CSD menijo, da ta pristop predstavlja težave pri poenotenju oblikovanja oken, predvsem tistih, ki so napisana za različna uporabniška okolja, ki določajo različna priporočila za postavitev naslovnega območja. Pri klasičnem upodabljanju servisnih območij okna na strani strežnika je veliko lažje spraviti zasnovo oken vseh aplikacij v enoten slog. V primeru uporabe CSD je treba vmesnik aplikacije posebej prilagoditi vsakemu grafičnemu okolju in je precej težko zagotoviti, da aplikacija v različnih uporabniških okoljih ne bo videti tuja.

Vir: opennet.ru

Dodaj komentar