Window manager: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
 
(23 versioni intermedie di 14 utenti non mostrate)
Riga 1:
UnIl '''gestore''window delle finestremanager''''' (tradottoo in [[linguaLingua ingleseitaliana|italiano]], '''''windowgestore manager''delle finestre'''), in [[informatica]], è un componente dell'[[interfaccia grafica]] didel un[[sistema operativo]] [[computer]] che gestisce l'aspetto e la posizione di una [[Finestra (informatica)|finestra]] nell'in un [[Desktop environment|ambiente desktop]].<ref>{{Cita web|url=http://dictionary.reference.com/browse/window%20manager|titolo=Window manager definition}}</ref><ref>{{Cita web|url=https://www.pcmag.com/encyclopedia/term/54598/window-manager|titolo=window manager Definition from PC Magazine Encyclopedia|sito=www.pcmag.com}}</ref>.
{{Spostare|Gestore delle finestre|Su wikipedia in italiano, privilegiare la lingua italiana? Grazie. '''''Ulteriori commenti''''': Aperta discussione: [[Discussioni progetto:Informatica#Window manager o Gestore delle finestre?]]. Attendere esito discussione e consenso allo spostamento.}}
Un '''gestore delle finestre''' (tradotto in [[lingua inglese]] '''''window manager'''''), in [[informatica]], è un componente dell'[[interfaccia grafica]] di un [[computer]] che gestisce l'aspetto e la posizione di una [[Finestra (informatica)|finestra]] nell'[[Desktop environment|ambiente desktop]]<ref>{{Cita web|url=http://dictionary.reference.com/browse/window%20manager|titolo=Window manager definition}}</ref><ref>{{Cita web|url=https://www.pcmag.com/encyclopedia/term/54598/window-manager|titolo=window manager Definition from PC Magazine Encyclopedia|sito=www.pcmag.com}}</ref>.
 
== Storia ==
[[File:Schema oflivelli the layers of the graphical user interfaceGUI.svg|alt=Livelli dell'interfaccia utente grafica: in X il gestore delle finestre e il server di visualizzazione sono due programmi distinti; ma sotto Wayland, la funzione di entrambi è gestita dal compositore Wayland.|miniatura|Livelli dell'interfaccia utente grafica: in X il gestore delle finestre e il server di visualizzazione sono due programmi distinti; ma sotto Wayland, la funzione di entrambi è gestita dal compositore Wayland.]]
Negli [[anni 1970]], [[Xerox Alto]] divenne il primo computer fornito con una GUI WIMP funzionante. Utilizzava un gestore di finestre impilabile che consentiva la sovrapposizione di finestre. Sebbene non sia chiaro se Microsoft Windows contenga progetti copiati dal sistema operativo Mac di Apple, è chiaro che nessuno dei due è stato il primo a produrre una GUI utilizzando finestre impilate. All'inizio degli anni '80, Xerox Star, successore di Alto, utilizzava la "piastrellatura" (tiling) per la maggior parte delle finestre delle applicazioni principali e la sovrapposizione solo per le finestre di dialogo, eliminando la maggior parte della necessità di impilare.<ref>{{Cita web|nome=Nathan|cognome=Lineback|url=http://toastytech.com/guis/star.html|titolo=The Xerox Star|sito=toastytech.com}}</ref> Mac OS è stato uno dei primi esempi di successo commerciale di una GUI che utilizzava una sorta di gestione delle finestre di impilamento tramite [[QuickDraw]]. Attualmente macOS utilizza un Window manager più avanzato che supporta il compositing da Mac OS X 10.0 ed è stato aggiornato in Mac OS X 10.2 per supportare il compositing con accelerazione hardware tramite Quartz Compositor<ref name="quartz">{{Cita web|url=http://IMRITZ.com/reviews/os/macosx-10-4.ars/13|titolo=Mac OS X 10.4: Quartz|urlmorto=sì}}</ref>
 
[[File:Windowmanager ohne.png|alt=Programmi senza Window manager|miniatura|Programmi senza Window manager]]
 
GEM 1.1 era un gestore di finestre che supportava la metafora del desktop e utilizzava lo stacking, consentendo la sovrapposizione di tutte le finestre. È stato rilasciato all'inizio degli anni '80. GEM è famoso per essere stato incluso come GUI principale utilizzata su [[Atari ST]], che eseguiva Atari TOS, ed era anche una popolare GUI per MS-DOS prima dell'uso diffuso di Microsoft Windows. A seguito di una causa legale di Apple, GEM è stata costretta a rimuovere le funzionalità di impilamento, rendendolo un gestore di finestre di affiancamento.
 
Durante la metà degli anni '80, il sistema operativo Amiga conteneva un primo esempio di un gestore di finestre di compositing chiamato ''Intuition'' (una delle librerie di basso livello di AmigaOS, che era presente nelle ROM di sistema Amiga), in grado di riconoscere quali finestre o parti di esse erano coperte e quali finestre erano in primo piano e completamente visibili, in modo che potesse disegnare solo le parti dello schermo che richiedevano l'aggiornamento. Inoltre, Intuition supportava la composizione. Le applicazioni potrebbero prima richiedere una regione di memoria al di fuori della regione di visualizzazione corrente da utilizzare come bitmap. Il sistema a finestre Amiga userebbe quindi una serie di bit blit usando l'hardware blitter del sistema per creare un composto di bitmap di queste applicazioni, insieme a pulsanti e cursori, nella memoria del display, senza richiedere a queste applicazioni di ridisegnare nessuna delle loro bitmap.
Riga 14 ⟶ 13:
L'intuizione anticipava anche le scelte dell'utente riconoscendo la posizione del puntatore fluttuante su altri elementi dello schermo (barre del titolo delle finestre, i loro gadget di chiusura e ridimensionamento, intere icone), e quindi era in grado di garantire quasi un'attesa zero dichiarare l'esperienza nell'utilizzo del window manager [[Workbench]]. Quest'ultimo è stato l'unico window manager che alla fine ha ispirato un'intera famiglia di discendenti e successori: Ambient in MorphOS, Zune/Wanderer in AROS, Workbench NG (New Generation in AmigaOS 4.0 e 4.1). Workbench 4.1 è stato migliorato dall'interfaccia vettoriale 2D alimentata dalle librerie Cairo e presenta un moderno motore di composizione basato su Porter-Duff 3D.
 
Nel 1988 Presentation Manager divenne la shell predefinita in OS / 2, che, nella sua prima versione, utilizzava solo un'interfaccia a riga di comando (CLI). IBM e Microsoft hanno progettato OS / 2 come successore di DOS e Windows per DOS. Dopo il successo di Windows 3.10, però, Microsoft ha abbandonato il progetto a favore di Windows. Successivamente, il progetto Microsoft per una futura versione 3 di OS / 2 è diventato [[Windows NT]] e IBM ha apportato una riprogettazione completa della shell di OS / 2, sostituendo il Presentation Manager di OS / 2 1.x per Workplace Shell orientato agli oggetti che ha fatto il suo debutto in OS / 2 2.0<ref>{{Cita web|url=http://www.os2bbs.com/OS2News/OS2History.html|titolo=OS/2 History|accesso=7 marzo 2021|dataarchivio=20 luglio 2006|urlarchivio=https://web.archive.org/web/20060720193636/http://www.os2bbs.com/os2news/OS2History.html|urlmorto=sì}}</ref>.
 
== Tipologie ==
=== X window system ===
{{Vedi anche|X Window System}}
Sui sistemi che utilizzano [[X Window System]], c'è una chiara distinzione tra il gestore di finestre e il sistema a finestre . A rigor di termini, un X window manager non interagisce direttamente con hardware video, mouse o tastiere: questa è responsabilità del server di visualizzazione.
 
Gli utenti del sistema X Window hanno la possibilità di utilizzare facilmente molti diversi gestori di finestre: Metacity, utilizzato in GNOME 2, e KWin, utilizzato in KDE Plasma Workspaces e molti altri. Poiché molti gestori di finestre sono modulari, le persone possono usarne altri, come Compiz (un gestore di finestre di composizione 3D), che sostituisce il gestore di finestre. Sawfish e awesome d'altra parte sono gestori di finestre estensibili che offrono un controllo preciso delle finestre. È anche possibile combinare e abbinare componenti di diversi gestori di finestre; ad esempio, le decorazioni per finestre di KWinpuò essere utilizzato con i componenti desktop e dock di GNOME.
Riga 36 ⟶ 35:
I gestori di finestre sono spesso divisi in tre o più classi, che descrivono il modo in cui le finestre vengono disegnate e aggiornate.
 
=== Compositing window manager ===
{{Vedi anche|Compositing window manager}}
I compositing window manager consentono di creare e disegnare separatamente tutte le finestre, quindi assemblarle e visualizzarle in vari ambienti 2D e 3D. I compositing window manager più avanzati consentono una grande varietà di aspetto dell'interfaccia e la presenza di effetti visivi 2D e 3D avanzati.
 
=== Stacking window manager ===
[[File:300px-Windows 3.11 workspace.png|alt=Windows3Windows 3.11 che utilizza uno Stacking window manager|centro|miniatura|Windows3Windows 3.11 che utilizza uno Stacking window manager.<br>

[[File:KDE frozen.png|alt=Quando un'applicazione che utilizza Stacking window manager non risponde, può mantenere il contenuto di un'altra finestra originariamente mostrata sopra di essa.
|miniatura]]Quando un'applicazione che utilizza Stacking window manager non risponde, può mantenere il contenuto di un'altra finestra originariamente mostrata sopra di essa.]]
Tutti i gestori di finestre che hanno finestre sovrapposte e non sono [[Compositing window manager|compositing window managers]], sono stacking window managers, sebbene sia possibile che non tutti utilizzino gli stessi metodi. I gestori di finestre sovrapposte consentono alle finestre di sovrapporsi disegnando prima le finestre di sfondo, che vengono chiamate algoritmo del pittore. Le modifiche a volte richiedono che tutte le finestre siano impilate o ridipinte, il che di solito comporta il ridisegno di ogni finestra. Tuttavia, per portare una finestra di sfondo in primo piano di solito è necessario ridisegnare solo una finestra, poiché le finestre di sfondo possono avere parti di altre finestre dipinte su di esse, cancellando efficacemente le aree coperte.
 
 
=== Tiling window manager ===
Riga 58 ⟶ 61:
 
; Borders
: Un bordo è un componente di decorazione della finestra fornito da alcuni gestori di finestre, che appare intorno alla finestra attiva. Alcuni gestori di finestre possono anche visualizzare un bordo attorno alle finestre di sfondo .
 
; Menù contestuale
Riga 82 ⟶ 85:
 
; Pannello dei menu
: Un pannello di menu un componente di alcuni gestori di finestre (Window manager) che fornisce la funzionalità per avviare i programmi utilizzando un menu. Un pannello del menu è simile a una barra dei menu, ma appare come un pannello mobile , anziché come una barra orizzontale o verticale.
: Il pannello del menu può contenere funzionalità aggiuntive tra cui un pulsante di avvio, un pannello delle attività e una barra delle applicazioni.
 
Riga 120 ⟶ 123:
 
; Barra delle applicazioni
: Alcuni gestori di finestre forniscono una barra delle applicazioni che mostra le applicazioni in esecuzione. La barra delle applicazioni può mostrare tutte le applicazioni in esecuzione compresi quelli che sono stati ridotti al minimo , e può fornire la possibilità di passare di messa a fuoco tra di loro. La barra delle applicazioni può essere incorporata in una barra dei menu su alcuni gestori di finestre.
 
; Pannello delle attività
: Un pannello delle attività è simile a una barra delle applicazioni, ma appare come un pannello mobile , anziché come una barra orizzontale o verticale.
 
; Pulsante Start
Riga 129 ⟶ 132:
 
; Area di notifica
: Un'area di notifica viene utilizzata per visualizzare le icone per le funzionalità del sistema e del programma che non hanno una finestra sul desktop . Contiene principalmente icone per indicare informazioni sullo stato e notifiche come l'arrivo di un nuovo messaggio di posta. Alcuni sistemi possono anche mostrare un orologio nell'area di notifica .
 
; Barre del titolo
Riga 145 ⟶ 148:
I gestori di finestre spesso forniscono un modo per selezionare la finestra attiva utilizzando la tastiera in alternativa al mouse. Una tipica combinazione di tasti è Alt + Tab, usata da Windows e KDE (per impostazione predefinita, sebbene sia configurabile dall'utente); un altro è il tasto apple -tilde, utilizzato da Macintosh. La pressione della combinazione di tasti appropriata in genere scorre tutte le finestre visibili in un certo ordine, sebbene siano possibili altre azioni.
 
Molti gestori di finestre, sebbene non tutti, forniscono un'area dello schermo contenente una sorta di controllo visivo (spesso un pulsante) per ogni finestra sullo schermo. Ogni pulsante contiene in genere il titolo della finestra e può contenere anche un'icona. Quest'area dello schermo generalmente fornisce una sorta di indicazione visiva di quale finestra è attiva, ad esempio, il pulsante della finestra attiva potrebbe apparire "premuto". Di solito è anche possibile cambiare la finestra attiva facendo clic sul pulsante appropriato. In Microsoft Windows, quest'area dello schermo è chiamata ''barra'' delle ''applicazioni'' ; nei sistemi Apple Macintosh quest'area dello schermo è chiamata dock.
 
La finestra attiva potrebbe non trovarsi sempre davanti a tutte le altre finestre sullo schermo. La finestra attiva è semplicemente la finestra a cui vengono inviati i tasti digitati sulla tastiera; può essere oscurato visivamente da altre finestre. Ciò è particolarmente vero nei gestori di finestre che non richiedono un clic per cambiare le finestre attive: FVWM , ad esempio, rende attiva la finestra sotto il cursore del mouse ma non cambia il suo ordine Z (l'ordine in cui appaiono le finestre, misurato dallo sfondo in primo piano). È invece necessario fare clic sul bordo della finestra per portarla in primo piano. Ci sono anche situazioni nei gestori di finestre click-to-focus come Microsoft Windows in cui la finestra attiva potrebbe essere oscurata; tuttavia, questo è molto meno comune.
 
== Esempi ==
{{C|Raccolta indiscriminata rispetto alla rilevanza enciclopedica, e priva di fonti|informatica|dicembre 2021}}
{{Div col|2}}
* Con [[Compositing window manager|composizione]]
**[[Windows Aero|Aero]] (il gestore delle finestre di [[Windows]] da [[Windows Vista|Vista]] in poi)
** [[Beryl (software)|Beryl]]
** [[Compiz]]
** [[KWin]] (originariamente chiamato Kwm, è il gestore delle finestre predefinito di [[KDE]])
** [[Metacity]] (è il gestore delle finestre predefinito di [[GNOME]] dalla versione 2.2)
** [[Mutter (software)|Mutter]] (è il gestore delle finestre predefinito di [[GNOME Shell]])<!-- Mutter che c'era di collegamento è un singolo (musica), prima di mettelo creare la voce appropriata -->
** [[Quartz Compositor]] (è il gestore delle finestre di [[macOS]])
** [[Xfwm]] (è il gestore delle finestre predefinito di [[Xfce]])
** [[Muffin (software)|Muffin]] (è il gestore delle finestre di [[Cinnamon (interfaccia grafica)|Cinnamon]] a partire dalla versione 1.4)
{{Div col end}}
 
{{Div col|2}}
* Senza [[Compositing window manager|composizione]]
**[[AfterStep]]
Riga 179 ⟶ 184:
 
Altri software meno frequentemente implementati sono:
 
{{Div col|2}}
* [[wmii]]
* [[wmii]] [https://web.archive.org/web/20111231012144/http://wmii.suckless.org/]
* [[Dynamic window manager]] (dwm) [https://dwm.suckless.org/] - ''tiling window manager'' dinamico.
* [[5Dwm]] [http://www.5Dwm.org/] - gestore delle finestre derivato da mwm.
* [[9wm]] [http://unauthorised.org/dhog/9wm.html] - clone del gestore delle finestre di [[Plan 9 (operating system)|Plan 9]]
* [[aewm]]
* [[aewm]] [https://web.archive.org/web/20061213142305/http://www.red-bean.com/%7Edecklin/software/aewm/]
* [[amiwm]] [http://www.lysator.liu.se/~marcus/amiwm.html] - clone dell'[[Amiga]] workbench.
* [[MLVWM]] - clone dell'interfaccia del Mac OS classico.
* [[CTWM]]
Riga 195 ⟶ 199:
* [[Kahakai]]
* [[larswm]]
* [[Luminocity]]
* [[lwm (software)|lwm]] [http://www.jfc.org.uk/software/lwm.html]
* [[Matchbox (window manager)|Matchbox]] [https://web.archive.org/web/20070403041018/http://projects.o-hand.com/matchbox/] - ''window manager'' per sistemi embedded
* [[OLWM]] (ande [[OLVWM]]{{cita web |url=http://home.nyc.rr.com/twopks/olvwm/ |titolo=Copia archiviata |accesso=3 aprile 2009 |urlmorto=sì |urlarchivio=https://web.archive.org/web/20081204203055/http://home.nyc.rr.com/twopks/olvwm/ |dataarchivio=4 dicembre 2008 }} con desktop virtuali, [[OPEN LOOK]] window manager)
* [[Oroborus]]
* [[OroboROX]]
* [[PekWM]]
* [[PWM (window manager)|PWM]]
* [[Qvwm]] - gestore delle finestre simile a Windows 95/98 [http://freecode.com/projects/qvwm/] (lista dei ''fork'')
* [[Ratpoison]]
* [[Scwm]] - ''Scheme constrained window manager''
* [[Small window manager]]
* [[Solbourne window manager]]
* [[Toy'd]]
* [[Toy'd]] ([https://web.archive.org/web/20061210202702/http://www.toyd.org/]
* [[TrsWM]]
* [[uwm]]
* [[Waimea (X Window System)|Waimea]] [https://www.freedesktop.org/Software/waimea]
* [[WindowLab]]
* [[wm2]]
Riga 226 ⟶ 230:
* [[Compositing window manager]]
* [[Dynamic window manager]]
* [[Stacking window manager]]
 
== Altri progetti ==
Riga 235 ⟶ 238:
 
[[Categoria:Interfacce grafiche]]
[[Categoria:Window manager| ]]