Asutas Xfce Classic, Xfce kahvel ilma kliendipoolse aknakaunistuseta

Sean Anastasi (Shawn Anastasio), vaba tarkvara entusiast, kes omal ajal töötas välja oma operatsioonisüsteemi ShawnOS ja osales Chromiumi ja Qubes OS-i portimisel ppc64le arhitektuurile, asutatud projekt Xfce Classic, mille raames kavatseb ta arendada Xfce kasutajakeskkonna komponentide kahvleid, mis töötavad ilma kliendipoolseid aknakaunistusi (CSD, kliendipoolsed dekoratsioonid) kasutamata, milles akna pealkirja ja raame ei joonista mitte aknahaldur, vaid rakendus ise.

Tuletame meelde, et valmistudes järgmiseks Xfce 4.16 väljalaseks, mille väljalaskmine oodata oktoobris või novembris viidi liides üle GtkHeaderBar vidinale ja CSD kasutamisele, mis võimaldas analoogselt GNOME-ga paigutada akna päisesse menüüsid, nuppe ja muid liidese elemente, samuti tagada selle peitmine. raamidest dialoogides. Uus liidese renderdusmootor on integreeritud libxfce4ui teeki, mille tulemusena on peaaegu kõigis dialoogides CSD-d automaatselt rakendatud, ilma et oleks vaja teha muudatusi olemasolevate projektide koodis.

CSD-le üleminekul leitud vastased, kes usuvad, et CSD tugi peaks olema valikuline ja kasutajal peaks olema võimalik jätkata klassikaliste aknapealkirjade kasutamist. CSD kasutamise puuduste hulgas on liiga suur akna pealkirjaala, rakenduse elementide ülekandmise vajaduse puudumine akna pealkirjale, Xfwm4 teemade töövõimetus ning lahknevus Xfce/GNOME rakenduste ja programmide akende kujunduses ei kasuta CSD-d. Märgitakse, et üks põhjusi, miks mõned kasutajad keelduvad GNOME-liidest, on CSD kasutamine.

Sean Anastasi, kuna 5 kuu jooksul pole CSD keelamiseks tehtud ühtegi katset toetada Ma otsustasin võtsin selle numbri enda kätte ja lõi raamatukogu hargi libxfce4ui, milles puhastasin sidumise CSD-le ja tagastasin serveri poolel (aknahalduris) vana dekoratsioonirežiimi. Uut libxfce4ui API-t kasutavate rakendustega ühilduvuse tagamiseks ja ABI säilitamiseks on ette valmistatud spetsiaalsed sidumised, mis teisendavad XfceTitledDialog klassi spetsiifilised CSD-meetodid klassi GtkDialog kutseteks. Selle tulemusena on võimalik vabastada Xfce rakendused CSD-st, asendades libxfce4ui teegi, ilma rakenduste endi koodi muutmata.

Lisaks on moodustatud kahvel xfce4-paneel, mis sisaldab muudatusi klassikalise käitumise tagastamiseks. Gentoo kasutajatele ette valmistatud ülekatte libxfce4ui-nocsd installimiseks. Ettevalmistatud Xubuntu/Ubuntu kasutajatele PPA hoidla valmispakkidega. Sean Anastasi selgitas kahvli loomise põhjuseid sellega, et ta on Xfce-d kasutanud juba aastaid ja talle meeldib selle keskkonna liides. Pärast liidese muudatuste üle otsustamist, millega ta ei nõustunud, ega püüdnud pakkuda võimalust vana käitumise juurde naasta, otsustas ta oma probleemi ise lahendada ja jagada lahendust teistega, kes tema seisukohta jagasid.

Üks probleeme Xfce Classicu kasutamisel on topeltpealkirjade ilmumine, mis on tingitud korduva teabe kuvamisest pealkirjas ja rakenduse aknas. See funktsioon on kooskõlas Xfce 4.12 ja 4.14 käitumisega ega ole seotud CSD-ga. Mõnes rakenduses tundub selline dubleerimine normaalne (näiteks xfce4-screenshooteris), kuid teistes on see selgelt sobimatu. Selle probleemi lahendamiseks on võimalik lisada keskkonnamuutuja, mis juhib XfceHeadingu renderdamist.

Asutas Xfce Classic, Xfce kahvel ilma kliendipoolse aknakaunistuseta

CSD toetajate positsioon taandub võimalusele kasutada raisatud akna pealkirja ruumi menüüde, paneeli nuppude ja muude oluliste liideseelementide paigutamiseks. CSD vastased usuvad, et selline lähenemine tekitab probleeme akende kujunduse ühtlustamisel, eriti nende puhul, mis on kirjutatud erinevatele kasutajakeskkondadele, mis määratlevad pealkirjaala paigutuse jaoks erinevad soovitused. Kui klassikaliselt renderdada serveri poolel akna teeninduspiirkondi, on kõigi rakenduste akende kujundus ühtsesse stiili viia palju lihtsam. CSD kasutamise puhul on vaja rakenduse liidest eraldi kohandada igale graafilisele keskkonnale ning üsna keeruline on tagada, et rakendus erinevates kasutajakeskkondades võõras välja ei näeks.

Allikas: opennet.ru

Lisa kommentaar