Menedżer okien komponowania - Compositing window manager

Komponowanie menedżer okien lub kompozytor , jest menedżer okno , które zapewnia aplikacji z pozaekranowym buforze dla okna. Menedżer okien kompozytów bufory okno do obrazka przedstawiającego ekranu i zapisuje wynik w pamięci wyświetlacza.

Komponowanie menedżerów okien może wykonywać dodatkowe operacje na buforowanych oknach, stosując animowane efekty 2D i 3D, takie jak mieszanie , zanikanie , skalowanie , obracanie , powielanie , zginanie i wykrzywianie, tasowanie, rozmycie , przekierowywanie aplikacji i tłumaczenie okien na jeden z wielu wyświetlaczy i wirtualne pulpity . Technologia grafiki komputerowej umożliwia renderowanie efektów wizualnych w czasie rzeczywistym, takich jak cienie , podglądy na żywo i złożone animacje. Ponieważ ekran jest podwójnie buforowany , nie migocze podczas aktualizacji.

Do najczęściej używanych menedżerów okien komponowania należą:

Porównanie z menedżerami okien układania

Menedżer okien wysyła każde okno jest wiadomość do odświeżenia się w stosownych przypadkach (na przykład gdy jest on zmieniany, lub gdy inne okno przechodzi przed nią). W przypadku menedżera stosów proces odświeżania może ulec uszkodzeniu, gdy program, który działa wolno, nie odpowiada lub zawiera błędy , nie odpowiada na wiadomości w odpowiednim czasie. Złośliwy program może sprawić, że system będzie wyglądał niestabilnie, po prostu zaniedbując odświeżenie swojego okna. Wtedy może wystąpić co najmniej jeden z następujących warunków:

  • Clipped okno nie przemalować regiony niepokrytej, powodując zarówno pustych przestrzeni lub „szlak” pozostawione z innego okna
  • fragmenty okien (takie jak ozdobne cienie) są pozostawione i nie są odpowiednio zamalowane
  • wskaźnik myszy jest uszkodzony
  • aktualizacje ekranu stają się nieznośnie powolne
  • cały ekran zawiesza się, dopóki program nie zareaguje lub nie zostanie zakończony

W przypadku menedżera komponowania, jeśli okno przestanie się odświeżać na żądanie menedżera okien, jego ostatnie odświeżenie pozostanie wyświetlone i okno może być przyciemnione. Często tytuł zmienia się, aby odzwierciedlić stan okna jako nieodpowiadającego. Program może uniemożliwić przenoszenie lub odmapowywanie swojego okna, ale generalnie nie powoduje problemów z odmalowywaniem.

Historia

Jednym z pierwszych systemów z systemem okien do komponowania był Commodore Amiga , wydany w 1985 roku. Aplikacje mogły najpierw zażądać regionu pamięci poza bieżącym regionem wyświetlania do wykorzystania jako bitmapa. System okienkowy Amigi używałby następnie serii bitów, używając sprzętowego bitmapy, aby zbudować kompozyt bitmap tych aplikacji - wraz z przyciskami i suwakami - w pamięci wyświetlacza, bez konieczności przerysowywania którejkolwiek z map bitowych tych aplikacji.

Menedżer okien Metacity , część GNOME .

24 marca 2001 r. Mac OS X 10.0 stał się pierwszym popularnym systemem operacyjnym, w którym zastosowano programowe komponowanie i efekty 3D, dostarczane przez jego komponent Quartz . Wraz z wydaniem Mac OS X 10.2 i Quartz Extreme zadanie komponowania może zostać przeniesione na dedykowany sprzęt graficzny .

W 2003 roku firma Sun Microsystems zademonstrowała ambitny system graficzny 3D o nazwie Project Looking Glass, który nakłada się na zestaw narzędzi Swing . Po raz pierwszy został pokazany na LinuxWorld Expo w 2003 roku . Chociaż Apple groziło pozwaniem Suna za naruszenie praw własności intelektualnej, inni menedżerowie okien wdrożyli niektóre funkcje w Looking Glass. W 2006 roku rozwój został przerwany przez firmę Sun, której głównym przedmiotem działalności było przejście od graficznie zorientowanych stacji roboczych Unix do sprzedaży komputerów mainframe dla przedsiębiorstw .

Microsoft po raz pierwszy zaprezentował Desktop Window Manager w Project Longhorn na konferencji Windows Hardware Engineering w 2003 roku , demonstrując chwiejne okna . Poważne opóźnienia w rozwoju Longhorn spowodowały, że Microsoft nie zadebiutował swojego menedżera okien do komponowania 3D do czasu wydania systemu Windows Vista w styczniu 2007 roku.

Wdrożenie komponowania w systemie X Window wymagało pewnego przeprojektowania, które następowało stopniowo. Metacity 2.8.4 zostało wydane w sierpniu 2004. Jednak pierwszym szeroko nagłośnionym menedżerem okien komponowania dla X był Xfwm , wydany w styczniu 2005. 26 stycznia 2005 został wydany Compiz , wprowadzający w pełni przyspieszone komponowanie 3D na platformę Linux. KDE jest KWin obsługuje również komponowanie.

Kompozycja i efekty 3D w systemach operacyjnych

Podczas komponowania efekty 3D można było zastosować w oknach, aby zapewnić efekty 3D pulpitu. Nowoczesne menedżery okien do komponowania wykorzystują akcelerację sprzętową 3D. Oprogramowanie menedżera okien do komponowania komunikuje się ze sprzętem graficznym za pośrednictwem interfejsów programistycznych, takich jak OpenGL lub Direct3D .

Najwcześniejsze szeroko rozpowszechnione implementacje wykorzystujące tę technikę zostały wydane dla komputerów Mac w systemie Mac OS X 10.2 oraz dla systemu Linux w prototypie Luminocity . Obecnie menedżery okien używające OpenGL to Compiz, KWin i Quartz Compositor, podczas gdy Desktop Window Manager używa obecnie DirectX 9. OpenGL wciąż nie jest w pełni obsługiwany sprzętowo, więc wydajność komponowania opartego na OpenGL powinna nadal rosnąć wraz z poprawą sprzętu.

Linux

Tworzenie stosów menedżerów okien działających na serwerze X wymagało klucza chromatycznego lub rozszerzenia green screening . Kompozycję wprowadzono za pomocą rozszerzenia „Kompozyt” . Menedżerowie komponowania używają akceleracji sprzętowej za pośrednictwem tego rozszerzenia, jeśli jest dostępne.

Ubuntu 8.04 Hardy Heron z przełącznikiem Shift Compiz w trybie Flip.

W systemach Linux i UNIX możliwość wykonywania pełnego akcelerowanego komponowania 3D wymagała fundamentalnych zmian w X11 w celu wykorzystania akceleracji sprzętowej. Początkowo pojawiło się wiele zmodyfikowanych implementacji X11 zaprojektowanych wokół OpenGL , w tym Xgl . Wprowadzenie AIGLX wyeliminowałoby potrzebę korzystania z Xgl i umożliwiłoby menedżerom okien przyspieszone komponowanie 3D na standardowym serwerze X, przy jednoczesnym umożliwieniu bezpośredniego renderowania . Obecnie karty NVIDIA , Intel i ATI obsługują AIGLX .

Compiz wprowadził efekt kostki, który pozwala użytkownikowi zobaczyć do 6 wirtualnych pulpitów jednocześnie. Każdy pulpit jest przekształcany w teksturę powierzchni sześcianu, którą można dowolnie obracać. Compiz wyświetla szeroką gamę efektów 2D i 3D i ma stosunkowo niskie wymagania sprzętowe. W 2012 r. Compiz został dołączony do Ubuntu Linux i był włączany automatycznie, gdy dostępny był obsługiwany sprzęt i sterowniki, a użytkownik nie wybrał trybu 2D.

Mutter (Metacity + Clutter ) zastąpił Metacity jako domyślny menedżer okien dla GNOME . Znajduje się w składniku GNOME Shell GNOME 3.0. Wykorzystuje silnik wyświetlania Clutter, który został przeniesiony na wszystkie główne systemy operacyjne, netbooki i smartfony .

Od wersji 4 menedżer okien KDE KWin ma możliwości komponowania. KWin zawiera wiele z tych samych funkcji co Compiz .

Jawa

Project Looking Glass był menedżerem okien łączącym renderowanie 3D i wieloplatformowy język programowania Java . Jest teraz nieaktywny i wydany na licencji GNU General Public License . Granular Linux dystrybucja live CD zawiera Looking Glass jako opcjonalny menedżer okien.

W następstwie jego zakończenia niektóre jego funkcje, takie jak przełączanie okładek i podgląd miniatur na żywo, trafiły do ​​innych menedżerów okien. Jego bardziej oryginalne funkcje obejmowały uchylanie okien, dwustronne obramowanie okien i przewijane paralaksy tła.

AmigaOS 4 i MorphOS

Chociaż są one w stanie działać na sprzęcie obsługującym 3D, AmigaOS 4 i MorphOS są zaprojektowane do działania na starszych, starszych komputerach Amiga, poczynając od Amigi 1200 . W związku z tym ich menedżery okien mają głównie możliwości renderowania planarnego, które obejmują warstwy kompozytowe, mieszanie alfa, gradienty, wysoką rozdzielczość i wiele pulpitów („ekranów”), które mogą częściowo przycinać się nawzajem.

Microsoft Windows

Chociaż menedżer okien w systemie Windows 2000 wykonuje komponowanie, nie wykonuje przekształceń, takich jak alfa na piksel. Niewiele zastosowań komercyjnych skorzystało z mieszania alfa; darmowe programy były jednymi z pierwszych, które z nim eksperymentowały, choć z opcjonalnymi ustawieniami. Składanie zostało wprowadzone w Menedżerze okien pulpitu w systemie Windows Vista .

Systemy Windows Vista i Windows 7 umożliwiają użytkownikowi wyłączenie Menedżera okien pulpitu poprzez wybranie ustawień wyglądu Windows Basic. Ponadto jest on automatycznie wyłączany przez system Windows w celu wykonania nakładki sprzętowej przez filtr miksera nakładek .

Użyteczność i słodycze dla oczu

Podejście do komponowania ułatwia implementację szeregu funkcji, które sprawiają, że interfejs użytkownika jest bardziej dostępny, prostszy w użyciu lub z elementami cukierków do oczu.

Lupy

Efekt powiększenia w Compiz (kliknij obraz, aby wyświetlić w skali).

Grafiki wektorowe , takie jak czcionki TrueType i elementy z akceleracją 3D, można rozszerzać bez degradacji (zwykle z powodu aliasingu ). Powiększania ekranu powiększa powierzchnię ekranu, dzięki czemu części czytelności tekstu - czy aby uniknąć zmęczenia oczu , dla osób niedowidzących , lub po prostu w pewnej odległości. Efekty powiększenia, takie jak lupa rybie oko i efekty powiększenia pulpitu, zapewniają tę funkcjonalność.

Podgląd na żywo

Podgląd okna można wyświetlić w wyskakującej miniaturze, gdy użytkownik najedzie na powiązany z nim przycisk paska zadań . Pozwala to użytkownikowi na identyfikację i zarządzanie kilkoma równolegle uruchomionymi programami.

Przełączanie okien

Podstawowe przełączanie okien w Xgl.

Okna o podobnych nazwach i ikonach powodują zamieszanie, zwłaszcza gdy ich paski tytułu nakładają się; pozycja każdego takiego okna na pasku zadań musi być zapamiętana. Gdy w ten sposób jest wiele otwartych okien, użytkownik często musi uciekać się do prób i błędów - klikając każdy przycisk paska zadań jeden po drugim - przed kontynuowaniem. Przełączanie okien pozwala na szybki podgląd kilku okien jednocześnie poprzez tymczasowe przestawienie ich na dekoracyjne tło. Po dokonaniu wyboru okna są przywracane do pierwotnego układu.

Zaznaczanie rozpoczyna się, gdy użytkownik wprowadzi kombinację klawiszy skrótu , przesunie wskaźnik myszy do punktu aktywnego na ekranie lub, w niektórych sytuacjach, użyje kółka przewijania myszy . Elementy są poruszane za pomocą klawiatury lub myszy. Element jest wybierany przez zwolnienie klawisza skrótu, naciśnięcie klawisza Enter lub kliknięcie myszą.

Przełączanie z klapką

Przełączanie klapkami w Compiz.

Przełącznik przerzucania jest rozszerzeniem funkcji przełączania Alt-Tab . Uruchomione okna są ułożone w stos – podobny do selektora w stylu przerzucania w szafie grającej z lat 50. lub Rolodex . W niektórych systemach użytkownik może nacisnąć Alt-Shift-Tab, aby przejść wstecz. Przejścia wizualne są stosowane do każdego elementu podczas nawigacji.

Typowe implementacje przełączania klapek to Flip 3D w Windows i Shift Switcher w Compiz.

Przełączanie pokrywy

Przełącznik pokrywy w KWin.

Przełączanie okładek jest jak przełączanie klapek z kilkoma, głównie wizualnymi różnicami. Zamiast jednego stosu z zaznaczeniem u góry, wyświetlane są dwa symetryczne stosy z bieżącym zaznaczeniem z przodu i na środku (podobnie do funkcji przechylania okna w Looking Glass).

Cover Flow to implementacja przełączania okładek w systemie macOS. Nowsze wersje używają rozmycia w celu odróżnienia niewybranych elementów. Cover Flow został również zaimplementowany w innym oprogramowaniu wydawanym przez Apple, takim jak iTunes .

Nazywa się to również „widokiem książki”.

Przełączanie dzwonków

Przełączanie pierścieni w Compiz Fusion.

Przełączanie pierścienia jest jak przełączanie klapką, z wyjątkiem tego, że okna poruszają się po okręgu, z bieżącym zaznaczeniem z przodu, zwykle na dole. Większość menedżerów okien do komponowania zawiera tę funkcję po wyjęciu z pudełka , a aplikacje innych firm , takie jak 3d-desktop , są również dostępne.

Grupowanie

Użytkownik może grupować okna razem, tak aby w każdej grupie było widoczne tylko jedno okno na raz. W Compiz rama okna jest odwracana, aby wskazać, kiedy aktywne okno w jego grupie zostało zmienione.

Expose

macOS wyświetla podgląd każdego okna na ekranie, układając je sąsiadująco. Inne systemy o podobnej funkcjonalności (Microsoft Windows, Compiz, KWin, aplikacje innych firm) są określane jako klony Exposé. Skrótem do aktywacji Exposé nie jest Alt-Tab, ale F3.

Kontrola misji

Mac OS X 10.7 łączy kilka innych funkcji komponowania opracowanych przez firmę Apple — takich jak Exposé, Dashboard i Spaces — w większy program o nazwie Mission Control .

Silniki widżetów

W systemie macOS „widżety” ( aplety jednorazowego użytku ), takie jak zegar, notatnik i kalkulator, mogą być wyświetlane po naciśnięciu klawisza skrótu . Silniki widżetów przyspieszają pracę, utrzymując często używane widżety dostępne, a jednocześnie dyskretne. Są obsługiwane przez program Dashboard w systemie macOS.

Compiz zaczyna się od pustej warstwy widżetów, umożliwiając użytkownikowi dodawanie aplikacji poprzez ich kliknięcie. Różnorodne widgety są obsługiwane, w tym Screenlets , gDesklets i SuperKaramba .

System Windows Vista udostępnia gadżety, które użytkownik może umieszczać na pasku bocznym systemu Windows (gadżety paska bocznego), stronie startowej usługi Windows Live (gadżety sieci Web) lub na zewnętrznym wyświetlaczu, takim jak telefon komórkowy użytkownika ( gadżety SideShow ). Pasek boczny systemu Windows był widoczną partycją w systemie Windows Vista i został wyeliminowany w systemie Windows 7 wraz z gadżetami paska bocznego, które zostały zmienione na gadżety pulpitu .

Przejścia i inne efekty

Przed opracowaniem menedżerów okien komponujących okna natychmiast pojawiały się i znikały z widoku, co jest niezgodne z metaforą interfejsu (i fizycznym ustawieniem biura ). Niektóre systemy, takie jak klasyczny Mac OS, uniknęły tego problemu dzięki ZoomRects , animując obrys okna „powiększanie” do ostatecznej pozycji. Jednak w większości systemów nagłe pojawienie się i zniknięcie elementów GUI może wydawać się mylące, a nawet chaotyczne dla niedoświadczonych użytkowników. Przejścia wizualne zapewniają kontekst i pomagają rozróżnić związki przyczynowe elementów GUI. Zamiast po prostu zniknąć, okno może zniknąć lub widocznie skurczyć się do paska zadań. Kliknięte menu rozwijane może płynnie odchodzić od paska menu, ułatwiając określenie jego pochodzenia i przeznaczenia.

Stopniowe i naturalne przejścia mogą być szczególnie przydatne dla użytkowników starszych lub niedowidzących, którzy zauważają zmiany na ekranie wolniej i mniej wyraźnie. Na przykład niedoświadczony użytkownik może impulsywnie kliknąć menu, które zostało aktywowane przez przypadek, powodując utratę pracy. Krótkie opóźnienie niezbędne do wyświetlenia przejścia wizualnego może dać użytkownikowi wystarczająco dużo czasu na podjęcie świadomej decyzji i uniknięcie takich błędów.

Fasady interfejsu użytkownika

Metisse wdraża fasady interfejsów użytkownika, system, który zapewnia użytkownikom proste sposoby adaptacji, rekonfiguracji i ponownego łączenia istniejących interfejsów graficznych poprzez zastosowanie technik bezpośredniej manipulacji .

Lista komponujących menedżerów okien

Lista niezależnych menedżerów komponowania

  • xcompmgr — minimalna alternatywa dla Compiz
  • Compton – naprawiony bug fork dcompmgr, który jest forkiem xcompmgr. (Nie utrzymywany od 2017 r.)
  • Picom - lekki kompozytor dla X11. To widelec Comptona.
  • Cairo Compmgr (Cairo Composite Manager) — dodatek do komponowania dla istniejących menedżerów okien. Używa Cairo , biblioteki grafiki wektorowej używanej również w GTK+ .
  • Unagi Compositing Manager — menedżer komponowania, który może być używany razem z istniejącym menedżerem okien. Wykorzystuje bibliotekę XCB . (Nie utrzymywany od 2014 r.)
  • MCompositor — używany w telefonach MeeGo .

Systemy operacyjne z komponowaniem menedżerów okien

Zobacz też

Bibliografia

Linki zewnętrzne