Ablakkezelő (szoftver)

A Wikipédiából, a szabad enciklopédiából
Ugrás a navigációhoz Ugrás a kereséshez
A grafikus felhasználói felület rétegei:



</br> X alatt az ablakkezelő és a megjelenítő szerver két különálló program; de Wayland alatt mindkettő funkcióját a Wayland kezelő látja el
Az ablak tipikus elemei. Az ablak díszítését vagy az ablakkezelő (X11) vagy az ügyfél (Wayland) végzi. A tartalom megrajzolása pedig az ügyfél feladata
X11 alatt, ha az ablakkezelő nem fut, az ablak dekorációk a legtöbb ablaknál hiányoznak. A Wayland alatt az ügyfelek mindig saját ablak dekorációkat készítenek

Az ablakkezelő olyan rendszerszoftver, amely grafikus felhasználói felületen[1] egy ablakkezelő rendszer segítségével ellenőrzi az ablakok elhelyezését és megjelenítését. A legtöbb ablakkezelőt úgy tervezték, hogy elősegítse az asztali környezet biztosítását. Együtt működnek az alapul szolgáló grafikus rendszerrel, amely biztosítja a szükséges funkcionalitást - támogatja a grafikus hardvert, a mutatóeszközöket és a billentyűzetet, és gyakran egy widget eszköztár segítségével íródnak és jönnek létre.

Néhány ablakkezelőben világosan el van különítve az ablakos rendszer és az ablakkezelő. Minden grafikus felhasználói felület, amely egy Windows metaforán alapul és rendelkezik az ablakkezelés valamilyen formájával. A gyakorlatban ennek a funkciónak az elemei nagyban különböznek.[2] Általában az ablakkezelőkhöz társított elemek lehetővé teszik a felhasználó számára, hogy megnyissa, bezárja, minimalizálja, maximalizálja, mozgassa, átméretezze és nyomon kövesse a futó ablakokat, beleértve az ablak dekorátorokat is. Sok ablakkezelő különféle segédprogramokkal és szolgáltatásokkal is rendelkezik, pédául; dokkok, tálcák, programindítók, asztali ikonok és háttérképek.

Történelem[szerkesztés]

Fájl:A screenshot of Smalltalk-76.png
Az Alto-n futó Smalltalk-76 környezet átfedő ablakai

Az 1970-es években a Xerox Alto előállt az első működő WIMP GUI- val ellátott számítógéppel. Rakosgatható ablakkezelőt használt, amely lehetővé tette az átfedéseket.[3] Bár nem világos, hogy a Microsoft Windows tartalmaz-e az Apple Mac OS- jéről másolt terveket, egyértelmű, hogy egyik sem készített grafikus felületet egymásra rakódó ablakok segítségével. Az 1980-as évek elején a Xerox Star, az Alto utódja, a legtöbb fő alkalmazásablakhoz csempézést használt, és csak a párbeszédpanelekhez használta az átfedést, így a halmozás szükségességének nagyrésze megszűnt.[4]

A Mac OS volt az egyik legkorábban kereskedelmi sikert elérő példa a GUI-ra, amely egyfajta veremablak- kezelést használt a QuickDraw segítségével. Jelenleg a macOS egy kissé fejlettebb ablakkezelőt használ, amely a Mac OS X 10.0 óta támogatja az összetevőket, és a Mac OS X 10.2- ben frissítették, hogy támogassa a hardveres gyorsítást a Quartz Compositoron keresztül.[5]

A GEM 1.1 egy ablakkezelő volt, amely támogatta az asztali hasonlatot, és egymásra helyezte az ablakokat, lehetővé téve az összes ablak átfedését. Az 1980-as évek elején jelent meg. A GEM arról híres, hogy az Atari ST- ben használt fő GUI-ként szerepelt, amely az Atari TOS-t futtatta, és az MS-DOS számára is népszerű GUI volt a Microsoft Windows széles körű használata előtt. Az Apple perének eredményeként a GEM kénytelen volt eltávolítani az egymásra rakás képességeit, és ezzel burkolóablak-kezelővé vált.

Az 1980-as évek közepén az Amiga OS tartalmazott egy korai példát az Intuition nevű kompozíciós ablakkezelőre (az AmigaOS egyik alacsony szintű könyvtárának, amely jelen volt az Amiga rendszer ROM-jain), amely képes volt felismerni, hogy mely ablakok vagy azok részei vannak lefedve, és hogy mely ablakok voltak az előtérben és teljesen láthatók, így csak a képernyő frissítést igénylő részeket tudta megrajzolni. Ezenkívül az Intuition támogatta az írást. Az alkalmazások először az aktuális megjelenítési régión kívüli memóriaterületeket kérhetnek tárhelyet a bitképnek. Az Amiga ablakos rendszer ezután a rendszer hardveres blitterével egy sor bitblitet használ fel, hogy ezeknek az alkalmazásoknak a bitképeit, gombokat és csúszkákat együttesen a kijelző memóriájába építse, anélkül, hogy ezeknek az alkalmazásoknak meg kellene rajzolniuk bármelyik bitképüket.

Az intuíció a felhasználó igényeit is előre jelezte, amikor felismerte a képernyő egyéb elemein (az ablakok címsorai, bezáró és átméretező eszközök, egész ikonok) lebegő, mutató helyzetét, képes volt szinte nulla várakozási idő alatt megállapítani a Workbench ablakkezelő használatának tapasztalatait, szokásait.

Figyelemre méltó az a tény, hogy a Workbench volt az egyetlen ablakkezelő, amely végül egy teljes leszármazott és utód családot inspirált: Ambient a MorphOS-ban, Zune/Wanderer az AROS-ban, Workbench NG (New Generation az AmigaOS 4.0 és 4.1-ben). A Workbench 4.1-et továbbfejlesztette a kairói könyvtárak által működtetett 2D-s vektoros interfész bemutatta a modern Porter-Duff 3D alapú Compositing Engine-t.

1988-ban a Presentation Manager lett az alapértelmezett shell az OS/2-ben, amely első verziójában csak parancssori felületet (CLI) használt. Az IBM és a Microsoft az OS/2-t a DOS és a Windows utódjaként tervezte meg a DOS számára. A Windows 3.10 sikere után azonban a Microsoft felhagyott a projekttel a Windows javára. Ezt követően a jövőbeli OS/2 3-as verziójának Microsoft-projektje a Windows NT lett, és az IBM teljesen átalakította az OS/2 héját, és az OS/2 1.x bemutatókezelőjét helyettesítette az objektumorientált munkahelyi héjjal, amely az OS/2 2.0-ban debütált.[6]

X ablakkezelők[szerkesztés]

Az X ablakkezelő rendszert használó rendszereken egyértelmű különbség van az ablakkezelő és az ablakos rendszer között. Szigorúan véve az X ablakkezelő nem lép közvetlenül kapcsolatba videohardverekkel, egerekkel vagy billentyűzetekkel - ez a megjelenítő szerver feladata.

Az X ablakkezelő felhasználói sokféle ablakkezelőt könnyedén használhatnak - a Metacity, amelyet a GNOME 2 használ, és a KWin, amelyet a KDE Plasma Workspace-ben használnak, és még sokan mások. Mivel sok ablakkezelő moduláris, az emberek másokat is használhatnak, például a Compiz-ot (egy 3D-s összetevő ablakkezelő), amely az ablakkezelőt helyettesíti.Viszont a Sawfish és a awesome kiterjeszthető ablakkezelők, amelyek pontos ablakvezérlést kínálnak. A különböző ablakkezelők összetevői akár keverhetőek és illeszthetőek; például a KWin ablakdekorációi használhatók a GNOME asztali és dokkoló összetevőivel is.

Az X ablakkezelők képesek rekurzív alkalmazásokat is létrehozni, ami azt jelenti, hogy míg kezdetben az összes alkalmazást a gyökérablak fogadja el (lényegében az egész képernyő), a gyökérablakon belül elindított alkalmazást egy másik ablak is elfogadhatja. Az X ablakrendszer alatti ablakkezelők az alkalmazásokat a gyökérablakból veszik át, és újra szülővé teszik őket az ablakdíszítésekig (például címsor hozzáadásával). Az újraszülöttség arra is használható, hogy az egyik ablak tartalmát hozzáadjuk a másikhoz. Például egy flash-lejátszó alkalmazás újrafelhasználása lehet egy böngészőablaknak, és a felhasználó számára úgy tűnhet, hogy az adott program része. A rekurzív ablakkezelők ezért egy vagy több programot elrendezhetnek ugyanabba az ablakba, és könnyen kombinálhatják a csempézést és a halmozást többféle módon.

Microsoft Windows[szerkesztés]

A Microsoft Windows a Windows 2.0 óta integrált halmozási ablakkezelőt biztosított; A Windows Vista opcionális hardver-gyorsítású alternatívaként vezette be az asztali ablakkezelőt (dwm.exe). A Windows rendszerben, mivel a GDI a kernel része,[7] az ablakkezelő szerepe szorosan kapcsolódik a kernel grafikus alrendszereihez, és nagyrészt nem cserélhető, bár harmadik féltől származó segédprogramok felhasználhatóak a Tiling ablakkezelő szimulálására az ilyen rendszereken. A Windows 8 óta a Direct3D- alapú Asztalablak-kezelő már nem tiltható le.[8] Csak a Ctrl + Shift + Win + B gyorsbillentyűkombinációval lehet újraindítani.[9]

A Windows Intézőt (explorer.exe) alapértelmezés szerint a modern Windows rendszerekben használják héjként, hogy tálcát és fájlkezelőt biztosítsanak, az ablakkezelő számos funkciójával együtt. A Windows aspektusai módosíthatóak a megadott konfigurációs segédprogramok segítségével, módosítva a Windows rendszerleíró adatbázist vagy harmadik féltől származó eszközökkel, például WindowBlinds vagy Resource Hacker.

A Windows ablakkezelő X ablakkezelőként is működhet a Cygwin/X-en keresztül többablakos módban (és esetleg más X ablakmegvalósításokban).

A Microsoft és az X ablakkezelő különböző kifejezéseket használ a hasonló fogalmak leírására. Például a Microsoft ritkán említi az ablakkezelő kifejezést, mivel ez integrált és nem cserélhető, és elkülönül a shelltől.[10] A Windows Shell analóg az asztali környezet fogalmával más grafikus felhasználói interfész rendszerekben.

Ablakkezelők típusai[szerkesztés]

Az ablakkezelőket gyakran három vagy több osztályba osztják, amelyek leírják az ablakok rajzolását és frissítését.

Ablakkezelők komponálása[szerkesztés]

Az összetett ablakkezelők lehetővé teszik az összes ablak külön létrehozását és rajzolását, majd összerakják és megjelenítik a különböző 2D és 3D környezetekben. A legfejlettebb kompozíciós ablakkezelők lehetővé teszik az interfész megjelenésének és változatosságának sokféleségét, valamint a fejlett 2D és 3D vizuális effektusok jelenlétét.

Ablakkezelők egymásra helyezése[szerkesztés]

Az összes ablakkezelő, amelynek átfedő ablakai vannak, és nem komponálhatja az ablakkezelőket, egymásra helyezi az ablakkezelőket, bár lehetséges, hogy nem mindegyik használja ugyanazt a módszert. Az ablakkezelők egymásra helyezése lehetővé teszi az ablakok átfedését azzal, hogy először háttérablakokat rajzol, amelyet a festő algoritmusának neveznek. A változtatások időnként megkövetelik, hogy az összes ablakot egymásra rakják vagy újrafessék, ami általában minden ablak újrarajzolásával jár. Habár a háttérablak előtérbe helyezéséhez azonban általában csak egy ablak újrarajzolása szükséges, mivel a háttérablakokra más ablakok bitjei lehetnek festve, ami hatékonyan kitörli a lefedett területeket.

Csempéző ablakkezelő[szerkesztés]

A burkolólapok kezelői az összes ablakot a képernyőn úgy festik meg, hogy egymás mellé, egymás fölé és alá helyezik őket, így soha egyetlen ablak sem takarja el a másikat. A Microsoft Windows 1.0 csempézést használt, és az X ablakkezelőhöz különféle csempézési ablakkezelők állnak rendelkezésre.

Dinamikus ablakkezelő[szerkesztés]

A dinamikus ablakkezelők dinamikusan válthatnak a csempézés vagy az úszó ablak elrendezés között. Az X ablakkezelőhöz különféle dinamikus ablakkezelők állnak rendelkezésre.

Az ablakkezelők jellemzői és lehetőségei[szerkesztés]

Automatikus elrejtés
Az automatikus elrejtés lehetővé teszi a menüsorok eltűnését, amikor a mutató elmozdul a képernyő szélétől.
Határok
A szegély néhány ablakkezelő által biztosított ablakdekorációs komponens, amely az aktív ablak körül jelenik meg. Néhány ablakkezelő a háttérablakok körül is megjeleníthet szegélyt.
Helyi menü
Egyes ablakkezelők olyan helyi menüt kínálnak, amely akkor jelenik meg, amikor egy alternatív kattintási eseményt alkalmaznak egy asztali összetevőre.
Asztali háttérkép
Néhány ablakkezelő biztosít egy olyan háttérképet, amely megjelenik a gyökérablakban.
Fókuszlopás
A fókuszlopás néhány ablakkezelő által biztosított lehetőség. Ez lehetővé teszi, hogy egy nem fókuszban lévő alkalmazás hirtelen összpontosítson, és ellopja a korábban fókuszált alkalmazáshoz szánt felhasználói adatokat.
Ikonizálás
Az ikonizálási lehetőség lehetővé teszi a felhasználók számára, hogy minimalizálják a futó alkalmazásokat egy asztali ikonra vagy egy tálca ikonra.
Csatlakoztatott Windows
Egyes ablakkezelők olyan összekapcsolt Windows szolgáltatást nyújtanak, amely lehetővé teszi a felhasználók számára, hogy az alkalmazás ablakkereteit összekapcsolják.
Billentyűzet-ekvivalensek
Egyes ablakkezelők olyan billentyűzet-ekvivalenseket kínálnak, amelyek lehetővé teszik a billentyűzet számára az egér funkcióinak megismétlését.
Menüsor
A menüsor lehetővé teszi a programok elindítását egy menü segítségével, és tartalmazhat további lehetőségeket, például egy indítógombot, feladat tálcát és egy rendszer tálcát.
Menüpanel
A menüpanel néhány ablakkezelő egyik összetevője, amely lehetővé teszi a programok elindítását egy menü segítségével. A menü panel hasonló a menüsorthoz, de úgy inkább olyan, mint egy úszó panel és hanem egy vízszintes vagy függőleges vonal.
A menü panel tartalmazhat további létesítmények, például start gombot, feladat panelt, és rendszer panelt.
Egérfókusz
Az egér fókuszmodellje meghatározza, hogy a mutatóeszköz hogyan befolyásolja az ablakkezelő bemeneti fókuszát. A fókuszmodell meghatározza, hogy a grafikus felhasználói felület melyik elemét választja ki akkor a bemenet fogadására, amikor a mutató a képernyőn mozog.
Egércsavarás
Az egércsavarás olyan lehetőség, amely a mutatót az aktuális alkalmazásra állítja, miközben aktívvá válik.
Többoldalú asztali számítógépek
Az ablakkezelő több asztali szolgáltatást is biztosíthat. Ez lehetővé teszi a váltást több root ablak és így asztali gép között. Ez megakadályozza a rendetlenséget a root ablakban, mert az alkalmazások különböz asztali gépeken futnak.
Személyhívó
Néhány ablakkezelő rendelkezik személyhívó eszközzel, amely lehetővé teszi a váltást több asztali számítógép között. A személyhívó a képernyőn ablakként vagy eszközként a tálcán vagy feledat panelen.
Bővítmények
Néhány ablakkezelő moduláris felépítésű, amely lehetővé teszi a beépülő modulok számára, hogy a szükséges funkciókat biztosítsák.
Megjelenés
Az rollup szolgáltatás lehetővé teszi, hogy az ablakok csak címsorként jelenjenek meg az asztalon.
Gyökér (fő) menü
Néhány ablakkezelő tartalmaz egy gyökérmenüt, amely a gyökérablak vagy az asztal hátterének megérintésekor jelenik meg.
Parancsikonok
Egyes ablakkezelők parancsikonokat biztosítanak, amelyek lehetővé teszik a felhasználók számára, hogy ikonokat helyezzenek el a gyökérablakra, amelyekkel elérik az adott programokat vagy szolgáltatásokat.
Windows-fül
Egyes ablakkezelők biztosítanak egy füles ablak szolgáltatást, amely az alkalmazásokat közös keretekbe csoportosítja.
Feladatváltás
Az ablakkezelő különféle feladatváltási lehetőségeket kínálhat, amelyek lehetővé teszik a felhasználó számára az aktuálisan fókuszált alkalmazás megváltoztatását, többek között:
  • Az egér fókuszának megváltoztatása mutatóeszközzel
  • Billentyűzet feladat-váltási lehetőségek (például az Alt-Tab megnyomásával)
  • Ha rákattint a feladatra a tálcán vagy a feladat panelen
Tálca
Néhány ablakkezelő rendelkezik egy tálcával, amely a futó alkalmazásokat mutatja. A tálca megjelenítheti az összes futó alkalmazást, beleértve azokat is, amelyek minimalizálva vannak, és lehetőséget kínálhat a fókusz átkapcsolására közöttük.Néhány ablakkezelőben lehetséges, hogy a tálca beépül a menüsorba.
Feladatpanel
A feladatpanel hasonló a tálcához, de lebegő panelként jelenik meg, nem pedig vízszintes vagy függőleges sávként.
Start gomb
A Start gomb egy asztali widget, amely az indítható programok menüjét tartalmazza. A Start gomb általában a képernyő alján elhelyezett menüsoron található.
Értesítési terület
Az Értesítési terület az ikonok megjelenítésére szolgál azon rendszer- és programfunkciókhoz, amelyek nem rendelkeznek asztali ablakkal. Főleg ikonokat tartalmaz, amelyek jelzik az állapotinformációkat és az értesítéseket, például egy új e-mail érkezését. Egyes rendszerek órát is mutathatnak az Értesítési területen.
Címsorok
A címsor egy ablakdekorációs komponens, amelyet egyes ablakkezelők az ablakok tetején adnak meg. A címsort általában az alkalmazás nevének vagy a nyitott dokumentum nevének megjelenítésére használják, és címsor gombokat tartalmazhatnak az alkalmazásablakok minimalizálására, maximalizálására, bezárására vagy felgördítésére.
A címsor gombjai
A címsor gombjai egyes ablakkezelők címsorában találhatók, és lehetővé teszik az alkalmazásablakok minimalizálását, maximalizálását, összesítését vagy bezárását. Egyes ablakkezelők viszont a címsor gombjait a tálcán vagy a panelen jeleníthetik meg, nem pedig a címsorban.
Virtuális asztal
A virtuális asztal (más néven görgető asztal) néhány ablakkezelő által biztosított lehetőség, amely lehetővé teszi, hogy az asztal nagyobb legyen, mint a tényleges képernyő.

Aktív ablak[szerkesztés]

Az aktív ablak az aktuális ablakkezelő pillanatnyilag fókuszált ablaka. A különböző ablakkezelők különböző módon jelzik az éppen aktív ablakot és lehetővé teszik a felhasználó számára, hogy különböző módon váltson az ablakok között. Például a Microsoft Windows rendszerben, ha a Jegyzettömb és a Microsoft Paint is meg van nyitva akkor a Jegyzettömb ablakra kattintva az ablak aktív lesz. Windows rendszerben az aktív ablakot más színű címsor jelzi. A kattintás azonban nem az egyetlen módja az aktív ablak kiválasztásának: egyes ablakkezelők (például az FVWM) aktívvá teszik az ablakot az egérmutató alatt - az egér egyszerű mozgatása elegendő az ablakváltáshoz; kattintásra nincs szükség.

Az ablakkezelők gyakran lehetővé teszik az aktív ablak kiválasztását a billentyűzet használatával az egér alternatívájaként. Az egyik tipikus billentyűkombináció az Alt + Tab, amelyet a Windows és a KDE használ (alapértelmezés szerint, bár ez a felhasználó által konfigurálható); egy másik például az Apple key -tilde ezt pedig a Macintosh használja. A megfelelő billentyűkombináció megnyomásával általában az összes látható ablakot áttekintjük bizonyos sorrendben, bár más műveletek is lehetségesek.

Sok, bár nem az összes ablakkezelő biztosítja a képernyő egy részét, amely valamilyen vizuális vezérlést (gyakran egy gombot) tartalmaz a képernyő minden ablakához. Minden gomb általában az ablak címét tartalmazza, és ikont is tartalmazhat. A képernyő ezen területe általában valamilyen vizuális jelzést ad arról, hogy melyik ablak aktív - például az aktív ablak gombja „benyomva” lehet. Az aktív ablak átkapcsolása általában a megfelelő gombra kattintva is lehetséges. Microsoft Windows rendszerben a képernyő ezen területét tálcának hívják; Apple Macintosh rendszerekben a képernyő ezen területét dokkolónak hívják.

Az aktív ablak nem mindig van a képernyőn lévő összes többi ablak előtt. Az aktív ablak egyszerűen az az ablak, ahová a billentyűzeten beírt kulcsokat küldik; más ablakok vizuálisan elhomályosíthatják. Ez különösen igaz azoknál az ablakkezelőknél, amelyeknél nincs szükség kattintásra az aktív ablakok megváltoztatásához: Az FVWM például aktívvá teszi az ablakot az egér kurzor alatt, de nem változtatja meg annak Z sorrendjét (az ablakok megjelenési sorrendjét a háttértől mérve) előtérbe). Ehelyett az ablak szélére kell kattintani, hogy az előtérbe kerüljön. A kattintásra fókuszálható ablakkezelőkben, például a Microsoft Windowsban is előfordulhat, hogy az aktív ablak eltakarható; ez azonban sokkal ritkábban fordul elő.

Jegyzetek[szerkesztés]

  1. Window manager definition
  2. window manager Definition from PC Magazine Encyclopedia. www.pcmag.com
  3. Lineback: The Xerox Alto. toastytech.com
  4. Lineback: The Xerox Star. toastytech.com
  5. Mac OS X 10.4: Quartz[halott link]
  6. OS/2 History. [2006. július 20-i dátummal az eredetiből archiválva]. (Hozzáférés: 2021. június 8.)
  7. Pleas: Windows NT 4.0. Windows IT Pro, 1996. április 1. [2007. március 10-i dátummal az eredetiből archiválva]. (Hozzáférés: 2019. május 17.)
  8. Desktop Window Manager is always on - Win32 apps. docs.microsoft.com
  9. Troubleshooting black or blank screens in Windows 10
  10. Yes, there's a new desktop window manager, but no, I don't know any more about it than you do

Fordítás[szerkesztés]

Ez a szócikk részben vagy egészben a Window manager című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.