Menedżer okien - Window manager

Z Wikipedii, wolnej encyklopedii
Warstwy graficznego interfejsu użytkownika:
W X menadżer okien i serwer wyświetlania to dwa różne programy; ale pod Waylandem funkcję obu pełni kompozytor Waylanda.
Typowe elementy okna . Dekoracji okna jest albo sporządzone przez menedżera okien (X11) lub przez klienta ( Wayland ). Rysowanie treści jest zadaniem klienta.
Pod X11, gdy menedżer okien nie jest uruchomiony, w większości okien brakuje dekoracji okien. W ramach Wayland klienci zawsze rysują własne dekoracje okien.

Menedżer okien jest oprogramowanie systemowe , które kontroluje położenie i wygląd okien w obrębie systemu graficzną w graficznym interfejsie użytkownika . Większość menedżerów okien jest zaprojektowana tak, aby pomóc w zapewnieniu środowiska graficznego . Działają one w połączeniu z podstawowym systemem graficznym, który zapewnia wymaganą funkcjonalność - obsługę sprzętu graficznego, urządzeń wskazujących i klawiatury. Często są pisane i tworzone za pomocą zestawu narzędzi widgetów .

Niewiele menedżerów okien zaprojektowano z wyraźnym rozróżnieniem między systemem okienkowym a menedżerem okien. Każdy graficzny interfejs użytkownika oparty na metaforze Windows ma jakąś formę zarządzania oknami. W praktyce elementy tej funkcjonalności są bardzo zróżnicowane. Elementy zwykle kojarzone z menedżerami okien umożliwiają użytkownikowi otwieranie, zamykanie, minimalizowanie, maksymalizowanie, przenoszenie, zmianę rozmiaru i śledzenie uruchomionych okien, w tym dekoratorów okien . Wiele menedżerów okien jest również wyposażonych w różne narzędzia i funkcje: np. Stacje dokujące, paski zadań , programy uruchamiające programy, ikony pulpitu i tapety.

Historia

Nakładające się okna środowiska Smalltalk-76 działającego na Alto

W 1970 roku The Xerox Alto stał się pierwszym komputerem dostarczany z pracy WIMP GUI . Używał menedżera okien do układania, który pozwalał na nakładanie się okien. Chociaż nie jest jasne, czy Microsoft Windows zawiera projekty skopiowane z Mac OS firmy Apple , jasne jest, że żaden z nich nie był pierwszym, który stworzył GUI za pomocą okien układanych w stos. We wczesnych latach osiemdziesiątych Xerox Star , następca Alto, stosował kafelkowanie w większości głównych okien aplikacji i nakładał się tylko w oknach dialogowych, eliminując większość konieczności układania w stosy.

Mac OS był jednym z najwcześniejszych komercyjnie udanych przykładów graficznego interfejsu użytkownika, który wykorzystywał coś w rodzaju zarządzania oknami składowania za pomocą programu QuickDraw . Obecnie macOS korzysta z nieco bardziej zaawansowanego menedżera okien, który obsługuje komponowanie od czasu systemu Mac OS X 10.0 i został zaktualizowany w systemie Mac OS X 10.2, aby obsługiwał komponowanie przyspieszane sprzętowo za pośrednictwem Quartz Compositor .

GEM 1.1 był menedżerem okien, który obsługiwał metaforę pulpitu i stosował układanie w stosy, umożliwiając nakładanie się wszystkich okien. Został wydany na początku lat 80. GEM jest znany z tego, że został dołączony jako główny interfejs graficzny używany na Atari ST , który obsługiwał Atari TOS , a także był popularnym GUI dla MS-DOS przed powszechnym użyciem Microsoft Windows. W wyniku pozwu Apple , GEM został zmuszony do usunięcia możliwości układania w stosy, czyniąc go menedżerem okien kafelkowych.

W połowie lat osiemdziesiątych Amiga OS zawierał wczesny przykład komponującego menedżera okien o nazwie Intuition (jedna z niskopoziomowych bibliotek AmigaOS, która była obecna w ROM-ach systemu Amiga ), zdolnego do rozpoznawania, które okna lub ich części są zakryte , i które okna były na pierwszym planie iw pełni widoczne, więc mógł rysować tylko te części ekranu, które wymagały odświeżenia. Dodatkowo Intuition wspierało komponowanie. Aplikacje mogą najpierw zażądać obszaru pamięci poza bieżącym regionem wyświetlania, aby użyć go jako mapy bitowej. System okienkowy Amigi użyłby następnie serii bitów przy użyciu sprzętowego blittera systemu do zbudowania złożonego z bitmap tych aplikacji, wraz z przyciskami i suwakami, w pamięci wyświetlacza, bez konieczności przerysowywania przez te aplikacje żadnej z ich bitmap.

Intuicja przewidywała również wybory użytkownika, rozpoznając pozycję wskaźnika unoszącego się nad innymi elementami ekranu (paski tytułowe okien, ich gadżety zamykające i zmieniające rozmiar, całe ikony), dzięki czemu była w stanie przyznać prawie zerowe oczekiwanie doświadczenie w korzystaniu z menedżera okien Workbencha.

Warto wspomnieć, że Workbench był jedynym menedżerem okien, który ostatecznie zainspirował całą rodzinę potomków i następców: Ambient w MorphOS , Zune / Wanderer w AROS , Workbench NG (Nowa Generacja w AmigaOS 4.0 i 4.1). Workbench 4.1 został wzbogacony o interfejs wektorowy 2D obsługiwany przez biblioteki Cairo i prezentujący nowoczesny silnik Compositing oparty na Porter-Duff 3D.

W 1988 Presentation Manager stał się domyślną powłoką w OS / 2 , który w swojej pierwszej wersji używał tylko interfejsu wiersza poleceń (CLI). IBM i Microsoft zaprojektowały OS / 2 jako następcę DOS i Windows dla DOS. Jednak po sukcesie Windows 3.10 Microsoft porzucił projekt na rzecz Windows. Następnie projektem Microsoft dla przyszłego systemu OS / 2 w wersji 3 stał się Windows NT , a IBM dokonał całkowitego przeprojektowania powłoki OS / 2, zastępując Presentation Manager z OS / 2 1.x obiektową powłoką Workplace Shell. który zadebiutował w OS / 2 2.0.

Menedżery okien X.

W systemach korzystających z systemu X window istnieje wyraźne rozróżnienie między menedżerem okien a systemem okienkowym . Ściśle mówiąc, menedżer okien X nie współdziała bezpośrednio ze sprzętem wideo, myszami ani klawiaturami - za to odpowiada serwer wyświetlania .

Użytkownicy X Window System mają możliwość łatwego korzystania z wielu różnych menedżerów okien - Metacity , używanego w GNOME 2 i KWin , używanego w KDE Plasma Workspaces i wielu innych. Ponieważ wiele menedżerów okien jest modułowych, ludzie mogą używać innych, takich jak Compiz ( menedżer okien do tworzenia kompozycji 3D ), który zastępuje menedżera okien. Z drugiej strony Sawfish i awesome to rozszerzalne menedżery okien oferujące wymagającą kontrolę okien. Komponenty różnych menedżerów okien można nawet mieszać i dopasowywać; na przykład dekoracje okien z KWin mogą być używane z komponentami pulpitu i doku GNOME.

Menedżerowie okien X mają również możliwość ponownego nadania aplikacji rodzicom , co oznacza, że ​​podczas gdy początkowo wszystkie aplikacje są adoptowane przez okno główne (zasadniczo cały ekran), aplikacja uruchomiona w oknie głównym może zostać przyjęta przez (tj. ) kolejne okno. Menedżerowie okien w systemie X window przejmują aplikacje z okna głównego i zmieniają je w dekoracje okien (na przykład dodając pasek tytułu). W celu dodania zawartości jednego okna do drugiego można również użyć funkcji ponownego rodzicielstwa. Na przykład aplikacja odtwarzacza flash może zostać przeniesiona do okna przeglądarki i może wydawać się użytkownikowi jako rzekomo część tego programu. Dzięki temu menedżerowie okien nadrzędni mogą rozmieścić jeden lub więcej programów w tym samym oknie i łatwo łączyć układanie kafelków i układanie w stosy na różne sposoby.

Microsoft Windows

Microsoft Windows zapewnia zintegrowany menedżer okien do układania w stosy od wersji Windows 2.0 ; W systemie Windows Vista wprowadzono komponent Desktop Window Manager (dwm.exe) jako opcjonalną, przyspieszaną sprzętowo alternatywę. W systemie Windows, ponieważ GDI jest częścią jądra, rola menedżera okien jest ściśle powiązana z podsystemami graficznymi jądra i jest w dużej mierze niewymienna, chociaż narzędzia innych firm mogą być używane do symulacji menedżera okien kafelkowania na takich systemy. Od systemu Windows 8 nie można już wyłączać menedżera okien pulpitu opartego na Direct3D . Można go ponownie uruchomić tylko za pomocą kombinacji klawiszy skrótu Ctrl + Shift + Win + B.

Eksplorator Windows (explorer.exe) jest domyślnie używany jako powłoka w nowoczesnych systemach Windows, aby zapewnić pasek zadań i menedżera plików, a także wiele funkcji menedżera okien; aspekty systemu Windows można modyfikować za pomocą dostarczonych narzędzi konfiguracyjnych, modyfikacji rejestru systemu Windows lub narzędzi innych firm, takich jak WindowBlinds lub Resource Hacker .

Menedżer okien Windows może również działać jako menedżer okien X poprzez Cygwin / X w trybie wielu okien (i być może innych implementacji okien X).

Zauważ, że Microsoft i X Window System używają różnych terminów do opisania podobnych pojęć. Na przykład rzadko pojawia się wzmianka o terminie menedżer okien firmy Microsoft, ponieważ jest on zintegrowany i niewymienialny oraz różni się od powłoki . Systemu Windows Shell jest analogiczna do środowiska graficznego pojęcia w innych systemach graficznych interfejsów użytkownika.

Rodzaje menedżerów okien

Menedżery okien są często podzielone na trzy lub więcej klas, które opisują sposób rysowania i aktualizowania okien.

Tworzenie menedżerów okien

Menedżery okien do komponowania pozwalają na tworzenie i rysowanie wszystkich okien oddzielnie, a następnie składanie i wyświetlanie w różnych środowiskach 2D i 3D. Najbardziej zaawansowane menedżery okien do tworzenia kompozycji pozwalają na dużą różnorodność w wyglądzie i działaniu interfejsu oraz na obecność zaawansowanych efektów wizualnych 2D i 3D.

Układanie menedżerów okien w stosy

Wszystkie menedżery okien, które mają nakładające się okna i nie łączą menedżerów okien, stosują menedżery okien , chociaż jest możliwe, że nie wszyscy używają tych samych metod. Układanie menedżerów okien umożliwia nakładanie okien poprzez rysowanie najpierw okien w tle, co jest określane jako algorytm malarza . Zmiany czasami wymagają ponownego ułożenia lub przemalowania wszystkich okien, co zwykle wiąże się z ponownym rysowaniem każdego okna. Jednak przeniesienie okna tła na wierzch zwykle wymaga tylko ponownego narysowania jednego okna, ponieważ okna tła mogą mieć namalowane fragmenty innych okien, skutecznie wymazując zakryte obszary.

Menedżer okien kafelkowych

Kafelkowe menedżery okien malują wszystkie okna na ekranie, umieszczając je obok siebie lub nad i pod sobą, tak aby żadne okno nigdy nie zakrywało drugiego. Microsoft Windows 1.0 stosować dachówki, a różnorodność kafli menedżerów okien dla X są dostępne.

Dynamiczny menedżer okien

Dynamiczne menedżery okien mogą dynamicznie przełączać się między układem kafelkowym a ruchomym. Różnorodność dynamicznych menedżerów okien dla X są dostępne.

Funkcje i udogodnienia menedżerów okien

Automatyczne chowanie
Autohide Placówka umożliwia menubars zniknąć, gdy wskaźnik jest odsunięte od krawędzi ekranu.
Granice
Obramowanie to element dekoracji okna udostępniany przez niektóre menedżery okien, który pojawia się wokół aktywnego okna . Niektóre menedżery okien mogą również wyświetlać obramowanie wokół okien w tle .
Menu kontekstowe
Niektóre menedżery okien udostępniają menu kontekstowe, które pojawia się po zastosowaniu alternatywnego zdarzenia kliknięcia do komponentu pulpitu.
Tapeta na pulpit
Niektóre menedżery okien oferują funkcję tapety pulpitu , która wyświetla obraz tła w oknie głównym .
Kradzież skupienia
Kradzież fokusów to funkcja oferowana przez niektórych menedżerów okien. Pozwala aplikacji, która nie jest fokusem, nagle zyskać fokus i ukraść dane wejściowe użytkownika przeznaczone dla poprzednio skupionej aplikacji.
Ikonifikacja
Narzędzie do tworzenia ikon pozwala użytkownikom zminimalizować uruchomione aplikacje do ikony na pulpicie lub ikony panelu zadań.
Dołączył do Windows
Niektóre menedżery okien zapewniają funkcję łączenia okien , która umożliwia użytkownikom łączenie ram okien aplikacji.
Odpowiedniki klawiatury
Niektóre menedżery okien zapewniają odpowiedniki klawiatury, które umożliwiają klawiaturze replikację funkcji myszy .
Pasek menu
Pasek menu umożliwia uruchamianie programów za pośrednictwem menu i może zawierać dodatkowe funkcje, w tym przycisk Start , pasek zadań i zasobnik systemowy .
Panel menu
Panel menu składnikiem niektórych menedżerów okien, które oferuje funkcje programów nośnych przy użyciu menu. Panel menu jest podobny do paska menu , ale pojawia się jako pływającą panelu , zamiast paska poziomego lub pionowego.
Panel menu może zawierać dodatkowe udogodnienia, w tym przycisk start , w panelu zadań oraz zasobniku systemowym .
Ostrość myszy
Model skupienia myszy określa, w jaki sposób urządzenie wskazujące wpływa na fokus wprowadzania w menedżerze okien. Model fokusu określa, który składnik graficznego interfejsu użytkownika jest aktualnie wybrany do odbierania danych wejściowych, gdy wskaźnik jest przesuwany po ekranie.
Wypaczenie myszy
Wypaczanie myszy to funkcja, która wyśrodkowuje wskaźnik na bieżącej aplikacji, gdy jest ona aktywna.
Wiele komputerów stacjonarnych
Menedżer okien może udostępniać funkcję wielu pulpitów . Umożliwia to przełączanie między kilkoma pulpitami okna głównego . Zapobiega to bałaganowi w oknie głównym , ponieważ aplikacje mogą działać na różnych komputerach .
Pager
Niektóre menedżery okien udostępniają narzędzie pager , które umożliwia przełączanie między wieloma pulpitami . Pager może pojawić się jako ekranowej oknie lub jako gadżet na pasku zadań lub taskpanel .
Wtyczki
Niektóre menedżery okien mają konstrukcję modułową, która umożliwia plug-in modułów w celu zapewnienia możliwości zgodnie z wymaganiami.
Rollup
Funkcja rozwijania umożliwia wyświetlanie okien jako paska tytułu na pulpicie.
Menu główne
Niektóre menedżery okien udostępniają menu główne , które pojawia się po dotknięciu okna głównego lub tła pulpitu .
Skróty
Niektóre menedżery okien zapewniają funkcję skrótów , która umożliwia użytkownikom umieszczanie ikon w oknie głównym, które mają dostęp do określonych programów lub udogodnień.
Okna z kartami
Niektóre menedżery okien udostępniają funkcję okien z kartami , która grupuje aplikacje we wspólnych ramkach.
Przełączanie zadań
Menedżer okien może zapewniać różne narzędzia do przełączania zadań, które pozwalają użytkownikowi zmieniać aktualnie skoncentrowaną aplikację, w tym:
pasek zadań
Niektóre menedżery okien udostępniają pasek zadań, który pokazuje uruchomione aplikacje. Pasek zadań może pokazywać wszystkie uruchomione aplikacje, w tym te, które zostały zminimalizowane , i może zapewniać możliwość przełączania fokusu między nimi. Pasek zadań może być włączony do paska menu w niektórych menedżerach okien.
Panel zadań
Panel zadaniem jest podobny do paska zadań , ale pojawia się jako pływającą panelu , zamiast paska poziomego lub pionowego.
Przycisk Start
Przycisk Start to widget na pulpicie zawierający menu programów, które można uruchomić. Przycisk Start jest zwykle umieszczony na pasku menu u dołu ekranu.
Obszar powiadomień
Obszar powiadomień służy do wyświetlania ikon dla funkcji systemowych i programowych, które nie mają okna na pulpicie . Zawiera głównie ikony wskazujące informacje o statusie i powiadomienia, takie jak nadejście nowej wiadomości e-mail. Niektóre systemy mogą również wyświetlać zegar w Obszarze powiadomień .
Paski tytułu
Pasku tytułowym jest okno dekoracja składnikiem niektórych menedżerów okien zapewniają u góry każdego okna. Pasku tytułowym jest zazwyczaj używany do wyświetlania nazwy aplikacji lub nazwy otwartego dokumentu i mogą zapewnić przyciski paska tytułowego minimalizacji, maksymalizacji, zamykając lub zwijanie okien aplikacji.
Przyciski paska tytułu
Przyciski paska tytułu znajdują się na pasku tytułowym niektórych menedżerów okien i zapewniają możliwość minimalizowania, maksymalizowania, rozwijania lub zamykania okien aplikacji. Niektóre menedżery okien mogą wyświetlać przyciski paska tytułu na pasku zadań lub panelu zadań zamiast na pasku tytułu .
Wirtualny pulpit
Pulpit wirtualny (zwany także przewijanie pulpit) jest obiektem niektóre menedżery pod warunkiem, że pozwala na pulpicie być większy niż rzeczywisty ekranie

Aktywne okno

Aktywne okno jest obecnie koncentruje się okno w bieżącym oknie menedżera. Różne menedżery okien wskazują aktualnie aktywne okno na różne sposoby i pozwalają użytkownikowi przełączać się między oknami na różne sposoby. Na przykład w systemie Microsoft Windows, jeśli zarówno Notatnik, jak i Microsoft Paint są otwarte, kliknięcie w oknie Notatnika spowoduje uaktywnienie tego okna. W systemie Windows aktywne okno jest oznaczone innym kolorowym paskiem tytułu. Jednak kliknięcie nie jest jedynym sposobem na wybranie aktywnego okna: niektóre menedżery okien (takie jak FVWM ) powodują, że okno pod wskaźnikiem myszy jest aktywne - do przełączania okien wystarczy poruszanie myszą; kliknięcie nie jest potrzebne.

Menedżerowie okien często umożliwiają wybór aktywnego okna za pomocą klawiatury jako alternatywy dla myszy. Jedną z typowych kombinacji klawiszy jest Alt + Tab , używana przez Windows i KDE (domyślnie, chociaż można ją konfigurować przez użytkownika); innym jest apple key -tilde, używany przez Macintosha. Naciśnięcie odpowiedniej kombinacji klawiszy zazwyczaj powoduje przełączenie między wszystkimi widocznymi oknami w określonej kolejności, chociaż możliwe są inne czynności.

Wiele menedżerów okien, choć nie wszystkie, udostępnia obszar ekranu zawierający pewnego rodzaju kontrolę wizualną (często przycisk) dla każdego okna na ekranie. Każdy przycisk zazwyczaj zawiera tytuł okna i może również zawierać ikonę. Ten obszar ekranu generalnie zapewnia pewnego rodzaju wizualne wskazanie, które okno jest aktywne - na przykład, przycisk aktywnego okna może wyglądać na „wciśnięty”. Zwykle można też przełączyć aktywne okno, klikając odpowiedni przycisk. W systemie Microsoft Windows ten obszar ekranu nosi nazwę paska zadań ; w systemach Apple Macintosh ten obszar ekranu nazywany jest dokiem.

Aktywne okno nie zawsze może znajdować się przed wszystkimi innymi oknami na ekranie. Aktywne okno to po prostu okno, do którego wysyłane są klawisze wpisywane na klawiaturze; może być wizualnie zasłonięty przez inne okna. Jest to szczególnie ważne w menedżerach okien, które nie wymagają kliknięcia, aby zmienić aktywne okna: na przykład FVWM uaktywnia okno pod kursorem myszy, ale nie zmienia jego kolejności Z (kolejność, w jakiej pojawiają się okna, mierzona od tła na pierwszy plan). Zamiast tego konieczne jest kliknięcie krawędzi okna, aby przenieść je na pierwszy plan. Istnieją również sytuacje w menedżerach okien typu „kliknij, aby zaznaczyć fokus”, takich jak Microsoft Windows, w których aktywne okno może być zasłonięte; jednak jest to znacznie mniej powszechne.

Zobacz też

Bibliografia