Įkūrė Xfce Classic, Xfce šakutę be kliento pusės langų dekoravimo

Šonas Anastasis (Shawn Anastasio), nemokamos programinės įrangos entuziastas, vienu metu kūręs savo operacinę sistemą ShawnOS ir dalyvavo perkeliant Chromium ir Qubes OS į ppc64le architektūrą, įkurta projektas Xfce Classic, kurio metu jis ketina sukurti Xfce vartotojo aplinkos komponentų šakutes, veikiančias nenaudojant kliento pusės langų dekoracijų (CSD, kliento pusės dekoracijos), kuriose lango pavadinimą ir rėmelius nubraižo ne langų tvarkyklė, o pati programa.

Priminsime, kad ruošiantis kitam Xfce 4.16 leidimui, kurio išleidimui tikimasi spalį arba lapkritį sąsaja buvo perkelta į GtkHeaderBar valdiklį ir CSD naudojimą, kas leido pagal analogiją su GNOME lango antraštėje talpinti meniu, mygtukus ir kitus sąsajos elementus, taip pat užtikrinti slėpimą. kadrų dialogo languose. Naujasis sąsajos atvaizdavimo variklis buvo integruotas į libxfce4ui biblioteką, todėl beveik visuose dialogo languose automatiškai taikomas CSD, nereikia keisti esamų projektų kodo.

Pereinant prie CVPD rasta oponentai, kurie mano, kad CSD palaikymas turėtų būti neprivalomas ir vartotojas turėtų galėti toliau naudoti klasikinius langų pavadinimus. Tarp CSD naudojimo trūkumų galima paminėti per didelę lango pavadinimo sritį, tai, kad nereikia perkelti programos elementų į lango pavadinimą, Xfwm4 temų neveikimas ir Xfce/GNOME programų ir programų langų dizaino neatitikimas. nenaudoja CSD. Pažymima, kad viena iš priežasčių, kodėl kai kurie vartotojai atmetė GNOME sąsają, yra CSD naudojimas.

Kadangi per 5 mėnesius nebuvo bandoma padėti CSD išjungti, Seanas Anastasis nutarė paėmiau šį klausimą į savo rankas ir sukūriau bibliotekos šakutę libxfce4ui, kuriame išvaliau įrišimą į CSD ir grąžinau seną dekoravimo režimą serverio pusėje (langų tvarkyklė). Siekiant užtikrinti suderinamumą su programomis, naudojančiomis naująją libxfce4ui API, ir išsaugoti ABI, buvo parengti specialūs susiejimai, kurie paverčia specifinius XfceTitledDialog klasės CSD metodus į GtkDialog klasės iškvietimus. Dėl to galima pašalinti Xfce programas nuo CSD pakeitus libxfce4ui biblioteką, nekeičiant pačių programų kodų.

Be to, suformuota šakutė xfce4 skydelis, kuri apima pakeitimus, grąžinančius klasikinį elgesį. Parengta Gentoo vartotojams apdangalas Norėdami įdiegti libxfce4ui-nocsd. Parengta Xubuntu/Ubuntu vartotojams PPA saugykla su paruoštomis pakuotėmis. Seanas Anastasi paaiškino šakutės sukūrimo priežastis sakydamas, kad Xfce naudojasi jau daug metų ir jam patinka šios aplinkos sąsaja. Nusprendęs dėl sąsajos pakeitimų, su kuriais jis nesutiko, ir nebandęs suteikti galimybės grįžti prie seno elgesio, jis nusprendė pats išspręsti savo problemą ir pasidalinti sprendimu su kitais bendraminčiais.

Viena iš problemų naudojant Xfce Classic yra pasikartojančių pavadinimų atsiradimas dėl pasikartojančios informacijos rodymo pavadinime ir programos lange. Ši funkcija atitinka Xfce 4.12 ir 4.14 veikimą ir nėra susijusi su CSD. Kai kuriose programose toks dubliavimas atrodo normalus (pavyzdžiui, xfce4-screenshooter), tačiau kitose jis yra aiškiai netinkamas. Norint išspręsti šią problemą, galima pridėti aplinkos kintamąjį, kuris valdo XfceHeading atvaizdavimą.

Įkūrė Xfce Classic, Xfce šakutę be kliento pusės langų dekoravimo

CSD rėmėjų padėtis priklauso nuo galimybės išeikvoti lango pavadinimo erdvę meniu, skydelio mygtukų ir kitų svarbių sąsajos elementų išdėstymui. CSD priešininkai mano, kad toks požiūris kelia problemų suvienodinant langų dizainą, ypač tų, kurie parašyti skirtingoms vartotojų aplinkoms, kurios apibrėžia skirtingas pavadinimo srities išdėstymo rekomendacijas. Kur kas lengviau suderinti visų programų langų dizainą į vieną stilių, kai klasikiniu būdu atvaizduojamos serverio pusės lango aptarnavimo zonos. Naudojant CSD, reikia atskirai pritaikyti programos sąsają kiekvienai grafinei aplinkai ir gana sunku užtikrinti, kad programa neatrodytų svetima skirtingose ​​vartotojų aplinkose.

Šaltinis: opennet.ru

Добавить комментарий