Dynamic window manager: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Clamiax (discussione | contributi)
Correggo, estendo e sposto il paragrafo Caratteristiche.
mNessun oggetto della modifica
 
(43 versioni intermedie di 27 utenti non mostrate)
Riga 1:
{{Software
{{Infobox_Software |
nome|Nome = DWM |
|Logo =
screenshot = [[Immagine:Dwm.png|200px]] |
|Screenshot = Dwm 2007.png
didascalia|Didascalia = Screenshot di DWM 3.0 su Gentoo GNU/Linux |
sviluppatore|Sviluppatore = Anselm R. Garbe |
versione_ultimo_rilascio = 5.7.2 |
|UltimaVersione =
data_ultimo_rilascio = [[27 settembre]] [[2009]] |
|DataUltimaVersione =
sistema_operativo = [[UNIX]] like |
|UltimaVersioneBeta =
genere = [[window manager]] |
|DataUltimaVersioneBeta =
licenza = [[Licenza_MIT | Licenza MIT]] |
|SistemaOperativo = unix
sito_web = [http://dwm.suckless.org/ http://dwm.suckless.org/] |
|Linguaggio =
|Genere = windowing system
licenza|Licenza = [[Licenza_MIT | Licenza MIT]] |
|SoftwareLibero = sì
|Lingua =
}}
 
'''Dynamic window manager''' (dwm) è 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 [[eseguibile]] che mostra le funzionalità di dwm senza consentire alcuna personalizzazione, dato che per applicare le patch occorre ricompilare.<ref>{{Cita web |url=https://packages.debian.org/lenny/dwm |titolo=Debian packages information}}</ref>
'''DWM''' (Dynamic Window Manager) è un [[window manager]] dinamico, leggero ed
efficiente scritto in [[Linguaggio_C | C]] per il sistema grafico
[[X Window System]]. É generalmente considerato il fratello più piccolo di
[[wmii]] sebbene non implementi gran parte delle sue funzionalità.
 
dwmDwm utilizza un modello [[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.
[[Plan 9]]. Una volta compilato, dwm è composto da un singolo file binario di
dimensione generalmente inferiore ai 30K.
 
A partire da [[Marzo]]marzo [[2009]] è stato avviato un progetto parallelo che si pone l'obiettivo di portare dwm su piattaforma [[win32]].
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==
Riga 55 ⟶ 46:
* Layout in uso
* Nome e layout del client attivo
* Area di notifica
* Informazioni aggiuntive
 
LeL'area informazionidi aggiuntivenotifica rappresentanorappresenta l'unica parte modificabile in fase di esecuzione
esecuzione in quanto queste le informazioni vengono lette attraverso a runtime. Nelle prime versioni
versioni queste erano lette direttamente dallo [[standard input]]; oggi sono ottenute
ottenute attraverso il nome della finestra ''root'' di X. Modificandoil quale può taliessere datimodificato
da un processo esterno. Cambiando tali dati la barra viene immediatamente
la barra viene immediatamente aggiornata con le nuove informazioni, le quali possono essere generate come si
possono essere generate come si preferisce (generalmente attraverso uno script o direttamente in uno dei file
o direttamente in uno dei file di inizializzazione di X11, come ''~/.xinitrc''). Spesso si utilizzano dati come
Spesso si utilizzano dati come l'ora, la data, il livello di carico medio e
l'ora, la data, il livello di carico medio e altre informazioni utili. La barra
altre informazioni utili. La barra ha l'abilità di essere nascosta in fase di esecuzione attraverso una
esecuzione attraverso una combinazione di tasti (di default ''meta-b'', dove meta spesso corrisponde al
meta spesso corrisponde al tasto ''Alt'') e allo stesso modo può essere
tasto ''Alt'') e allo stesso modo può essere ripristinata.
 
In genere la barra di stato è completata con [[dmenu]], un'applicazione per
l'esecuzione di comandi testuali sviluppata dallo stesso ideatore di dwm.
 
==Configurazione==
Riga 74 ⟶ 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
==Fork e patch==
la classe di utenti è ristretta ai programmatori e utenti avanzati, prevenendo
I concetti e le caratteristiche di dwm lo hanno reso un progetto molto
così domande banali da utenti inesperti sulla lista del progetto Suckless.
influente, molti altri [[window manager]] sono basati sul codice di dwm o sono
comunque da esso ispirati. Una lista estesa di fork e patch è reperibile sul
[https://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=https://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 ispirate 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 inventoreautore 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}}
[[Categoria:X window managers]]
{{Portale|informatica|software libero}}
[[Categoria:Interfaccia utente]]
 
genere = [[Categoria:X window manager]] |
[[br:Dwm]]
[[de:Dwm]]
[[en:Dwm]]
[[fr:Dwm]]
[[ja:Dwm (ウィンドウマネージャ)]]
[[pl:Dwm]]
[[pt:Dwm]]
[[ru:Dwm]]
[[sv:Dwm]]
[[uk:Dwm]]