Osnovan Xfce Classic, račvanje Xfce-a bez dekoracije prozora na strani klijenta

Sean Anastasi (Shawn Anastasio), entuzijasta slobodnog softvera koji je svojedobno razvio vlastiti operativni sustav ShawnOS i bio je uključen u portiranje Chromium i Qubes OS na ppc64le arhitekturu, osnovan projekt Xfce Classic, unutar kojeg namjerava razviti forkove komponenti korisničkog okruženja Xfce koji rade bez upotrebe dekoracija prozora na strani klijenta (CSD, client-side decorations), u kojima naslov i okvire prozora ne crta upravitelj prozora, već sama aplikacija.

Podsjetimo, u pripremi za sljedeće izdanje Xfce 4.16, čije izdanje očekivano u listopadu ili studenom sučelje je prebačeno na widget GtkHeaderBar i korištenje CSD-a, što je omogućilo, analogno GNOME-u, postavljanje izbornika, gumba i drugih elemenata sučelja u zaglavlje prozora, kao i osiguranje skrivanja okvira u dijalozima. Novi mehanizam za renderiranje sučelja integriran je u biblioteku libxfce4ui, što je rezultiralo automatskom CSD aplikacijom za gotovo sve dijaloge, bez potrebe za izmjenama koda postojećih projekata.

Na prijelazu u CSD pronađeno protivnika, koji smatraju da bi CSD podrška trebala biti opcionalna te bi korisnik trebao moći nastaviti koristiti klasične naslove prozora. Među nedostacima korištenja CSD-a, preveliko područje naslova prozora, nedostatak potrebe za prijenosom elemenata aplikacije u naslov prozora, neoperativnost Xfwm4 tema i razlika u dizajnu prozora Xfce/GNOME aplikacija i programa koji ne koriste CSD. Napominje se da je jedan od razloga odbijanja GNOME sučelja od strane nekih korisnika korištenje CSD-a.

Budući da u zadnjih 5 mjeseci nije učinjen nikakav pokušaj pružanja podrške za onemogućavanje CSD-a, Sean Anastasi Odlučio sam uzeo sam ovo pitanje u svoje ruke i stvorio račvanje knjižnice libxfce4ui, u kojem sam očistio vezanje na CSD i vratio stari način ukrašavanja na serverskoj strani (window manager). Kako bi se osigurala kompatibilnost s aplikacijama koje koriste novi libxfce4ui API i sačuvao ABI, pripremljena su posebna povezivanja koja prevode specifične CSD metode klase XfceTitledDialog u pozive klase GtkDialog. Kao rezultat toga, moguće je osloboditi Xfce aplikacije od CSD-a zamjenom libxfce4ui biblioteke, bez mijenjanja koda samih aplikacija.

Dodatno je formirana vilica xfce4-ploča, što uključuje promjene za vraćanje klasičnog ponašanja. Pripremljeno za Gentoo korisnike prekriti za instaliranje libxfce4ui-nocsd. Pripremljeno za korisnike Xubuntu/Ubuntu PPA repozitorij s gotovim paketima. Sean Anastasi objasnio je razloge za kreiranje forka rekavši da koristi Xfce dugi niz godina i da mu se sviđa sučelje ovog okruženja. Nakon što je odlučio o promjenama sučelja s kojima se nije slagao i nakon što nije pokušao ponuditi opciju vraćanja na staro ponašanje, odlučio je sam riješiti svoj problem i podijeliti rješenje s drugim istomišljenicima.

Jedan od problema pri korištenju Xfce Classic je pojava dupliciranih naslova zbog prikaza ponovljenih informacija u naslovu i prozoru aplikacije. Ova je značajka u skladu s ponašanjem Xfce 4.12 i 4.14 i nije povezana s CSD-om. U nekim aplikacijama takvo dupliciranje izgleda normalno (na primjer, u xfce4-screenshooteru), ali u drugima je očito neprikladno. Kako bi se riješio ovaj problem, moguće je dodati varijablu okruženja koja kontrolira renderiranje XfceHeading.

Osnovan Xfce Classic, račvanje Xfce-a bez dekoracije prozora na strani klijenta

Položaj pristaša CSD-a svodi se na mogućnost korištenja izgubljenog prostora naslova prozora za postavljanje izbornika, gumba na ploči i drugih značajnih elemenata sučelja. Protivnici CSD-a vjeruju da ovaj pristup stvara probleme s objedinjavanjem dizajna prozora, posebno onih napisanih za različita korisnička okruženja koja definiraju različite preporuke za izgled područja naslova. Mnogo je lakše dovesti dizajn prozora svih aplikacija u jedan stil kada se klasično renderiraju servisna područja prozora na strani poslužitelja. U slučaju korištenja CSD-a, potrebno je posebno prilagoditi sučelje aplikacije svakom grafičkom okruženju i prilično je teško osigurati da aplikacija ne izgleda strano u različitim korisničkim okruženjima.

Izvor: opennet.ru

Dodajte komentar