Vindusbehandling - Window manager

Lag i det grafiske brukergrensesnittet:
Under X er vindusbehandleren og visningsserveren to forskjellige programmer; men under Wayland håndteres funksjonen til begge av Wayland -komponisten.
Typiske elementer i et vindu . Den vinduet dekorasjon enten tegnet av vindusbehandler (X11) eller av klienten ( Wayland ). Tegningen av innholdet er klientens oppgave.
Under X11, når vindusbehandleren ikke kjører, mangler vindusdekorasjoner for de fleste vinduer. Under Wayland tegner klienter alltid sine egne vindusdekorasjoner.

En vindusbehandling er systemprogramvare som styrer plassering og utseende av vinduer i et vindusystem i et grafisk brukergrensesnitt . De fleste vindusbehandlere er designet for å gi et skrivebordsmiljø . De fungerer sammen med det underliggende grafiske systemet som gir nødvendig funksjonalitet - støtte for grafikkmaskinvare, pekeenheter og et tastatur, og blir ofte skrevet og opprettet ved hjelp av en widgetverktøysett .

Få vindusbehandlere er designet med et klart skille mellom vindusystemet og vindusbehandleren. Hvert grafisk brukergrensesnitt basert på en Windows -metafor har en eller annen form for vindushåndtering. I praksis varierer elementene i denne funksjonaliteten sterkt. Elementer som vanligvis er knyttet til vindusbehandlere, lar brukeren åpne, lukke, minimere, maksimere, flytte, endre størrelse og holde oversikt over vinduer som kjører, inkludert vindusdekoratører . Mange vindusbehandlere har også forskjellige verktøy og funksjoner: f.eks. Dokker, oppgavelinjer , programstartere, skrivebordsikoner og bakgrunnsbilder.

Historie

Overlappende vinduer i Smalltalk-76- miljøet som kjører på Xerox Alto .

1970-tallet , den Xerox Alto ble den første datamaskinen ble levert med en fungerende WiMP GUI . Den brukte en stablingsvindusbehandling som tillot overlappende vinduer. Selv om det er uklart om Microsoft Windows inneholder design kopiert fra Apples Mac OS , er det klart at ingen av dem var de første som produserte en GUI ved hjelp av stablingsvinduer. På begynnelsen av 1980 -tallet brukte Xerox Star , etterfølgeren til Alto, flislegging for de fleste hovedprogramvinduene, og brukte bare overlapping for dialogbokser, og fjernet det meste av behovet for stabling.

Mac OS var et av de tidligste kommersielt vellykkede eksemplene på en GUI som brukte en slags stabling av vindusbehandling via QuickDraw . For øyeblikket bruker macOS en noe mer avansert vindusbehandling som har støttet kompositt siden Mac OS X 10.0 , og ble oppdatert i Mac OS X 10.2 for å støtte maskinvareakselerert komposisjon via Quartz Compositor .

GEM 1.1 var en vindusbehandling som støttet skrivebordsmetaforen og brukte stabling, slik at alle vinduer kunne overlappe hverandre. Den ble utgitt på begynnelsen av 1980 -tallet. GEM er kjent for å ha blitt inkludert som hovedgrensesnittet som ble brukt på Atari ST , som kjørte Atari TOS , og var også en populær GUI for MS-DOS før den utbredte bruken av Microsoft Windows. Som et resultat av et søksmål fra Apple , ble GEM tvunget til å fjerne stablingsfunksjonene, noe som gjorde det til en flisvindusbehandling.

I midten av 1980-årene inneholdt Amiga OS et tidlig eksempel på en vindusbehandler som heter Intuition (et av lavnivåbibliotekene til AmigaOS, som var tilstede i Amiga system- ROM-er ), i stand til å gjenkjenne hvilke vinduer eller deler av dem som var dekket , og hvilke vinduer som var i forgrunnen og fullt synlige, slik at den bare kunne tegne deler av skjermen som krevde oppdatering. I tillegg støttet Intuition komposisjon. Programmer kan først be om et område med minne utenfor det nåværende visningsområdet for bruk som bitmap. Amiga vindussystemet vil da bruke en rekke bits blits ved hjelp av systemets maskinvare blitter for å bygge opp et komposittmateriale av disse programmenes punktgrafikk, sammen med knapper og glidere, i fremviserlageret, uten at disse programmene for å trekke opp en hvilken som helst av sine punktgrafikk.

Intuisjon forutså også brukerens valg ved å gjenkjenne posisjonen til pekeren som flyter over andre elementer på skjermen (tittellinjer i vinduer, gadgets for lukking og størrelse, hele ikoner), og dermed var det i stand til å gi nesten null ventetid oppgi erfaring med bruk av Workbench -vindusbehandleren.

Bemerkelsesverdig å nevne er det faktum at Workbench var den eneste vindussjefen som til slutt inspirerte en hel familie av etterkommere og etterfølgere: Ambient in MorphOS , Zune /Wanderer i AROS , Workbench NG (New Generation i AmigaOS 4.0 og 4.1). Workbench 4.1 ble forbedret av 2D-vektorgrensesnitt drevet av Kairo- biblioteker, og presenterte en moderne Porter-Duff 3D-basert komposittmotor.

I 1988 ble Presentation Manager standardskall i OS/2 , som i sin første versjon bare brukte et kommandolinjegrensesnitt (CLI). IBM og Microsoft designet OS/2 som en etterfølger av DOS og Windows for DOS. Etter suksessen med Windows 3.10 forlot imidlertid Microsoft prosjektet til fordel for Windows. Etter det ble Microsoft-prosjektet for en fremtidig OS/2 versjon 3 til Windows NT , og IBM foretok en fullstendig redesign av skallet til OS/2 og erstattet Presentation Manager for OS/2 1.x med det objektorienterte Workplace Shell som debuterte i OS/2 2.0.

Eksempler

X vindusbehandlere

På systemer som bruker X -vindussystemet , er det et klart skille mellom vindusbehandling og vindussystem . Strengt tatt en X vindusbehandler ikke direkte samhandle med video hardware, mus eller tastatur - som er ansvarlig for skjerm serveren .

Brukere av X Window System har muligheten til enkelt å bruke mange forskjellige vindusbehandlere - Metacity , brukt i GNOME 2 , og KWin , brukt i KDE Plasma Workspaces og mange andre. Siden mange vindusbehandlere er modulære, kan folk bruke andre, for eksempel Compiz (en 3D -sammensatt vindusbehandling ), som erstatter vindusbehandleren. Sawfish og awesome på den annen side er utvidbare vindusbehandlere som tilbyr krevende vinduskontroll. Komponenter i forskjellige vindusbehandlere kan til og med blandes og matches; for eksempel kan vindusdekorasjonene fra KWin brukes med stasjonære og docking -komponenter i GNOME.

X-vindusbehandlere har også muligheten til å gjenopprette programmer, noe som betyr at mens alle applikasjoner i utgangspunktet blir vedtatt av rotvinduet (i hovedsak hele skjermen), kan en applikasjon som startes i rotvinduet adopteres av (dvs. sette inne i ) et annet vindu. Vindusbehandlere under X-vindussystemet bruker programmer fra rotvinduet og overordner dem til vindusdekorasjoner (for eksempel ved å legge til en tittellinje). Re-foreldre kan også brukes til å legge til innholdet i ett vindu i et annet. For eksempel kan en flash player- applikasjon gjenopprettes til et nettleservindu, og kan vises for brukeren som angivelig å være en del av det programmet. Vindusforvaltere på nytt kan derfor arrangere ett eller flere programmer i samme vindu, og kan enkelt kombinere flislegging og stabling på forskjellige måter.

Microsoft Windows

Microsoft Windows har levert en integrert stablingsvindusbehandling siden Windows 2.0 ; Windows Vista introduserte den sammensatte Desktop Window Manager (dwm.exe) som et valgfritt maskinvareakselerert alternativ. I Windows, siden GDI er en del av kjernen, er rollen som vindusbehandler tett forbundet med kjernens grafiske undersystemer og er i stor grad ikke utskiftbar, selv om tredjepartsverktøy kan brukes til å simulere en Tiling-vindusbehandling på toppen av slike systemer. Siden Windows 8 kan ikke Direct3D -basert Desktop Window Manager lenger deaktiveres. Den kan bare startes på nytt med hurtigtastkombinasjonen Ctrl+Shift+Win+B.

Windows Utforsker (explorer.exe) brukes som standard som skall i moderne Windows -systemer for å gi en oppgavelinje og filbehandling, sammen med mange funksjoner i en vindusbehandling; aspekter av Windows kan endres gjennom de medfølgende konfigurasjonsverktøyene, modifisering av Windows -registret eller med tredjepartsverktøy, for eksempel WindowBlinds eller Resource Hacker .

Windows -vindusbehandleren kan også fungere som en X -vindusbehandling gjennom Cygwin/X i flervindu -modus (og muligens andre X -vinduimplementeringer ).

Vær oppmerksom på at Microsoft og X Window System bruker forskjellige begreper for å beskrive lignende konsepter. For eksempel er det sjelden omtale av begrepet window manager av Microsoft fordi det er integrert og ikke-utskiftbart, og skiller seg fra skallet . Den Windows Shell er analog til skrivebordsmiljøet konseptet i andre grafiske brukergrensesnitt systemer.

Chrome OS

Siden 2021 er Chrome OS levert med sin egen vindusbehandling kalt Ash. Krom og aske deler felles kodebase . Tidligere kunne man kjøre den ved å bruke google-chrome --open-ashpå alle kompatible systemer.

Typer

Vindusbehandlere er ofte delt inn i tre eller flere klasser, som beskriver hvordan vinduer tegnes og oppdateres.

Sammensatte vindusbehandlere

Sammensatte vindusbehandlere lar alle vinduer opprettes og tegnes separat og deretter settes sammen og vises i forskjellige 2D- og 3D -miljøer. De mest avanserte komposittvindusbehandlerne gir stor variasjon i grensesnittets utseende og tilstedeværelse av avanserte 2D- og 3D -visuelle effekter.

Stable vindusbehandlere

Alle vindusbehandlere som har overlappende vinduer og ikke sammensetter vindusbehandlere, stabler vindusbehandlere , selv om det er mulig at ikke alle bruker de samme metodene. Stable vindusbehandlere lar vinduene overlappe hverandre ved å tegne bakgrunnsvinduer først, som omtales som malers algoritme . Noen ganger krever endringer at alle vinduer stables på nytt eller males på nytt, noe som vanligvis innebærer å tegne hvert vindu på nytt. For å få et bakgrunnsvindu til fronten krever det imidlertid vanligvis bare at ett vindu tegnes om, siden bakgrunnsvinduer kan ha biter av andre vinduer malt over seg, og effektivt slette områdene som er dekket.

Flislagt vindusbehandler

Flisvindusbehandlere maler alle vinduer på skjermen ved å plassere dem side om side eller over og under hverandre, slik at ingen vinduer noen gang dekker et annet. Microsoft Windows 1.0 brukte flislegging, og en rekke flisvindusbehandlere for X er tilgjengelige.

Dynamisk vindusbehandling

Dynamiske vindusbehandlere kan dynamisk bytte mellom flislegging eller flytende vindusoppsett. En rekke dynamiske vindusbehandlere for X er tilgjengelige.

Funksjoner og fasiliteter for vindusbehandlere

Skjul automatisk
Et automatisk skjul gjør at menylinjer kan forsvinne når pekeren flyttes bort fra kanten av skjermen.
Grenser
En kant er en vindusdekorasjonskomponent levert av noen vindusbehandlere, som vises rundt det aktive vinduet . Noen vindusbehandlere kan også vise en kant rundt bakgrunnsvinduer .
Kontekstmenyen
Noen vindusbehandlere tilbyr en kontekstmeny som vises når en alternativ klikkhendelse brukes på en stasjonær komponent.
Skrivebordsbakgrunn
Noen vindusbehandlere tilbyr et skrivebordsbakgrunn som viser et bakgrunnsbilde i rotvinduet .
Fokus stjele
Fokusstyveri er et anlegg noen vindusforvaltere tilbyr. Det lar en applikasjon som ikke er i fokus plutselig få fokus og stjele brukerinngang beregnet på det tidligere fokuserte programmet.
Ikonisering
En ikonisering gjør det mulig for brukere å minimere kjørende applikasjoner til et skrivebordsikon eller ikon for oppgavepanel .
Bli med i Windows
Noen vindusbehandlere tilbyr et koblet Windows -anlegg som lar brukeren bli med i vinduer i applikasjonsvinduer.
Tastaturekvivalenter
Noen vindusbehandlere tilbyr tastaturekvivalenter som gjør at tastaturet kan replikere musefunksjonalitet .
Menylinje
En menylinje gir muligheten til å starte programmer via en meny og kan inneholde flere fasiliteter, inkludert en startknapp , en oppgavelinje og en systemstatusfelt .
Menypanel
Et menypanel er en komponent i noen vindusbehandlere som gir mulighet til å starte programmer ved hjelp av en meny. Et menypanel ligner en menylinje , men fremstår som et flytende panel i stedet for en horisontal eller vertikal stolpe.
Den menypanelet kan inneholde ekstra fasiliteter, inkludert en startknapp , en oppgave panel , og et system brett .
Musens fokus
Den muse fokus modellen bestemmer hvordan pekeenheten påvirker inngangs fokus i vindusbehandler. Fokusmodellen bestemmer hvilken komponent i det grafiske brukergrensesnittet som for øyeblikket er valgt for å motta input når pekeren flyttes rundt på skjermen.
Vridning av musen
Musvikling er et anlegg som sentrerer pekeren på den nåværende applikasjonen når den gjøres aktiv.
Flere stasjonære datamaskiner
En vindusbehandling kan tilby flere stasjonære anlegg. Dette gjør det mulig å skifte mellom flere rot vindus stasjonære. Dette forhindrer rot i rotvinduet , fordi applikasjoner kan kjøres på forskjellige skrivebord .
Personsøker
Noen vindusbehandlere tilbyr et personsøkerverktøy som gir muligheten til å bytte mellom flere skrivebord . Den personsøker kan vises som et skjermvindu eller som en innretning i linjen eller taskpanel .
Plugins
Noen vindusbehandlere har en modulær konstruksjon som gjør det mulig for plug-in- moduler å tilby funksjoner etter behov.
Rull opp
Et samlefunksjon gjør at vinduer bare kan vises som en tittellinje på skrivebordet.
Rotmeny
Noen vindusbehandlere tilbyr en rotmeny som vises når rotvinduet eller skrivebordsbakgrunnen berøres.
Snarveier
Noen vindusbehandlere tilbyr en snarvei som lar brukerne plassere ikoner på rotvinduet som får tilgang til bestemte programmer eller fasiliteter.
Vinduer med faner
Noen vindusbehandlere tilbyr et vindusfelt med faner som grupperer applikasjoner i vanlige rammer.
Bytting av oppgaver
Vindusbehandleren kan tilby forskjellige oppgavebyttefasiliteter som lar brukeren endre det nåværende fokuserte programmet, inkludert:
Oppgavelinje
Noen vindusbehandlere har en oppgavelinje som viser kjørende applikasjoner. Den oppgavelinjen kan vise alle programmer som kjører, inkludert de som har blitt minimert , og kan gi anlegget til bryteren fokus mellom dem. Den oppgavelinjen kan bli innarbeidet i en menylinje på noen vindusbehandlere.
Oppgavepanel
Et oppgavepanel ligner på en oppgavelinje , men fremstår som et flytende panel i stedet for en horisontal eller vertikal stolpe.
Start knapp
En startknapp er en desktop -widget som inneholder en meny med programmer som kan startes. Startknappen er vanligvis plassert på en menylinje nederst på skjermen.
Varslingsområde
Et varslingsområde brukes til å vise ikoner for system- og programfunksjoner som ikke har vindu på skrivebordet . Den inneholder hovedsakelig ikoner for å indikere statusinformasjon og varsler som ankomst av en ny e -postmelding. Noen systemer kan også vise en klokke i varslingsområdet .
Tittellinjer
En tittellinje er en vindusdekorasjonskomponent som noen vindusbehandlere gir øverst i hvert vindu. Den tittellinja brukes vanligvis for å vise navn på applikasjonen, eller navnet på det åpne dokumentet, og kan gi tittel linjen knapper for å minimere, maksimering, lukke eller opprulling av programvinduer.
Tittellinjeknapper
Tittellinjeknapper er inkludert i tittellinjen til noen vindusbehandlere, og gir muligheten til å minimere, maksimere, samle eller lukke programvinduer. Noen vindusbehandlere kan vise tittellinjeknappeneoppgavelinjen eller oppgavepanelet , i stedet for i en tittellinje .
Virtuelt skrivebord
Et virtuelt skrivebord (også kalt et rullende skrivebord) er en funksjon som noen vindusbehandlere gir, slik at skrivebordet kan være større enn den faktiske skjermen

Windows -navigasjon

Et aktivt vindu er det nåværende fokuserte vinduet i den nåværende vindusbehandleren. Ulike vindusbehandlere indikerer det aktive vinduet på forskjellige måter og lar brukeren bytte mellom vinduer på forskjellige måter. For eksempel, i Microsoft Windows, hvis både Notisblokk og Microsoft Paint er åpne, vil klikk i Notisblokk -vinduet føre til at vinduet blir aktivt. I Windows indikeres det aktive vinduet med en tittelfelt med en annen farge. Klikk er imidlertid ikke den eneste måten å velge et aktivt vindu på: Noen vindusbehandlere (for eksempel FVWM ) gjør vinduet under musepekeren aktiv - bare å flytte musen er tilstrekkelig for å bytte vindu; et klikk er ikke nødvendig.

Vindusbehandlere gir ofte en måte å velge det aktive vinduet ved å bruke tastaturet som et alternativ til musen. En typisk tastekombinasjon er Alt+Tab , brukt av Windows og KDE (som standard, selv om dette er brukerkonfigurerbart); en annen er apple key -tilde, brukt av Macintosh. Ved å trykke på den riktige tastekombinasjonen går du vanligvis gjennom alle synlige vinduer i en eller annen rekkefølge, selv om andre handlinger er mulige.

Mange, men ikke alle, vindusbehandlere gir et område på skjermen som inneholder en slags visuell kontroll (ofte en knapp) for hvert vindu på skjermen. Hver knapp inneholder vanligvis tittelen på vinduet og kan også inneholde et ikon. Dette området på skjermen gir vanligvis en slags visuell indikasjon på hvilket vindu som er aktivt - for eksempel kan knappen til det aktive vinduet vises "presset inn". Det er også vanligvis mulig å bytte det aktive vinduet ved å klikke på den aktuelle knappen. I Microsoft Windows kalles dette området på skjermen oppgavelinjen ; i Apple Macintosh -systemer kalles dette området på skjermen dock.

Det aktive vinduet ligger kanskje ikke alltid foran alle andre vinduer på skjermen. Det aktive vinduet er ganske enkelt vinduet som tastene som tastes på tastaturet sendes til; det kan være visuelt skjult av andre vinduer. Dette gjelder spesielt i vindusbehandlere som ikke krever et klikk for å endre aktive vinduer: FVWM , for eksempel, gjør vinduet aktivt under musemarkøren, men endrer ikke Z-rekkefølgen (rekkefølgen vinduer vises, målt fra bakgrunn til forgrunnen). I stedet er det nødvendig å klikke på vindusgrensen for å bringe den til forgrunnen. Det er også situasjoner i klikk-for-fokus-vindusbehandlere, for eksempel Microsoft Windows, der det aktive vinduet kan være skjult; Dette er imidlertid mye mindre vanlig.

Se også

Referanser