Заснаваны Xfce Classic, форк Xfce без дэкарыравання вокнаў на баку кліента

Шон Анастасі (Shawn Anastasio), энтузіяст вольнага ПЗ, які ў свой час распрацоўваў уласную аперацыйную сістэму ShawnOS і які займаўся портировением Chromium і Qubes OS на архітэктуру ppc64le, заснаваў праект Xfce Classic, у рамках якога мае намер развіваць форкі кампанентаў карыстацкага асяроддзя Xfce, якія працуюць без ужывання дэкарыравання вокнаў на боку кліента (CSD, client-side decorations), пры якім загаловак і рамкі акна адмалёўваюцца не аконным мэнэджарам, а самім дадаткам.

Нагадаем, што пры падрыхтоўцы наступнага выпуску Xfce 4.16, рэліз якога чакаецца у кастрычніку ці лістападзе, ажыццёўлены пераклад інтэрфейсу на віджэт GtkHeaderBar і ўжыванне CSD, што дало магчымасць па аналогіі з GNOME дамагчыся размяшчэнні меню, кнопак і іншых элементаў інтэрфейсу ў загалоўку акна, а таксама забяспечыць утойванне рамак у дыялогах. Новы механізм адмалёўкі інтэрфейсу інтэграваны ў бібліятэку libxfce4ui, што прывяло да аўтаматычнага ўжывання CSD для шматлікіх дыялогаў, без неабходнасці занясення змен у код існых праектаў.

У пераходу на CSD знайшліся апанентаў, Якія лічаць, што падтрымка CSD павінна быць апцыянальнай і карыстач павінен мець магчымасць працягнуць выкарыстанне класічных загалоўкаў вокнаў. З недахопаў ужывання CSD згадваецца занадта масіўная вобласць загалоўка акна, адсутнасць запатрабавання пераносіць элементы прыкладання ў загаловак акна, непрацаздольнасць тэм афармлення Xfwm4 і разнабой у афармленні вокнаў прыкладанняў Xfce/GNOME і праграм, не выкарыстоўвалых CSD. Адзначаецца, што адной з прычын непрымання інтэрфейсу GNOME некаторымі карыстальнікамі з'яўляецца прымяненне CSD.

Так як за 5 месяцаў не было зроблена спробаў даць падтрымку адключэння CSD, Шон Анастасі. вырашыў узяць дадзенае пытанне ў свае рукі і стварыў форк бібліятэкі libxfce4ui, у якім правёў чыстку прывязкі да CSD і вярнуў стары рэжым дэкарыравання на баку сервера (аконнага мэнэджара). Для забеспячэння сумяшчальнасці з прыкладаннямі, якія выкарыстоўваюць новы API libxfce4ui, і захаванні ABI, падрыхтаваны спецыяльныя абвязкі, якія транслююць спецыфічныя CSD-метады класа XfceTitledDialog у выклікі класа GtkDialog. У выніку прадстаўлена магчымасць збавення прыкладанняў Xfce ад CSD шляхам замены бібліятэкі libxfce4ui, без змены кода саміх прыкладанняў.

Дадаткова сфарміраваны форк панэлі xfce4-panel, Якая ўключае змены для вяртання класічнага паводзін. Для карыстальнікаў Gentoo падрыхтаваны накладанне для ўстаноўкі libxfce4ui-nocsd. Для карыстальнікаў Xubuntu/Ubuntu падрыхтаваны PPA-рэпазітар з гатовымі пакетамі. Матывы стварэння форка Шон Анастасі растлумачыў тым, што ён ужо шмат гадоў выкарыстоўвае Xfce і яму падабаецца інтэрфейс дадзенага асяроддзя. Пасля прыняцця рашэння па змене інтэрфейсу, з якімі ён быў нязгодны, і адсутнасці спроб падаць опцыю для вяртання старых паводзін, было вырашана самастойна вырашыць сваю праблему і падзяліцца рашэннем з іншымі людзьмі, якія падзяляюць яго пункт гледжання.

З праблем пры выкарыстанні Xfce Classic адзначаецца ўзнікненне ўражання дублявання загалоўкаў з-за адлюстравання інфармацыі, якая паўтараецца ў загалоўку і ў акне прыкладання. Дадзеная асаблівасць адпавядае паводзінам Xfce 4.12 і 4.14, і не злучана з CSD. У адных прыкладаннях падобнае дубляванне выглядае нармальна (напрыклад, у xfce4-screenshooter), але ў іншых відавочна недарэчна. Для рашэння дадзенай праблемы не выключаецца даданне зменнай асяроддзі, якая рэгулюе адмалёўку XfceHeading.

Заснаваны Xfce Classic, форк Xfce без дэкарыравання вокнаў на баку кліента

Пазіцыя прыхільнікаў CSD зводзіцца да магчымасці задзейнічаць знікаючае марна прастору загалоўка акна для размяшчэння меню, кнопак панэлі і іншых значных элементаў інтэрфейсу. Праціўнікі CSD лічаць, што пры дадзеным падыходзе ўзнікаюць праблемы з уніфікацыяй афармлення вокнаў, асабліва напісаных для розных карыстацкіх акружэнняў, якія вызначаюць розныя рэкамендацыі па кампаноўцы загалоўкавай вобласці. Афармленне вокнаў усіх прыкладанняў значна прасцей прывесці да адзінага стылю пры класічнай адмалёўцы службовых абласцей акна на баку сервера. У выпадку ўжывання CSD патрабуецца асобна адаптаваць інтэрфейс прыкладання да кожнага графічнага асяроддзя і досыць цяжка дамагчыся таго, каб прыкладанне не выглядала чужародна ў розных карыстацкіх асяродках.

Крыніца: opennet.ru

Дадаць каментар