Dynamic window manager: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Clamiax (discussione | contributi)
Rimuovo le inesettazze ed estendo significativamente l'articolo.
mNessun oggetto della modifica
 
(44 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 = Screenshot di DWM 3.0 su Gentoo GNU/Linux |
|Didascalia = Screenshot di DWM 3.0 su Gentoo GNU/Linux
sviluppatore = Anselm R. Garbe |
|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 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:
 
* il supporto per i ''tag''; un meccanismo efficiente e molto più flessibile dei comuni desktop;
* la disposizione automatica dei client di X (finestre), in layout diversi da ''floating'';
* l'estrema velocità e affidabilità grazie al meccanismo ''config.h'', che lo rende anche molto sicuro;
* una barra di stato dinamica e aggiornabile a [[runtime]];
* l'essere basato aggressivamente su combinazioni da tastiera (ma anche in buona parte sul mouse);
* l'estensibilità attraverso una significativa quantità di ''patch'' rese disponibili dalla comunità sul sito ufficiale del progetto;
* la portabilità del codice, resa possibile grazie alla filosofia Suckless.
 
==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 42 ⟶ 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 attraversoa ilruntime. nomeNelle dellaprime finestraversioni
queste erano lette direttamente dallo [[standard input]]; oggi sono ottenute
''root'' di X. Modificando tali dati la barra viene immediatamente aggiornata
attraverso il nome della finestra ''root'' di X il quale può essere modificato
con le nuove informazioni, le quali possono essere generate come si preferisce
da un processo esterno. Cambiando tali dati la barra viene immediatamente
(generalmente attraverso uno script o direttamente in uno dei file di
aggiornata con le nuove informazioni, le quali possono essere generate come si
inizializzazione di X11, come ''~/.xinitrc). Spesso si utilizzano dati come
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
combinazione di tasti (di default ''meta-b'', dove meta spesso corrisponde al
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 59 ⟶ 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.
 
==CaratteristicheFork e patch==
I concetti e le caratteristiche di dwm lo hanno reso un progetto molto
#È un window manager leggero e veloce
influente, molti altri [[window manager]] sono basati sul codice di dwm o sono
#È basato su wmii.
comunque da esso ispirati. Una lista estesa di fork e patch è reperibile sul
#Tipicamente lo si installa con dmenu.
[https://dwm.suckless.org/patches/ sito ufficiale] del progetto. Di seguito
#Le applicazioni sono raggruppate in "tags".
sono riportati alcuni esempi noti:
#È costituto da una piccola status bar che mostra i tags, la modalità di visualizzazione, il titolo della finestra attiva e lo standard input.
 
* 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]]
 
[[Categoria:X window manager]]
[[br:Dwm]]
[[de:Dwm]]
[[en:Dwm]]
[[fr:Dwm]]
[[ja:Dwm (ウィンドウマネージャ)]]
[[pl:Dwm]]
[[pt:Dwm]]
[[ru:Dwm]]
[[sv:Dwm]]
[[uk:Dwm]]