Perusti Xfce Classicin, Xfcen haarukan ilman asiakaspuolen ikkunakoristeita

Sean Anastasi (Shawn Anastasio), ilmaisten ohjelmistojen harrastaja, joka kehitti aikoinaan oman käyttöjärjestelmän ShawnOS ja oli mukana Chromiumin ja Qubes-käyttöjärjestelmän siirtämisessä ppc64le-arkkitehtuuriin, hän perusti hanke Xfce Classic, jossa hän aikoo kehittää Xfce-käyttäjäympäristökomponenttien haarukoita, jotka toimivat ilman asiakaspuolen ikkunakoristeita (CSD, asiakaspuolen koristeet), joissa ikkunan otsikkoa ja kehyksiä ei piirrä ikkunanhallinta, vaan itse sovellus.

Muistutetaan, että valmisteltaessa seuraavaa Xfce 4.16 -julkaisua, jonka julkaisu odotetaan loka-marraskuussa käyttöliittymä siirrettiin GtkHeaderBar-widgetiin ja CSD:n käyttöön, mikä mahdollisti analogisesti GNOME:n kanssa valikoiden, painikkeiden ja muiden käyttöliittymäelementtien sijoittamisen ikkunan otsikkoon sekä piilottamisen varmistamisen. kehyksistä valintaikkunoissa. Uusi käyttöliittymän renderöintimoottori on integroitu libxfce4ui-kirjastoon, mikä on johtanut automaattiseen CSD-sovellukseen lähes kaikkiin valintaikkunoihin ilman, että olemassa olevien projektien koodiin tarvitsee tehdä muutoksia.

Siirtymässä CSD:hen löytyi vastustajia, jotka uskovat, että CSD-tuen pitäisi olla valinnaista ja käyttäjän pitäisi voida jatkaa klassisten ikkunoiden käyttöä. CSD:n käytön haitoista mainittakoon liian suuri ikkunan otsikkoalue, tarpeeton siirtää sovelluselementtejä ikkunan otsikkoon, Xfwm4-teemojen toimimattomuus ja ristiriitaisuus Xfce/GNOME-sovellusten ja -ohjelmien ikkunoiden suunnittelussa. ei käytä CSD:tä. On huomattava, että yksi syy siihen, miksi jotkut käyttäjät hylkäsivät GNOME-liittymän, on CSD:n käyttö.

Sean Anastasi, koska CSD:n käytöstä poistamista ei ole yritetty tukea viiteen kuukauteen päättänyt otin tämän kysymyksen omiin käsiini ja loin kirjaston haarukan libxfce4ui, jossa puhdistin sidoksen CSD:hen ja palautin vanhan koristelutilan palvelinpuolelle (ikkunanhallinta). Yhteensopivuuden varmistamiseksi uutta libxfce4ui APIa käyttävien sovellusten kanssa ja ABI:n säilyttämiseksi on valmistettu erityisiä sidoksia, jotka muuntavat XfceTitledDialog-luokan tietyt CSD-menetelmät GtkDialog-luokan kutsuiksi. Tämän seurauksena on mahdollista poistaa Xfce-sovellukset CSD:stä korvaamalla libxfce4ui-kirjasto muuttamatta itse sovellusten koodia.

Lisäksi on muodostettu haarukka xfce4-paneeli, joka sisältää muutoksia klassisen toiminnan palauttamiseksi. Valmisteltu Gentoon käyttäjille päällys asentaaksesi libxfce4ui-nocsd. Valmisteltu Xubuntu/Ubuntu-käyttäjille PPA-arkisto valmiilla paketeilla. Sean Anastasi selitti haarukan luomisen syitä sanomalla, että hän on käyttänyt Xfcea useiden vuosien ajan ja pitää tämän ympäristön käyttöliittymästä. Päätettyään käyttöliittymän muutoksista, joita hän ei hyväksynyt, eikä yrittänyt tarjota mahdollisuutta palata vanhaan käyttäytymiseen, hän päätti ratkaista ongelmansa itse ja jakaa ratkaisun muiden samanhenkisten ihmisten kanssa.

Yksi Xfce Classicin ongelmista on päällekkäisten otsikoiden esiintyminen, koska otsikossa ja sovellusikkunassa näytetään toistuvia tietoja. Tämä ominaisuus on yhdenmukainen Xfce 4.12:n ja 4.14:n kanssa, eikä liity CSD:hen. Joissakin sovelluksissa tällainen kopiointi näyttää normaalilta (esimerkiksi xfce4-screenshooterissa), mutta toisissa se on selvästi sopimatonta. Tämän ongelman ratkaisemiseksi on mahdollista lisätä ympäristömuuttuja, joka ohjaa XfceHeadingin renderöintiä.

Perusti Xfce Classicin, Xfcen haarukan ilman asiakaspuolen ikkunakoristeita

CSD:n kannattajien asema perustuu kykyyn käyttää hukattua ikkunan otsikkotilaa valikoiden, paneelipainikkeiden ja muiden merkittävien käyttöliittymäelementtien sijoittamiseen. CSD:n vastustajat uskovat, että tämä lähestymistapa aiheuttaa ongelmia ikkunoiden suunnittelun yhtenäistämisessä, erityisesti eri käyttöympäristöihin kirjoitettujen ikkunoiden suunnittelussa, jotka määrittelevät erilaisia ​​suosituksia otsikkoalueen asettelulle. Kaikkien sovellusten ikkunoiden suunnittelu on paljon helpompaa yhdistää samaan tyyliin, kun ikkunan palvelualueet renderöidään perinteisesti palvelinpuolella. CSD:tä käytettäessä sovellusliittymä on sovitettava erikseen kuhunkin graafiseen ympäristöön ja on melko vaikeaa varmistaa, että sovellus ei näytä vieraalta eri käyttöympäristöissä.

Lähde: opennet.ru

Lisää kommentti