Шон Анастаси (), ентусиаст на свободния софтуер, който в миналото е разработвал собствена операционна система. и е работил по портироването на Chromium и Qubes OS на архитектурата ppc64le, проект , с който планира да развива форкове на компонентите на потребителското обкръжение Xfce, работещи без използване на декориране на прозорците от страна на клиента (CSD), при което заглавието и рамките на прозореца се рисуват не от мениджъра на прозорците, а от самото приложение.
Важно е да припомним, че при подготовката на следващия релиз на Xfce 4.16, който очакваме през октомври или ноември, е извършен превод на интерфейса към уиджета GtkHeaderBar и е приложен CSD, което даде възможност по аналогия с GNOME да се постигне разположение на менюта, бутони и други елементи на интерфейса в заглавната част на прозореца и също така да се осигури скриването на рамките в диалоговите прозорци. Новият механизъм на рисуване на интерфейса е интегриран в библиотеката libxfce4ui, което доведе до автоматично приложение на CSD за почти всички диалози, без необходимост от изменения в кода на съществуващите проекти.
Има противници на преминаването към CSD, , които смятат, че подкрепата на CSD трябва да бъде опционална и потребителят да може да продължи да използва класическите заглавия на прозорците. Сред недостатъците на прилагането на CSD се посочва твърде обемната област на заглавието на прозореца, липсата на нужда да се прехвърлят елементите на приложението в заглавието на прозореца, неправилната работа на темите на Xfwm4 и несъответствията в оформлението на прозорците на приложенията Xfce/GNOME и програмите, които не използват CSD. Забелязва се, че една от причините за отхвърлянето на интерфейса GNOME от някои потребители е прилагането на CSD.
Тъй като през последните 5 месеца не е направен опит за предоставяне на поддръжка за деактивиране на CSD, Шон Анастаси да поеме въпроса в свои ръце и създава форк на библиотеката , в който проведох почистване на свързването с CSD и върнах стария режим на декориране на страната на сървъра (мениджъра на прозорци). За осигуряване на съвместимост с приложения, използващи новия API libxfce4ui, и запазване на ABI, са подготвени специални обвивки, които трансферират специфични CSD методи от клас XfceTitledDialog в извиквания от клас GtkDialog. В резултат е предоставена възможност на приложенията Xfce да се избавят от CSD, като заменят библиотеката libxfce4ui, без да променят кода на самите приложения.
Допълнително е създаден форк , включващ промени за възстановяване на класическото поведение. За потребителите на Gentoo е подготвен за инсталиране на libxfce4ui-nocsd. За потребителите на Xubuntu/Ubuntu е подготвен с готови пакети. Мотивите за създаването на форка, както поясни Шон Анастаси, са, че той използва Xfce от много години и му харесва интерфейсът на тази среда. След вземането на решението за промяна на интерфейса, с което не е бил съгласен, и отсъствието на опити да се предостави опция за връщане на старото поведение, той решава самостоятелно да реши своя проблем и да сподели решението с други хора, които споделят неговата гледна точка.
От проблемите при използването на Xfce Classic се отбелязва възникването на впечатлението за дублиране на заглавията поради показването на повтаряща се информация в заглавието и в прозореца на приложението. Тази особеност отговаря на поведението на Xfce 4.12 и 4.14 и не е свързана с CSD. В едни приложения подобно дублиране изглежда нормално (например, в xfce4-screenshooter), но в други явно е неуместно. За решение на този проблем не се изключва добавянето на променлива на средата, регулираща извеждането на XfceHeading.
Становището на привържениците на CSD е, че има възможност да се използва ненужно пространство в заглавието на прозореца за разполагане на менюта, бутони на панела и други важни елементи от интерфейса. Противниците на CSD считат, че този подход води до проблеми с унифицирането на дизайна на прозорците, особено за приложения, написани за различни потребителски среди, които задават различни препоръки за разположение на заглавната област. Дизайнът на всички приложения е много по-лесен за привеждане в единен стил, когато служебните области на прозорците се рендират на сървърната страна. При използването на CSD е необходимо да се адаптира интерфейсът на приложението за всяка графична среда и е достатъчно трудно да се постигне, че приложението да не изглежда странно в различни потребителски среди.
Източник: opennet.ru
