Dynamic window manager: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Cellistbot (discussione | contributi)
m Bot: sistemazione parametro UltimaVersione di {{Software}} come richiesto
mNessun oggetto della modifica
 
(26 versioni intermedie di 16 utenti non mostrate)
Riga 1:
{{Software |
nome|Nome = DWM |
|Logo =
screenshot = [[Immagine:Dwm.png|200px|Dynamic window manager]] |
|Screenshot = Dwm 2007.png
didascalia|Didascalia = Screenshot di DWM 3.0 su Gentoo GNU/Linux |
sviluppatore|Sviluppatore = Anselm R. Garbe |
|UltimaVersione = 5.8.2 |
data_ultimo_rilascio = [[4 giugno]] [[2010]] |
|DataUltimaVersione =
sistema_operativo = [[UNIX]] like |
|UltimaVersioneBeta =
genere = [[window manager]] |
|DataUltimaVersioneBeta =
licenza = [[Licenza MIT]] |
|SistemaOperativo = unix
sito_web = [http://dwm.suckless.org/ http://dwm.suckless.org/] |
|Linguaggio =
|Genere = windowing system
licenza|Licenza = [[Licenza MIT]] |
|SoftwareLibero = sì
|Lingua =
}}
 
'''DWMDynamic window manager''' (Dynamic Window Managerdwm) è un [[tiling window manager]] per [[X Window System|X11]] che mostra i principi del [[Minimalismo (informatica)|minimalismo]]. È un WM dinamico, leggero ed efficiente scritto in [[Linguaggio C|C]] e viene generalmente considerato il fratello più piccolo di [[wmii]] sebbene non implementi gran parte delle sue funzionalità. Esteticamente è simile a [[wmii]], sebbene internamente funzioni in modo molto più semplice, infatti, una delle linee guida del progetto consiste nel non eccedere mai le 2000 [[SLOC]] e le opzioni considerate configurabili dall'utente sono contenute in un singolo file [[header]]. La distribuzione [[Linux]] [[Debian]] fornisce un [[pacchetto binario]] [[bareboneeseguibile]] che mostra le funzionalità di dwm senza consentire alcuna personalizzazione, dato che per applicare le patch occorre ricompilare.<ref>{{Cita web |url=httphttps://packages.debian.org/lenny/dwm |titolo=Debian packages information}}</ref>
 
Dwm utilizza un modellmodello [[focus-follows-mouse]] e manca di qualsiasi decorazione delle finestre con l'eccezione dei bordi, utilizzati per mostrare il focus, e a differenza di wmii, non è basato su nulla che abbia a che fare con [[Plan 9]]. Una volta compilato, dwm è composto da un singolo file binario di dimensione generalmente inferiore ai 30K.
 
A partire da [[marzo]] [[2009]] è stato avviato un progetto parallelo che si pone l'obiettivo di portare dwm su piattaforma [[win32]].
 
==Caratteristiche==
Le caratteristiche principali sono le seguenti:
 
* Supportoil supporto per i ''tag''; un meccanismo efficiente e molto più flessibile dei comuni desktop;
* Disposizionela disposizione automatica dei client di X (finestre), in layout diversi da ''floating'';
* Estremal'estrema velocità e affidabilitaaffidabilità grazie al meccanismo ''config.h'', che lo rende anche molto sicuro;
* Barrauna barra di stato dinamica e aggiornabile a [[runtime]];
* Basatol'essere basato aggressivamente su combinazioni da tastiera (ma anche in buona parte sul mouse);
* Estensibilel'estensibilità attraverso una significativa quantità di ''patch'' messerese a puntodisponibili dalla comunità e disponibili sul sito ufficiale del progetto;
* Illa portabilità del codice, scrittoresa secondopossibile lagrazie alla filosofia Suckless lo rende un WM estremamente portabile.
 
Queste e molti altri fattori più e meno tecnici lo rendono un WM di qualità.
 
==Tag==
Dwm utilizza, al posto dei classici desktop, un concetto molto più flessibile ed efficiente chiamato tag. Nelle prime implementazioni questi erano gestiti tramite una lista di stringhe ognuna avente il nome di ogni tag (ad esempio www, work, dev). Successivamente è stato scelto di utilizzare un'apposita ''tagmask'', un intero di 32 bit, in cui ogni bit rappresenta appunto un tag semplificando e rendendo molto più efficiente il sistema. A tutt'oggi resta questo il meccanismo di gestione dei tag in uso.
Dwm utilizza, al posto dei classici desktop, un concetto molto più flessibile
ed efficiente chiamato tag. Nelle prime implementazioni questi erano mantenuti
attraverso una lista di stringhe ognuna avente il nome di ogni tag (ad esempio
www, work, dev). Successivamente è stato scelto di utilizzare un'apposita
''tagmask'', un intero di 32 bit, in cui ogni bit rappresenta appunto un tag
semplificando e rendendo molto più efficiente il sistema. A tutt'oggi resta
questo il meccanismo di gestione dei tag in uso.
 
==Barra di stato==
Line 58 ⟶ 55:
aggiornata con le nuove informazioni, le quali possono essere generate come si
preferisce (generalmente attraverso uno script o direttamente in uno dei file
di inizializzazione di X11, come ''~/.xinitrc''). Spesso si utilizzano dati come
l'ora, la data, il livello di carico medio e altre informazioni utili. La barra
ha l'abilità di essere nascosta in fase di esecuzione attraverso una
Line 65 ⟶ 62:
 
In genere la barra di stato è completata con [[dmenu]], un'applicazione per
l'esecuzione di comandi testuali sviluppata dallo stesso ideatore di dwm.
 
==Configurazione==
Line 71 ⟶ 68:
codice sorgente, cosa che lo rende molto più efficiente e sicuro. Un apposito
file "di configurazione" chiamato config.h consente di personalizzare alcune
caratteristiche come le combinazioni di tasti, font, colori, tag, e così via.
UnaPer qualsiasiquesto modificamotivo allauna qualsiasi configurazionepersonalizzazione richiede necessariamente la
ricompilazione di dwm. Questo ed altri fattori fanno in modo che il WM, non
avendo codice di supporto per file di configurazione a [[runtime]], enon altreecceda i 30K di codice.
caratteristiche tipiche di alcuni wm, non ecceda i 30K di codice. Inoltre
la classe di utenti è ristretta ai programmatori e utenti avanzati, prevenendo
così domande banali da utenti inesperti sulla lista del progetto Suckless.
 
==Fork e patch==
I concetti e le caratteristiche di dwm lo hanno reso un progetto molto
influente, molti altri [[window manager]] sono basati sul codice di dwm o sono
comunque da esso inspiratiispirati. Una lista estesa di fork e patch è reperibile sul
[httphttps://dwm.suckless.org/patches/ sito ufficiale] del progetto. Di seguito
sono riportati alcuni esempi noti:
 
* xmonad: un clone di dwm riscritto in [[Haskell (linguaggio)|Haskell]] con alcune funzionalità aggiuntive<ref>{{Cita web |url=httphttps://lennartkolmodin.blogspot.com/2007/04/xmonad.html |titolo=Post in blog}}</ref>
* awesome: estende il supporto [[FreeType]], riconfigurabilità, e aggiunge più tipi di layout
* echinus: estende il supporto [[FreeType]], [[EWMH]], click-to-focus, riconfigurabilità e più tipi di layout
* dwm-gtx: un ramo di dwm che aggiunge il layout 'deck' ed un migliore supporto Xinerama
* scrotwm: prende un po' di codice da dwm con l'aggiunta del supporto Xinerama dinamico, riconfigurabilità ed è riavviabile senza perdere i dati
* bug.n e HashTWM sono applicazioni inspirateispirate da dwm che portano il concetto di [[tiling window manager]] su sistemi [[Microsoft Windows]]
 
==Curiosità==
* È il ''window manager'' personale di Anselm R. Garbe (sviluppatore di wmii e autore di dwm).
 
==Note==
<references/>
 
==Altri progetti==
{{interprogetto}}
 
==Collegamenti esterni==
* [http{{cita web|https://dwm.suckless.org /|Sito web ufficiale]}}
* [http{{cita web|https://suckless.org /|Sito web del progetto Suckless]}}
* [{{cita web|http://www.brain-dump.org/projects/dwm-win32/ |Port di dwm su Windows]}}
 
{{Desktop environment e window manager di X}}
{{Portale|informatica|software libero}}
 
[[Categoria:X window managersmanager]]
[[Categoria:Interfaccia utente]]
 
[[br:Dwm]]
[[cs:Dwm]]
[[de:Dwm]]
[[en:Dwm]]
[[fr:Dwm]]
[[ja:Dwm (ウィンドウマネージャ)]]
[[no:Dwm]]
[[pl:Dwm]]
[[pt:Dwm]]
[[ru:Dwm]]
[[sr:Dwm]]
[[sv:Dwm]]
[[uk:Dwm]]