Blog (167)
Komentarze (922)
Recenzje (0)

O tym dlaczego spójny interfejs w Linuksie to fikcja

@lucas__O tym dlaczego spójny interfejs w Linuksie to fikcja02.06.2014 14:28

Co łączy deweloperów GNOME Shell i Elementary OS? Oba projekty marzą, aby zrobić z Linuksa, Mac OS. Oczywiście nie w sensie dosłownym, chodzi tu raczej o pewną filozofię interfejsu, która stawia wizualny aspekt systemu w centrum uwagi. Problem w tym, że takie działania są z góry skazane na niepowodzenie, a jedyne, na co możemy liczyć to opcja windowsowa, gdzie ponad jednolity wygląd aplikacji, ważniejsza jest "wolność" dla dewelopera, a okoliczny pejzaż to kompletny miszmasz aplikacji.

Bałagan zwany client-side decorations

Wraz GNOME 3.12 deweloperzy GNOME/GTK postanowili obdarować cały linuksowy świat wymysłami swoich megalomańskich projektantów. W tym celu twórcy GNOME postanowili użyć ciężkiego sprzętu w postaci client-side decorations. Pół biedy, gdyby nieczystości zostawili na swoim małym śmietnisku. Niestety wielki czerwony kapelusznik trzyma za klejnoty rodzinne nie tylko GNOME, ale i GTK i w ten sposób odór rozniósł się wszędzie. O tym, że client-side decorations to dół gnilny, pisał już w 2010 roku jeden z deweloperów KWin. Jako że, w chwili obecnej GTK to jeden wielki zamtuz, a Red Hat zachowuje się jak rajfur, można śmiało powiedzieć, że GNOME=GTK. Nic, więc dziwnego, że dosyć luźno powiązany z GNOME framework do tworzenia programów, stał się poligonem doświadczalnym projektantów.

GTK 3.12 - fuszerka fuszerkę pogania

Wraz z wersją GTK 3.12 deweloperzy wpadli na genialny pomysł, aby na stałe wprowadzić client-side decorations. Niestety implementacja to istna fuszerka, która prowadzi do różnych cudów na kiju. Otóż cała implementacja opiera się 20 letniej, mało używanej specyfikacji (mwm hints). Najlepsze jednak jest to, że ów "standard" nie dość, że słabo udokumentowany to zaimplementowany jest chyba tylko przed deweloperów GNOME. Oznacza, to ni mniej, że użytkownicy innych środowisk graficznych muszą się liczyć z różnymi dziwnymi rzeczami, jak choćby podwójne dekoracje okna.

Deweloperzy GNOME/GTK mają oczywiście tego świadomość, dlatego zgłosili nawet błąd na bugdzili XFCE.

GTK+ uses mwm hints to implement client-side decorations and custom titlebars. In particular, we are asking for a border, but no titlebar. Xfwm4 is so far the only window manager I've come across that supports mwm hints, but not this combination. Please consider supporting this. See the screenshot for the current, suboptimal user experience.

Błąd wywołał spore dyskusje, niemniej deweloperzy XFCE przygotowali odpowiednie zmiany, które czekają na wprowadzenie do głównej gałęzi XFCE.

Matthias Clasen, deweloper odpowiedzialny za wprowadzenie csd w GTK, radośnie oznajmił również, że wystarczy włączyć composite, a część problemów magicznie znika:

But anyway, if you use GTK+ 3.12.1, you will actually get full csd decorations under xfwm4, as long as compositing is enabled.

KWin vs CSD

XFCE to nie jedyne środowisko, któremu czkawką odbija się nowa wersja GTK oraz fuszerka jego deweloperów. Na liście mailingowej KDE również trwała dosyć burzliwa dyskusja co z tym fantem zrobić. Martin Gräßlin, jeden z głównych deweloperów zgłosił 14 różnych błędów, które występują, używając KWin jak menadżera okien. Niestety twórcy GNOME/GTK zdają się mieć w głębokim poważaniu inne środowiska graficzne, a sami wolą się taplać w swoim małym bagienku, zwanym GNOME. Przykładem takiego olewczego podejścia, jest choćby odpowiedź na błąd dotyczący jednej z kluczowych funkcji KWin, czyli możliwości wyłączenia efektów 3d/composite.

Tak jak w przypadku XFCE, jeśli mamy wyłączone efekty pulpitu to dostajemy podwójne dekoracje okna. Deweloperzy GNOME uważają jednak, możliwość wyłączenia efektów w locie za mało ważną.

I don't consider runtime changes of compositing to be a very high priority

W inny błędzie, ten sam deweloper sugeruje, aby KWin ograniczył swoje możliwości konfiguracji (chodzi tu o opcję pozwalającą na wyłączenie obramowania okna)

W sumie nie ma się co dziwić takiemu twardogłowemu podejściu, biorąc pod uwagę, techniczne zacofanie Muttera i jego spartańskie możliwości konfiguracji. Nie od dziś wiadomo przecież, że KWin jest technicznie najbardziej zaawansowanym menadżerem okien dla Linuksa, a tak prymitywna implementacja CSD, będzie jedynie działać prawidłowo w równie prymitywnym menadżerze okien, jak Mutter. Ktoś może zapytać, dlaczego KWin, nie zaimplementuje wymaganych przez GTK zmian. Normalnie deweloperzy zapewne by tak postąpili, problem w tym, że KWin, podobnie jak i cała powłoka Plasmy z serii 4.x jest od ponad roku zamrożona, a wymagane zmiany byłyby bardzo inwazyjne. Pozostaje również kwestia, dlaczego deweloperzy KDE mieliby się dostosowywać do zachcianek twórców GNOME?

elementaryOS  - GNOME 3 w mikroskali

Naprawdę podziwiam pracę deweloperów i projektantów elementaryOS. Niczym Don Kichot naszych czasów, dzielnie walczą z interfejsowym marazmem w Linuksie, tworząc piękne i mało funkcjonalne aplikacje. Nic tam, że wystarczy zainstalować pierwszy lepszy program spoza środowiska i puff cały czar pryska. Deweloperzy zbudowali wokół swojej piaskownicy płot ze sztachet, jednak nie przeszkadza im to tworzyć zamki z piasku, w swoim małym wyimaginowanym świecie. Bohaterowie linuksowego pulpitu, utopijni marzyciele, którzy z rozmachem grzebią w swojej piaskownicy. Mają do tego prawo, a co. Dlatego ich nie krytykuję, bo poza grzebaniem w swoim małym błocku, tak naprawdę nic nie mogą zmienić, a co jeszcze bardziej istotne, można ich całkowicie zignorować. Pisze o tym, bo należy pamiętać, że deweloperzy i projektanci elementaryOS prezentują te same poglądy co twórcy GNOME Shell, brakuje im tylko zaplecza, aby swe wizje zrealizować. ElementaryOS może sobie być najpiękniejszą dystrybucją Linuksa, ale to, co naprawdę widzimy to pręty złotej klatki. Od każdego z nas zależy czy damy się zakuć w łańcuchy złudnej wizji spójnego interfejsu, tym bardziej że cena jest znacznie wyższa, niż wiele osób może przypuszczać.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.