#format wiki
#LANGUAGE it
<<BR>>
<<Indice(depth=2)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=591113"; rilasci="20.04 22.04")>>

= Introduzione =

In questa pagina sono riportate le possibili personalizzazioni riguardanti il window manager '''[[AmbienteGrafico/I3|i3]]'''.

{{{#!wiki tip
Per configurare un file di configurazione `~/.config/i3/config` ad hoc, è possibile prendere spunto consultando
[[https://wiki.ubuntu-it.org/AmbienteGrafico/I3/Personalizzazione?action=AttachFile&do=view&target=config.txt|questo file di esempio]].
}}}

= Preparativi =

== Tabella dei colori ==

Per individuare il colore desiderato consultare questa [[https://it.wikipedia.org/wiki/Aiuto:Tavolozza_dei_colori|tabella dei colori]].

= Configurazione =

== Modifica del Dmenù ==

Il menù di default è '''[[AmbienteGrafico/I3#Scorciatoie_da_tastiera|dmenù]]''', ed è accessibile con i tasti di scorciatoia. La caratteristica di questo menù è che mostra '''tutti''' gli eseguibili presenti nel sistema, inclusi i comandi del [[AmministrazioneSistema/Terminale|terminale]]. È possibile modificare questo comportamento con una a piacere delle seguenti modalità:

 * Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file  `~/.config/i3/config` e modificare la seguente riga:{{{
bindsym $mod+d exec dmenu_run
}}}
 in
 {{{
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
}}} 
 in modo che '''i3-dmenu-desktop''' mostri solo le applicazioni fornite di file `.desktop`, ottenendo così il classico comportamento dei menu sui più comuni [[AmbienteGrafico|ambienti desktop]].

 * Utilizzare il menù alternativo '''j4-dmenu-desktop'''. A tale scopo [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://j4-dmenu-desktop|j4-dmenu-desktop]].


== La barra di stato ==

=== Tramite i3status ===

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://i3status|i3status]].
 0. [[AmministrazioneSistema/ComandiBase#cp|Copiare]] il file di configurazione globale `/etc/i3status.conf` nella propria '''Home''':{{{
cp /etc/i3status.conf ~/.config/.i3/
}}} e modificare a proprio piacimento.
 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config` e modificare la seguente riga:{{{
status_command i3status
}}}
 in
 {{{
status_command i3status --config ~/.config/i3/i3status.conf
}}} 
 0. Impostare i colori usati nella barra aggiungendo le seguenti righe nella sezione '''bar''':{{{
  colors {
separator #ffffff
background #000000
statusline #ffffff
#colorclass           <border> <background> <text>
focused_workspace       #000000 #52AD91 #000000
inactive_workspace      #000000 #000000 #31658C         
urgent_workspace        #333333 #95A7CC #000000
}
}}} 
 modificando quindi i colori secondo le proprie preferenze.

== Barra alternativa ==

Un'alternativa a '''i3bar''' può essere '''xfce4-panel''' (il pannello di '''[[AmbienteGrafico/Xfce|Xfce]]''' con i menù per le applicazioni e un contenitore per le finestre aperte, oltre alla systray per volume, gestione connessioni, ecc.).
 0. Se il metapacchetto ''xfce4'' non è già installato, installare il pannello di Xfce:{{{
sudo apt install xfce4-panel xfce4-goodies
}}}
 0. Aggiungere il pannello al proprio file `~./xinirc` digitando:{{{
xfce4-panel --disable-wm-check &
}}}
 oppure aggiungendo al file ~/.config/i3/config la seguente stringa:
 {{{
exec --no-startup-id i3-msg 'workspace 1; exec xfce4-panel --disable-wm-check &
}}}

== Regolare il volume ==

Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config` e aggiungere le seguenti righe:{{{
bindsym $mod+Page_Up exec --no-startup-id amixer -q set Master 3%+ -q
bindsym $mod+Page_Down exec --no-startup-id amixer -q set Master 3%- -q
bindsym $mod+End exec --no-startup-id amixer -q set Master toggle
}}}

In alternativa è possibile avere un tradizionale pulsante nella tray bar. A tal fine:
 0. [[AmministrazioneSistema/InstallareProgrammi/Apt|Installare]] il pacchetto [[apt://volumeicon-alsa|volumeicon-alsa]].
 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config` e aggiungere la riga:{{{
exec --no-startup-id volumeicon
}}}

= Modifica aspetto =

== Font iconici ==

Per inserire come nomi ai workspace gli '''awesome-fonts''', font iconici, è sufficiente [[AmministrazioneSistema/InstallareProgrammi/Apt|installare]] il pacchetto [[apt://fonts-font-awesome|fonts-font-awesome]].

== Impostare uno sfondo ==

=== Tramite feh ===

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://feh|feh]].
 0. Impostare lo sfondo da [[AmministrazioneSistema/Terminale|terminale]] tramite il comando:{{{
feh [opzioni] /percorso/per/immagine/di/sfondo.png
}}} 
 sostituendo nella voce `[opzioni]` i parametri che più si desidera esposti nella seguente tabella:

 ||<tablestyle="width:60%;" #cccccc:20%>'''Opzione''' ||<#cccccc:40%>'''Descrizione''' ||
 ||<#f7f7f7>  '''--bg-center''' || Centrare il file sullo sfondo. ||
 ||<#f7f7f7>  '''--bg-scale''' || Adatta il file allo sfondo senza ripeterlo, tagliare elementi o utilizzare bordi. ||
 ||<#f7f7f7>  '''--bg-fill''' || Come --bg-scale. Conserva le proporzioni ingrandendo l'immagine finché non si adatta.  ||
 ||<#f7f7f7>  '''--bg-max''' || Come --bg-fill, ma ridimensiona l'immagine alla dimensione massima che si adatta allo schermo con i bordi su un lato. ||
 ||<#f7f7f7>  '''--bg-tile''' || Affianca (ripeti) l'immagine nel caso sia troppo piccola per lo schermo ||
 0. Per ripristinare lo sfondo ad ogni avvio, aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config` e inserire la seguente riga:{{{
exec --no-startup-id sh ~/.fehbg
}}}

=== Tramite nitrogen ===

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://nitrogen|nitrogen]].
 0. Avviare '''nitrogen''' dal [[AmministrazioneSistema/Terminale|terminale]] digitando:{{{
nitrogen /percorso/cartella/immagini/
}}}
 0. Impostare lo sfondo desiderato.
 0. Per ripristinare lo sfondo a ogni avvio, aprire il file `~/.config/i3/config` e inserire seguente la riga:{{{
exec --no-startup-id nitrogen --restore &
}}}

== Impostare colori finestre ==

Per impostare i colori dei bordi e della barra del titolo delle finestre:
 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config` e aggiungere le seguenti righe:{{{
# Colors
#class                 border  backgr. text    indicator
client.focused          #ffffff #31658C #ffffff #31658C
client.focused_inactive #4D4D4D #4D4D4D #4D4D4D #4D4D4D
client.unfocused        #4D4D4D #4D4D4D #4D4D4D #4D4D4D
client.urgent           #4D4D4D #4D4D4D #4D4D4D #4D4D4D
}}}
 0. Modificare i colori a proprio piacimento.

= Applicazioni =

== Terminale ==

Per impostazione predefinita '''i3''' usa il [[AmministrazioneSistema/Terminale|terminale]] predefinito nel sistema. Per adoperarne uno diverso:

 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config`.

 0. Individuare la riga seguente:{{{
bindsym $mod+Return exec i3-sensible-terminal
}}}

 0. Modificare indicando l'emulatore desiderato. Ad esempio per il terminale di '''[[AmbienteGrafico/Xfce|Xfce]]''':{{{
bindsym $mod+Return exec xfce4-terminal
}}}

== Clipboard manager ==

Per usare le normali funzionalità di copia/incolla è necessario installare un ''clipboard manager''.

=== Tramite parcellite ===

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://parcellite|parcellite]].
 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config` e per avviare il demone di '''parcellite''' all'avvio aggiungere la riga:{{{
exec --no-startup-id parcellite -d
}}}

=== Tramite Clipman ===

Per utilizzare '''Clipman''' (clipboard manager di [[AmbienteGrafico/Xfce|Xfce]]):

 0. Installare il pacchetto [[apt://xfce4-clipman|xfce4-clipman]].
 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il fileile `~/.config/i3/config` e aggiungere la seguente riga:{{{
exec --no-startup-id xfce4-clipman
}}}

== Lanciare applicazioni all'avvio ==

Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config` e aggiungere una stringa simile alla seguente:{{{
exec --no-startup-id eseguibile
}}}

=== Assegnare scorciatoie per avviare applicazioni ===

Aggiungere al file `~/.config/i3/config` una stringa simile alla seguente:{{{
bindsym $mod+tasto exec --no-startup-id eseguibile
}}} 
Ad esempio per '''Firefox''':{{{
bindsym $mod+Return exec --no-startup-id firefox
}}}

=== Avviare applicazione in uno specifico workspace ===

Occorre conoscere la stringa ''class'' ricavabile tramite il comando '''xprop''' contenuto nel pacchetto [[apt://x11-utils|x11-utils]].

 0. Digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
xprop
}}} e fare clic sulla finestra del programma interessato (nell'esempio seguente verrà usato'''Skype''').
 0. Cercare alla fine dell'output generato la riga:{{{
WM_CLASS(STRING) = "skype", "Skype"
}}}
 0. Delle due voci copiare quella con l'iniziale '''in maiuscolo'''. La sintassi per il comando è del tipo:{{{
Assign [class="Applicazione"] workspace
}}} 
 Quindi per '''Skype''':{{{
assign [class="Skype"] 1
}}}

=== Avviare applicazioni in floating mode ===

Inserire una stringa simile alla seguente:{{{
for_window [class="Applicazione"] floating enable
}}} 
Ad esempio per '''Skype''':{{{
for_window [class="Skype"] floating enable
}}}

== Selezionare finestre al passaggio del mouse ==

Le impostazioni di default di '''i3''' permettono di selezionare una finestra posizionando il cursore del mouse su di essa. Se questo non è il comportamento desiderato, '''i3''' permette di selezionare la finestra con un clic o con la tastiera.

Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config` e aggiungere la riga:{{{
focus_follows_mouse no
}}}

= Hardware =

== Gestione connessioni ==

Per gestire facilmente le proprie connessioni (ad esempio le reti wifi) è possibile aggiungere un'icona nella tray bar. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config` e aggiungere la seguente riga:{{{
exec --no-startup-id nm-applet
}}}

== Supporto multi monitor ==

'''i3''' ha un ottimo supporto multimonitor ('''xinerama''').

Per usare più desktop virtuali su più monitor collegati via VGA o HDMI basterà dare il comando:{{{
exec xrandr --output VGA1 --auto --right-of LVDS1 
}}}
oppure nel caso di HDMI {{{
exec xrandr --output HDMI1 --auto --right-of LVDS1
}}} 
dove «`right`» o «`left`» indicano la posizione del monitor destro o sinistro.

= Personalizzazioni extra =

== Conky ==

{{{#!wiki note
Nell'esempio seguente si è proposto quello della [[http://i3wm.org/docs/user-contributed/conky-i3bar.html|guida ufficiale]], modificando soltanto il percorso dei file per maggiore comodità e ordine (in modo tale da avere tutti i file nella stessa cartella).
}}}

 0. Installare i pacchetti di '''Conky''', come indicato nella relativa [[AmbienteGrafico/Conky|guida]].
 0. Con un [[Ufficio/EditorDiTesto|editor di testo]] aprire il file `~/.conky/i3/conky-i3bar` e copiare le seguenti righe:{{{
#!/bin/sh

# Send the header so that i3bar knows we want to use JSON:
echo '{"version":1}'

# Begin the endless array.
echo '['

# We send an empty first array of blocks to make the loop simpler:
echo '[],'

# Now send blocks with information forever:
exec conky -c $HOME/.conky/conkyrc
}}}
 0. Salvare e chiudere il file.
 0. [[AmministrazioneSistema/PermessiFile#Assegnare_i_permessi_di_esecuzione|Assegnare i permessi d'esecuzione]] al file `~/.config/i3/conky-i3bar`.
 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.config/i3/config` e modificare la riga:{{{
status_command i3status --config ~/.config/i3/i3status.conf
}}} con {{{
status_command $HOME/.config/i3/conky-i3bar
}}}
 0. [[AmministrazioneSistema/ComandiBase#cp|Copiare]] il file di configurazione globale `/etc/conky/conky.conf` digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
cp  /etc/conky/conky.conf ~/.conky/conkyrc
}}} 
 quindi modificare il file secondo le proprie esigenze.
 0. Riavviare l'ambiente grafico ''i3''.

= Ulteriori risorse =

 * [[http://i3wm.org/|Sito Ufficiale]]
 * [[http://i3wm.org/docs/userguide.html|Guida ufficiale]]
 * [[https://fortawesome.github.io/Font-Awesome/cheatsheet/|Font-awesome]]

----
CategoryGrafica