close

Vensterbeheer

Spring naar navigatie Spring naar zoeken

De windowmanager (of in het Italiaans , windowmanager ) is een onderdeel van de grafische interface van het computerbesturingssysteem dat het uiterlijk en de positie van een venster in een desktopomgeving beheert . [1] [2]

Geschiedenis

Niveaus van de grafische gebruikersinterface: in X zijn de windowmanager en de displayserver twee verschillende programma's;  maar onder Wayland wordt de functie van beide vervuld door de componist Wayland.
Niveaus van de grafische gebruikersinterface: in X zijn de windowmanager en de displayserver twee verschillende programma's; maar onder Wayland wordt de functie van beide vervuld door de componist Wayland.

In de jaren 70 werd de Xerox Alto de eerste computer met een werkende WIMP GUI. Het gebruikte een stapelbare venstermanager die overlappende vensters mogelijk maakte. Hoewel het onduidelijk is of Microsoft Windows projecten bevat die zijn gekopieerd van het Mac-besturingssysteem van Apple, is het duidelijk dat geen van beiden de eerste was die een GUI produceerde met gestapelde vensters. In het begin van de jaren tachtig gebruikte Xerox Star, de opvolger van Alto, "tiling" voor de meeste van de belangrijkste toepassingsvensters en alleen overlay voor dialoogvensters, waardoor stapelen grotendeels overbodig werd. [3] Mac OS was een van de eerste commercieel succesvolle voorbeelden van een GUI die een soort stapelvensterbeheer via QuickDraw gebruikte . MacOS gebruikt momenteel een meer geavanceerde Window Manager die compositing ondersteunt vanuit Mac OS X 10.0 en is bijgewerkt in Mac OS X 10.2 om hardware-versnelde compositing via Quartz Compositor te ondersteunen [4]

Programma's zonder Window Manager
Programma's zonder Window Manager

GEM 1.1 was een vensterbeheerder die de desktopmetafoor ondersteunde en gebruikmaakte van stapelen, waardoor alle vensters elkaar konden overlappen. Het werd uitgebracht in de vroege jaren 1980. GEM staat bekend als de belangrijkste GUI die wordt gebruikt op de Atari ST, waarop Atari TOS draaide, en was ook een populaire GUI voor MS-DOS vóór het wijdverbreide gebruik van Microsoft Windows. Na een Apple-rechtszaak werd GEM gedwongen om stapelfuncties te verwijderen, waardoor het een tegelvensterbeheerder werd.

Halverwege de jaren tachtig bevatte het Amiga-besturingssysteem een ​​vroeg voorbeeld van een compositing-vensterbeheerder genaamd Intuition (een van de lage AmigaOS-bibliotheken, die aanwezig was in de Amiga-systeem-ROM's), in staat om te herkennen welke vensters of delen ervan waren bedekt en welke vensters op de voorgrond en volledig zichtbaar waren, zodat hij alleen de delen van het scherm kon tekenen die moesten worden bijgewerkt. Daarnaast ondersteunde Intuition het componeren. Toepassingen vereisen mogelijk eerst een geheugengebied buiten het huidige weergavegebied om als bitmap te gebruiken. Het Amiga-venstersysteem zou dan een reeks bit-blits gebruiken met behulp van de hardware-blitter van het systeem om een ​​composiet van bitmaps van deze applicaties te creëren, samen met knoppen en schuifregelaars, in het geheugen van het scherm, zonder dat deze applicaties hun eigen bitmap opnieuw hoeven te tekenen. .

De intuïtie anticipeerde ook op de keuzes van de gebruiker door de positie van de zwevende aanwijzer op andere elementen van het scherm te herkennen (titelbalken van vensters, hun gadgets voor sluiten en vergroten/verkleinen, hele pictogrammen), en kon daarom bijna geen wachttijd garanderen om de ervaring te verklaren van het gebruik van de venstermanager Workbench . De laatste was de enige windowmanager die uiteindelijk een hele familie van nakomelingen en opvolgers inspireerde: Ambient in MorphOS, Zune / Wanderer in AROS, Workbench NG (New Generation in AmigaOS 4.0 en 4.1). Workbench 4.1 is verbeterd door de 2D-vectorinterface die wordt aangedreven door Cairo-bibliotheken en beschikt over een moderne op Porter-Duff 3D gebaseerde compositie-engine.

In 1988 werd Presentation Manager de standaard shell op OS/2, die in de eerste versie alleen een command line interface (CLI) gebruikte. IBM en Microsoft ontwierpen OS/2 als opvolger van DOS en Windows voor DOS. Na het succes van Windows 3.10 verliet Microsoft het project echter ten gunste van Windows. Later werd de blauwdruk van Microsoft voor een toekomstige versie 3 van OS / 2 Windows NT en maakte IBM een volledig herontwerp van de OS / 2-shell, ter vervanging van de OS / 2 1.x Presentation Manager voor objectgeoriënteerde Workplace Shell die zijn debuut maakte in OS / 2 2.0 [5] .

Soorten

X window-systeem

Op systemen die het X Window-systeem gebruiken, is er een duidelijk onderscheid tussen de windowmanager en het window-systeem. Strikt genomen heeft een X window-manager geen directe interactie met videohardware, muizen of toetsenborden - dit is de verantwoordelijkheid van de weergaveserver.

X Window System-gebruikers hebben de mogelijkheid om gemakkelijk veel verschillende windowmanagers te gebruiken: Metacity, gebruikt in GNOME 2, en KWin, gebruikt in KDE Plasma Workspaces, en vele andere. Omdat veel windowmanagers modulair zijn, kunnen mensen andere gebruiken, zoals Compiz (een 3D-compositievenstermanager), die de windowmanager vervangt. Sawfish en awesome aan de andere kant zijn uitbreidbare venstermanagers die nauwkeurige venstercontrole bieden. Het is ook mogelijk om componenten van verschillende windowmanagers te mixen en matchen; KWin-vensterdecoraties kunnen bijvoorbeeld worden gebruikt met GNOME-bureaublad- en dockcomponenten.

X-windowmanagers hebben ook de mogelijkheid om applicaties te re-parenten, wat betekent dat, terwijl in eerste instantie alle applicaties worden overgenomen vanuit het root-venster (in wezen het volledige scherm), een applicatie die in het root-venster is gestart, kan worden overgenomen vanuit een ander venster. Vensterbeheerders onder het X Window-systeem nemen applicaties over vanuit het hoofdvenster en veranderen deze in raamdecoratie (bijvoorbeeld door een titelbalk toe te voegen). Re-parenting kan ook worden gebruikt om de inhoud van het ene venster aan het andere toe te voegen. X window managers voor re-parenting kunnen dan één of meerdere programma's in hetzelfde venster indelen en gemakkelijk op verschillende manieren betegelen en stapelen combineren.

Microsoft Windows

Microsoft Windows biedt sinds Windows 2.0 een geïntegreerde stacking window manager; Windows Vista introduceerde de Compositing Desktop Window Manager (dwm.exe) als een optioneel hardwareversneld alternatief. In Windows, aangezien GDI deel uitmaakt van de kernel [6] , is de rol van vensterbeheerder nauw verbonden met de grafische subsystemen van de kernel en is deze grotendeels niet vervangbaar, hoewel hulpprogramma's van derden kunnen worden gebruikt om een ​​vensterbeheerder van tegels op top van dergelijke systemen. Vanaf Windows 8 kan de op Direct3D gebaseerde Desktop Window Manager niet langer worden uitgeschakeld. Het kan alleen opnieuw worden gestart met de sneltoetscombinatie Ctrl + Shift + Win + B [7] .

Windows Verkenner (explorer.exe) wordt standaard gebruikt als een shell in moderne Windows-systemen om een ​​taakbalk en bestandsbeheer te bieden, samen met vele functies van een vensterbeheer; aspecten van Windows kunnen worden gewijzigd via de meegeleverde configuratiehulpprogramma's, door het Windows-register aan te passen of met tools van derden, zoals WindowBlinds of Resource Hacker. De Windows window manager kan ook fungeren als X window manager via Cygwin/X in multiwindow mode (en eventueel andere X window implementaties).

Merk op dat Microsoft en het X Window-systeem verschillende termen gebruiken om vergelijkbare concepten te beschrijven. De term windowmanager wordt bijvoorbeeld zelden genoemd door Microsoft omdat deze is geïntegreerd en niet vervangbaar en verschilt van de shell [8] . De Windows-shell is analoog aan het concept van een desktopomgeving in andere grafische gebruikersinterfacesystemen.

Classificatie

Vensterbeheerders zijn vaak onderverdeeld in drie of meer klassen, die beschrijven hoe vensters worden ontworpen en bijgewerkt.

Compositing window manager

Door vensterbeheerders samen te stellen, kunt u alle vensters afzonderlijk maken en tekenen, ze vervolgens samenstellen en weergeven in verschillende 2D- en 3D-omgevingen. De meest geavanceerde compositing windowmanagers zorgen voor een grote verscheidenheid aan interface-uiterlijk en de aanwezigheid van geavanceerde 2D- en 3D-visuele effecten.

Stapelvensterbeheerder

Windows3.11 met behulp van een Stacking-vensterbeheerder
Windows3.11 met behulp van een Stacking-vensterbeheerder
Wanneer een applicatie die de Stacking window manager gebruikt niet meer reageert, kan het de inhoud behouden van een ander venster dat er oorspronkelijk boven stond.
Wanneer een applicatie die de Stacking window manager gebruikt niet meer reageert, kan het de inhoud behouden van een ander venster dat er oorspronkelijk boven stond.

Alle vensterbeheerders die overlappende vensters hebben en geen vensterbeheerders samenstellen, stapelen vensterbeheerders, hoewel ze niet allemaal dezelfde methoden kunnen gebruiken. Overlappende venstermanagers laten vensters overlappen door eerst achtergrondvensters te tekenen, wat het algoritme van de schilder wordt genoemd. Bewerkingen vereisen soms dat alle vensters worden gestapeld of opnieuw worden geverfd, wat meestal inhoudt dat elk venster opnieuw wordt geverfd. Echter, om een ​​achtergrondvenster naar de voorgrond te brengen, wordt meestal slechts één venster opnieuw getekend, omdat op achtergrondvensters delen van andere vensters kunnen worden geschilderd, waardoor de bedekte gebieden effectief worden gewist.

Tegelvensterbeheerder

Tegelvensterbeheer
Tegelvensterbeheer

Tiling (tiling) windowmanagers schilderen alle vensters op het scherm door ze naast of boven en onder elkaar te plaatsen, zodat geen enkel venster een ander venster bedekt. Microsoft Windows 1.0 gebruikte tegels en er zijn verschillende tegelvenstermanagers beschikbaar voor X.

Dynamische vensterbeheerder

Dynamische venstermanagers kunnen dynamisch schakelen tussen betegelde en zwevende vensterlay-outs. Er zijn verschillende dynamische windowmanagers voor X beschikbaar.

Kenmerken en structuur

Hoofdcomponenten

Automatisch verbergen
Een autohide zorgt ervoor dat de menubalken verdwijnen wanneer de aanwijzer van de rand van het scherm wordt verwijderd.
grenzen
Een rand is een raamdecoratiecomponent die door sommige vensterbeheerders wordt geleverd en die rond het actieve venster verschijnt. Sommige vensterbeheerders kunnen ook een rand rond achtergrondvensters weergeven.
Contextmenu
Sommige vensterbeheerders bieden een contextmenu dat verschijnt wanneer een alternatieve klikgebeurtenis wordt toegepast op een bureaubladonderdeel.
Bureaublad achtergrond
Sommige vensterbeheerders bieden een bureaubladachtergrondfunctie die een achtergrondafbeelding in het hoofdvenster weergeeft.
Focus stelen
Focus Stealing is een functie die door sommige windowmanagers wordt geboden. Hiermee kan een inactieve app plotseling de focus krijgen en gebruikersinvoer stelen die bestemd is voor de eerder gefocuste app.
Iconificatie
Met een iconificatiefunctie kunnen gebruikers actieve applicaties minimaliseren tot een bureaubladpictogram of taakpaneelpictogram.
Aangesloten bij Windows
Sommige vensterbeheerders bieden een samengevoegde vensterfunctie waarmee de gebruiker toepassingsvensterframes kan samenvoegen.
Gelijkwaardige toetsenbordopdrachten
Sommige vensterbeheerders bieden toetsenbordequivalente opdrachten waarmee het toetsenbord de functionaliteit van de muis kan repliceren.
Menubalk
Een menubalk biedt de mogelijkheid om programma's te starten via een menu en kan extra functies bevatten, waaronder een startknop, een taakbalk en een taakbalk.
Menupaneel
Een menupaneel is een onderdeel van sommige vensterbeheerders dat de functionaliteit biedt om programma's te starten met behulp van een menu. Een menupaneel lijkt op een menubalk, maar wordt weergegeven als een zwevend paneel in plaats van als een horizontale of verticale balk.
Het menupaneel kan extra functies bevatten, waaronder een startknop, een taakpaneel en een taakbalk.
Muis focus
Het muisfocusmodel bepaalt hoe het aanwijsapparaat de focus van de invoer in de venstermanager beïnvloedt. De muisfocus bepaalt welk onderdeel van de grafische gebruikersinterface momenteel is geselecteerd om invoer te ontvangen wanneer de aanwijzer over het scherm wordt bewogen.
Muis kromtrekken
Muis kromtrekken is een functie die de aanwijzer op de huidige toepassing centreert wanneer deze wordt geactiveerd.
Meerdere desktops
Een windowmanager kan een functie bieden voor meerdere desktops. Hiermee kunt u schakelen tussen verschillende bureaubladen van het hoofdvenster. Dit voorkomt rommel in het hoofdvenster, omdat applicaties op verschillende desktops kunnen worden uitgevoerd.
Pager
Sommige vensterbeheerders bieden een paging-tool waarmee u tussen desktops kunt schakelen. De Pager kan verschijnen als een venster op het scherm of als een gadget in het systeemvak of het toepassingspaneel.
Inpluggen
Sommige windowmanagers hebben een modulaire structuur waardoor plug-inmodules de vereiste functionaliteit kunnen bieden.
Oprollen
Met een rollup-functie kunnen vensters worden weergegeven als een eenvoudige titelbalk op het bureaublad.
Hoofdmenu
Sommige vensterbeheerders bieden een hoofdmenu dat verschijnt wanneer u op het hoofdvenster of de bureaubladachtergrond tikt.
Sneltoetsen
Sommige vensterbeheerders bieden een koppelingsfunctie waarmee gebruikers pictogrammen in het hoofdvenster kunnen plaatsen die toegang hebben tot specifieke programma's of services.
Vensters met tabbladen
Sommige vensterbeheerders bieden een vensterfunctie met tabbladen waarmee toepassingen in gemeenschappelijke frames worden gegroepeerd.
Wisselen van taak
De Window-manager kan verschillende functies voor het wisselen van taken bieden waarmee de gebruiker de momenteel gefocuste toepassing kan wijzigen, waaronder:
  • De muisfocus wijzigen met een aanwijsapparaat
  • Functies voor het wisselen van toetsenbordtaken (bijvoorbeeld op Alt-Tab drukken)
  • Door op de taak in een taakbalk of in het app-paneel te klikken
Toepassingsbalk
Sommige vensterbeheerders bieden een taakbalk die actieve toepassingen laat zien. De taakbalk kan alle actieve applicaties tonen, inclusief de applicaties die geminimaliseerd zijn, en kan de mogelijkheid bieden om de focus ertussen te wisselen. De taakbalk kan in sommige vensterbeheerders worden ingesloten in een menubalk.
Activiteitenpaneel
Een taakpaneel lijkt op een taakbalk, maar wordt weergegeven als een zwevend paneel in plaats van als een horizontale of verticale balk.
Startknop
Een startknop is een bureaubladwidget die een menu biedt met programma's die kunnen worden gestart. De startknop bevindt zich meestal op een menubalk onder aan het scherm.
Meldingsgebied
Een systeemvak wordt gebruikt om pictogrammen weer te geven voor systeem- en programmafuncties die geen venster op het bureaublad hebben. Het bevat voornamelijk pictogrammen om statusinformatie en meldingen aan te geven, zoals de aankomst van een nieuw e-mailbericht. Sommige systemen kunnen ook een klok weergeven in het systeemvak.
Titelbalken
Een titelbalk is een raamdecoratiecomponent die sommige vensterbeheerders bovenaan elk venster plaatsen. De titelbalk wordt meestal gebruikt om de toepassingsnaam of de naam van het geopende document weer te geven, en kan titelbalkknoppen bevatten om toepassingsvensters te minimaliseren, maximaliseren, sluiten of oprollen.
Titelbalkknoppen
Titelbalkknoppen zijn opgenomen in de titelbalk van sommige vensterbeheerders en bieden de mogelijkheid om toepassingsvensters te minimaliseren, maximaliseren, oprollen of sluiten. Sommige vensterbeheerders kunnen titelbalkknoppen in de taakbalk of het taakpaneel weergeven in plaats van in een titelbalk.
Virtuele desktop
Een virtueel bureaublad (ook wel een scrollend bureaublad genoemd) is een functie van sommige vensterbeheerders waarmee het bureaublad groter kan zijn dan het eigenlijke scherm.

Het actieve venster

Een actief venster is het huidige "gefocuste" venster van de Window manager. Verschillende vensterbeheerders geven het momenteel actieve venster op verschillende manieren aan en stellen de gebruiker in staat om op verschillende manieren tussen vensters te schakelen. Als in Microsoft Windows bijvoorbeeld zowel Kladblok als Microsoft Paint zijn geopend , wordt het venster actief door in het Kladblok-venster te klikken. Op Windows wordt het actieve venster aangegeven met een titelbalk in een andere kleur. Klikken is echter niet de enige manier om een ​​actief venster te selecteren: sommige vensterbeheerders (zoals FVWM) activeren het venster onder de muisaanwijzer: beweeg gewoon de muis om van venster te wisselen; een klik is niet nodig.

Vensterbeheerders bieden vaak een manier om het actieve venster te selecteren met het toetsenbord in plaats van met de muis. Een typische toetsencombinatie is Alt + Tab, gebruikt door Windows en KDE (standaard, hoewel het door de gebruiker kan worden geconfigureerd); een andere is de apple key -tilde, gebruikt door Macintosh. Door op de juiste toetsencombinatie te drukken, worden gewoonlijk alle zichtbare vensters in een bepaalde volgorde geschoven, hoewel andere acties mogelijk zijn.

Veel, maar niet alle, vensterbeheerders bieden een schermgebied met een soort visuele controle (vaak een knop) voor elk venster op het scherm. Elke knop bevat meestal de titel van het venster en kan ook een pictogram bevatten. Dit gedeelte van het scherm geeft over het algemeen een soort visuele indicatie van welk venster actief is, de actieve vensterknop kan bijvoorbeeld "ingedrukt" lijken. Het is meestal ook mogelijk om het actieve venster te wijzigen door op de betreffende knop te klikken.  In Microsoft Windows wordt dit gedeelte van het scherm de taakbalk genoemd ; op Apple Macintosh-systemen wordt dit deel van het scherm het dock genoemd.

Het actieve venster bevindt zich mogelijk niet altijd vóór alle andere vensters op het scherm. Het actieve venster is gewoon het venster waarnaar de op het toetsenbord getypte toetsen worden verzonden; het kan visueel worden verduisterd door andere vensters. Dit geldt met name voor venstermanagers die geen klik nodig hebben om actieve vensters te wijzigen: FVWM maakt bijvoorbeeld het venster actief onder de muiscursor, maar verandert de Z-volgorde niet (de volgorde waarin vensters verschijnen, gemeten vanaf de voorgrond achtergrond). In plaats daarvan moet je op de rand van het venster klikken om het naar voren te halen. Er zijn ook situaties in click-to-focus windowmanagers zoals Microsoft Windows waar het actieve venster kan worden gedimd; dit komt echter veel minder vaak voor.

Voorbeelden

Andere minder vaak geïmplementeerde software zijn:

  • wmii
  • Dynamische vensterbeheerder (dwm) - dynamische vensterbeheerder voor tegels .
  • 5Dwm - windowmanager afgeleid van mwm
  • 9wm - kloon van Plan 9 window manager
  • aewm
  • amiwm - kloon van de Amiga werkbank.
  • MLVWM - kloon van de klassieke Mac OS-interface.
  • CTWM
  • kwaadwm
  • FVWM95
  • Nevel
  • JWM - Joe's Window Manager
  • Kahakai
  • larswm
  • Lichtsterkte
  • lwm
  • Matchbox - vensterbeheerder voor embedded systemen
  • OLWM (en OLVWM met virtuele desktops, OPEN LOOK window manager)
  • Oroborus
  • OroboROX
  • PekWM
  • PWM
  • Qvwm - windowmanager vergelijkbaar met Windows 95/98
  • Rattengif
  • Scwm - Schema beperkt vensterbeheer
  • Kleine vensterbeheerder
  • Solbourne windowmanager
  • Toy'd
  • TrsWM
  • uwm
  • Waimea
  • WindowLab
  • wm2
  • WMI
  • xmonad
  • XPwm
  • i3 - tiling window manager , beschikbaar op GNU/Linux en BSD -systemen

Opmerkingen

  1. ^ Definitie van venstermanager , op dictionary.reference.com .
  2. ^ Window manager Definition van PC Magazine Encyclopedia , op pcmag.com .
  3. ^ Nathan Lineback, The Xerox Star , bij toastytech.com .
  4. ^ Mac OS X 10.4: Kwarts , op IMRITZ.com .
  5. ^ OS/2 Geschiedenis , op os2bbs.com . Ontvangen op 7 maart 2021 (gearchiveerd van het origineel op 20 juli 2006) .
  6. ^ Keith Pleas, Windows NT 4.0 , op Windows IT Pro , april 1996. Ontvangen op 17 mei 2019 (gearchiveerd van het origineel op 10 maart 2007) .
  7. ^ Problemen oplossen met zwarte of lege schermen in Windows 10
  8. ^ Ja, er is een nieuwe desktop window manager, maar nee, ik weet er niet meer van dan jij

Gerelateerde items

Andere projecten