Sean Anastasio (), nadšenec svobodného softwaru, který v minulosti vyvíjel vlastní operační systém a zabýval se portováním Chromium a Qubes OS na architekturu ppc64le, projekt , v rámci kterého má v úmyslu rozvíjet forky komponent uživatelského prostředí Xfce, které fungují bez použití dekorací oken na straně klienta (CSD, client-side decorations), kdy jsou záhlaví a rámy oken vykreslovány nikoli správcem oken, ale samotnou aplikací.
Připomeňme, že při přípravě dalšího vydání Xfce 4.16, jehož vydání se očekává v říjnu nebo listopadu, byl proveden překlad rozhraní na widget GtkHeaderBar a aplikován CSD, což umožnilo analogicky s GNOME umístit menu, tlačítka a další prvky rozhraní do záhlaví okna a také skrýt rámy v dialozích. Nový mechanismus vykreslování rozhraní byl integrován do knihovny libxfce4ui, což vedlo k automatickému uplatnění CSD pro téměř všechny dialogy, aniž by bylo nutné provádět změny v kódu stávajících projektů.
Při přechodu na CSD , kteří tvrdí, že podpora CSD by měla být volitelná a uživatel by měl mít možnost pokračovat v používání klasických záhlaví oken. Mezi nedostatky používání CSD se zmiňuje příliš masivní oblast záhlaví okna, absence potřeby přesouvat prvky aplikace do záhlaví okna, nefunkčnost motivů Xfwm4 a neshoda v designu oken aplikací Xfce/GNOME a programů, které CSD nepoužívají. Je uvedeno, že jednou z příčin odmítnutí rozhraní GNOME některými uživateli je právě použití CSD.
Jelikož za 5 měsíců nebyly podniknuty pokusy poskytnout podporu pro vypnutí CSD, Sean Anastasio vzít tuto otázku do vlastních rukou a vytvořil fork knihovny , ve kterém provedl odstranění vazby na CSD a vrátil starý režim dekorování na straně serveru (správce oken). Pro zajištění kompatibility s aplikacemi využívajícími nové API libxfce4ui a zachování ABI byly připraveny speciální obálky, které převádějí specifické CSD metody třídy XfceTitledDialog na volání třídy GtkDialog. Výsledkem je možnost zbavit aplikace Xfce CSD tím, že nahradíte knihovnu libxfce4ui, aniž byste museli měnit kód samotných aplikací.
Dále byl vytvořen fork , zahrnující změny pro obnovení klasického chování. Pro uživatele Gentoo je připraven pro instalaci libxfce4ui-nocsd. Pro uživatele Xubuntu/Ubuntu je k dispozici s připravenými balíčky. Motivy vytvoření forku Shawn Anastasio vysvětlil tím, že již mnoho let používá Xfce a líbí se mu rozhraní tohoto prostředí. Po přijetí rozhodnutí o změně rozhraní, se kterými nebyl spokojen, a absenci snah poskytnout možnost vrátit staré chování, se rozhodl sám vyřešit svůj problém a podělit se o řešení s dalšími lidmi, kteří sdílejí jeho názor.
Mezi problémy při používání Xfce Classic se zmínila frustrace z dojmu duplicity titulků kvůli zobrazení opakujících se informací v titulku a v okně aplikace. Tento rys odpovídá chování Xfce 4.12 a 4.14 a není spojen s CSD. V některých aplikacích toto duplicitní zobrazení vypadá normálně (například ve xfce4-screenshooter), ale v jiných je zcela nevhodné. Pro řešení tohoto problému se nevylučuje přidání proměnné prostředí, která reguluje vykreslování XfceHeading.
Pohled zastánců CSD spočívá v možnosti využít zbytečný prostor titulku okna k umístění menu, panelových tlačítek a dalších důležitých prvků rozhraní. Odpůrci CSD tvrdí, že tento přístup vede k problémům s unifikací vzhledu oken, zejména těch, které byly napsány pro různá uživatelská prostředí, která určují různé doporučení pro uspořádání oblasti titulku. Vzhled oken všech aplikací je mnohem snazší přivést k jednotnému stylu při klasickém vykreslování aktivních oblastí okna na straně serveru. Při použití CSD je nutné samostatně přizpůsobit rozhraní aplikace každému grafickému prostředí a je poměrně obtížné zajistit, aby aplikace nevypadala cizí v různých uživatelských prostředích.
Zdroj: opennet.ru
