Onder Linux, bestaan twee in het algemeen gebruikte window managers. Een daarvan, genaamd twm is een afkorting van "Tab Window Manager". Het is groter dan de andere algemeen in gebruik zijnde window manager, fvwm. (fvwm staat voor "F(?) Virtual Window Manager"---de auteur verzuimde exact aan te geven waar de f voor staat.) Zowel twm als fvwm zijn zeer configureerbaar, wat betekent dat ik je niet exact aan kan geven welke toetsen wat doen in jouw setup.
Om meer te leren over de configuratie van twm, kijk je in de paragraaf Twm configuratie in Hoofdstuk 10. De configuratie van fvwm wordt behandeld in de paragraaf Fvwm configuratie in Hoofdstuk 10.
Er zijn drie mogelijke dingen die een window manager zal doen wanneer een nieuw venster wordt aangemaakt. Het is mogelijk een window manager zo te configureren dat de omtrek van het nieuwe venster wordt getoond en dat je het op je scherm kunt positioneren. Dat wordt handmatige plaatsing genoemd. Als je de omtrek van een venster te zien krijgt, gebruik dan simpelweg de muis om het te plaatsen waar je wilt dat het verschijnt en klik dan op de linker muisknop.
Het is ook mogelijk dat de window manager het nieuwe venster zelf ergens op het scherm plaatst. Dit staat bekend als willekeurige plaatsing.
Tenslotte zal een toepassing soms vragen om een specifieke plek op het scherm, of zal de window manager zo zijn geconfigureerd dat het bepaalde toepassingen altijd op dezelfde lokatie op het scherm plaatst. (Als ik bijvoorbeeld opgeef dat ik wil dat xclock altijd bovenaan in de rechterhoek van het scherm verschijnt.)
De window manager bestuurt een aantal belangrijke zaken. Het eerste waar je wellicht in bent geïnteresseerd is de focus. De focus van de server is in welk venster de invoer zal worden weergegeven die je op het toetsenbord intikt. Gewoonlijk wordt onder X de focus vastgesteld door de positie van de muiscursor. Als de muiscursor zich bevindt in het venster van xterm [1] dan krijgt die xterm je toetsaanslagen. Bij vele andere window systemen, zoals Microsoft Windows, OS/2 of de Macintosh werkt dit anders, waarbij je eerst met de muis in een venster moet klikken voordat dat venster de focus krijgt. Gewoonlijk is het zo dat als je muiscursor onder X afdwaalt van een venster, de focus gaat verloren en je niet meer in staat zult zijn er iets in te tikken.
Het is echter mogelijk zowel twm en fvwm zodanig te configureren dat je op of in een venster moet klikken om de focus te verkrijgen, en elders moet klikken om de focus kwijt te raken, identiek aan het functioneren van Microsoft Windows. Ontdek met vallen en opstaan hoe je window manager is configureerd of raadpleeg de lokale documentatie.
Nog iets dat zeer configureerbaar is onder X, is het verplaatsen van vensters. In mijn persoonlijke configuratie van twm heb ik drie verschillende manieren om vensters te verplaatsen. De meest vanzelfsprekende methode is de muiscursor te plaatsen op de titelbalk om het venster vervolgens op het scherm te verslepen. Helaas kan het zijn dat dit moet worden gedaan met de linker, rechter of middelste muisknoppen. [2] (Verplaats voor het verslepen de cursor boven de titelbalk, en hou de knop ingedrukt tijdens het verplaatsen van de muis.) Naar alle waarschijnlijkheid is je configuratie zo ingesteld dat vensters worden verplaatst met behulp van de linkermuisknoppen.
Een andere manier om vensters te verplaatsten is door tijdens het slepen met de muis een toets ingedrukt te houden. In mijn configuratie bijvoorbeeld, kan ik het venster verplaatsen met de linkermuisknop als ik de Alt-toets ingedrukt houd en de cursor boven een venster plaats.
Nogmaals, je zult door vallen en opstaan of door het doornemen van de lokale documentatie wellicht pas in staat zijn hoe de window manager te configureren. Als alternatief kun je de paragraaf Twm configuratie in Hoofdstuk 10 voor twm of paragraaf Fvwm configuratie in Hoofdstuk 10 voor fvwm doornemen als je wilt proberen het configuratiebestand van de window manager te interpreteren.
Aangezien vensters in X elkaar kunnen overlappen, bestaat het concept diepte. Ook al zijn zowel de vensters als het scherm tweedimensionaal, één venster kan het achterste venster deels of volledig verbergen.
Er bestaan diverse bewerkingen die van toepassing zijn op diepte:
Verhogen van het venster, of een venster naar voren brengen. Dit wordt gewoonlijk bewerkstelligd door met één van de knoppen op de titelbak van een venster te klikken. Afhankelijk van de wijze waarop de window manager is geconfigureerd, kan het elk van de knoppen zijn. (Het is ook mogelijk dat meer dan één knop de taak verricht.)
Verlagen van het venster, of het naar achter brengen van het venster. Dit kan gewoonlijk worden bewerkstelligd door nog een klik in de titelbalk. Het is ook mogelijk een aantal window managers zo te configureren dat één klik het venster naar voren brengt als er iets voor staat, terwijl eenzelfde klik het naar achter zal brengen als het zich vooraan bevindt.
Cycling door vensters is nog zo'n bewerking die window managers toestaan. Elk venster wordt in een geordende cyclus naar voren gebracht.
Er bestaan verscheidene andere bewerkingen die vensters verduisteren of ze volledig laten verbergen. Ten eerste heb je "minimalisatie". Dit kan afhankelijk van de window manager op verschillende manieren worden bewerkstelligd. Onder twm, configureren veel mensen een icon manager. Dit is een speciaal venster met een lijst van alle andere vensters op het scherm. Als je op een naam klikt (afhankelijk van de setup kan het elk van de knoppen zijn!) verdwijnt het venster. Er wordt een ikoon van gemaakt. Het venster is nog steeds actief, maar je kunt het niet meer zien. Nogmaals een klik in de icon manager herstelt het venster op het scherm.
Dit is heel handig. Je zou bijvoorbeeld remote xterms kunnen hebben naar verschillende computers die je maar zo af en toe gebruikt. Gezien je ze echter maar zelden allemaal op een gegeven tijd gebruikt, kun je de meeste xterm vensters als ikoon houden terwijl je met een kleine subset werkt. Het enige probleem hierbij is dat je vensters al snel "uit het oog" verliest. Dit kan tot gevolg hebben dat je nieuwe vensters creëert die de functionaliteit van geminimaliseerde vensters dupliceren.
Bij andere window managers worden de ikonen onderaan het scherm aangemaakt, of worden wellicht ikonen op het rootvenster achtergelaten.
Er bestaan verschillende methoden om onder X de omvang van vensters te wijzigen. Ook dit is afhankelijk van je window manager en hoe exact je window manager is geconfigureerd. De methode waarmee veel gebruikers van Microsoft bekend zijn, is door op de rand van het venster te klikken en die te verslepen. Als je window manager grote kaders creëert die maken dat de verschijning van de muiscursor verandert als je de muis over die kaders beweegt, dan is dat waarschijnlijk de te gebruiken methode om de omvang van de vensters aan te passen.
Een andere gebruikte methode is de aanmaak van een "resizing" knop op de titelbalk. In Figuur 6-1, is rechts van elke titelbalk een kleine knop zichtbaar. Voor het passend maken van vensters wordt de muis verplaatst naar de `resize' knop en wordt de linkermuisknop ingedrukt gehouden. Je kunt de muis buiten de kaders van het venster verplaatsen om de omvang ervan te wijzigen. De knop wordt losgelaten wanneer de gewenste omvang is verkregen.
De meeste window managers ondersteunen maximalisatie. In twm kun je bijvoorbeeld de hoogte, breedte of beide richtingen van een venster maximaliseren. Dit wordt onder twm "zooming" genoemd, alhoewel ik de term maximalisatie prefereer. De verschillende toepassingen reageren weer anders op wijzigingen in de omvang van het venster. (Bijvoorbeeld xterm maakt het lettertype niet groter, maar geeft je een grotere werkruimte.)
Helaas wordt er absoluut geen standaardwijze toegepast op het maximaliseren van vensters.
Een ander doel van window managers is de gebruiker te voorzien van menu's voor het snel bewerkstelligen van taken die veelvuldig worden uitgevoerd. Ik zou bijvoorbeeld een menu-item kunnen maken die automatisch Emacs voor me opstart of een extra xterm.
Over het algemeen kunnen verschillende menu's door het klikken op het rootvenster worden benaderd. Het rootvenster is een onverplaatsbaar venster achter alle andere vensters. Standaard heeft het de kleur grijs, maar dit kan worden veranderd. [3] Klik voor het bekijken en uitproberen van een menu op een knop op de desktop en houd de knop ingedrukt. Er zou een menu moeten verschijnen. Verplaats voor het maken van een keuze (zonder de muisknop los te laten) de cursor over één van de items en laat dan de muisknop los.
| [1] | Er kunnen tegelijkertijd meer kopieën van xterm draaien! |
| [2] | Op veel PC's is slechts een tweeknopsmuis aangesloten. Als dit op jou van toepassing is, dan zou je de middelste muisknop moeten kunnen emuleren door het gelijktijdig indrukken van de linker- en rechterknoppen. |
| [3] | Een leuk uit te proberen programma is xfishtank. Er wordt een klein aquarium mee in de achtergrond geplaatst. |