Основава Xfce Classic, разклонение на Xfce без декорация на прозорец от страна на клиента

Шон Анастази (Шон Анастасио), ентусиаст на свободния софтуер, който навремето разработи своя собствена операционна система ShawnOS и участва в пренасянето на Chromium и Qubes OS към архитектурата ppc64le, основан проект Xfce Classic, в рамките на който той възнамерява да разработи разклонения на компоненти на потребителската среда на Xfce, които работят без използването на декорации на прозорци от страна на клиента (CSD, декорации от страна на клиента), в които заглавието и рамките на прозореца се изчертават не от мениджъра на прозорци, а от самото приложение.

Нека ви напомним, че в подготовка за следващото издание на Xfce 4.16, чието пускане очаква се през октомври или ноември интерфейсът беше прехвърлен към приспособлението GtkHeaderBar и използването на CSD, което направи възможно, по аналогия с GNOME, да се поставят менюта, бутони и други елементи на интерфейса в заглавката на прозореца, както и да се осигури скриването на рамки в диалози. Новият механизъм за изобразяване на интерфейс е интегриран в библиотеката libxfce4ui, което доведе до автоматично CSD приложение за почти всички диалози, без да е необходимо да правите промени в кода на съществуващи проекти.

При преход към ЦДЦК намерени опоненти, които смятат, че поддръжката на CSD трябва да е незадължителна и потребителят трябва да може да продължи да използва класически заглавия на прозорци. Сред недостатъците на използването на CSD са твърде масивната област на заглавието на прозореца, липсата на необходимост от прехвърляне на елементи на приложението към заглавието на прозореца, неработоспособността на темите Xfwm4 и несъответствието в дизайна на прозорците на приложенията и програмите Xfce/GNOME, които правят не се използват CSD. Отбелязва се, че една от причините за отхвърлянето на интерфейса на GNOME от някои потребители е използването на CSD.

Тъй като през последните 5 месеца не е правен опит за предоставяне на поддръжка за деактивиране на CSD, Шон Анастази Реших да взех този проблем в свои ръце и създадох разклонение на библиотеката libxfce4ui, в който изчистих обвързването към CSD и върнах стария режим на декорация от страната на сървъра (мениджър на прозорци). За да се осигури съвместимост с приложения, използващи новия API на libxfce4ui и да се запази ABI, бяха подготвени специални обвързвания, които превеждат специфични CSD методи на класа XfceTitledDialog в извиквания на класа GtkDialog. В резултат на това е възможно приложенията на Xfce да бъдат премахнати от CSD чрез замяна на библиотеката libxfce4ui, без да се променя кодът на самите приложения.

Допълнително е образувана вилица xfce4-панел, което включва промени за връщане на класическото поведение. Подготвен за потребители на 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

Добавяне на нов коментар