Tutoriel i3

Tags: #<Tag:0x00007fc9e24cef38>

Bonjour tout le monde les gens.

Un tutoriel de configuration et d’utilisation de i3 que je vous soumets. Je l’ai tapé de mémoire. J’utilise Dmenu mais je ne suis plus sûr si c’est inclus dans le programme ou si c’est un paquet suggéré. Pareil pour i3bar.

Depuis que j’ai créé ce fil (sobrement intitulé Tutoriel i3), j’ai modifié ma configuration. J’ai mis mon fichier de configuration à la fin du tutoriel mais il n’incorpore pas certaines nouvelles lignes. Je tenterais de ne pas oublier de le signaler le moment voulu.

Introduction :

i3 est un « tiling window manager ». Autrement dit un gestionnaire de fenêtres organisant les fenêtres pour qu’elles prennent 100 % de l’écran. Il se contrôle à l’aide de touches de raccourcis.

Si vous êtes impatient de tester i3, le seul raccourci que vous devez – pour l’instant – mémoriser est alt+enter. Le résultat sera d’ouvrir un émulateur de terminal.

En effet, lors du premier lancement d’i3, vous n’aurez rien : pas d’icônes, pas de menu contextuel. En conséquence vous serez bon pour relancer votre PC (alt+ctrl+Fn) afin d’ouvrir une autre session graphique (gnome, kde, etc.) et suivre ce tutoriel. Je parle d’expérience !

Aparté : Si vous êtes dans un terminal (ctrl+alt+Fn), profitez-en pour regarder man i3. Ca vous permettra peut-être de reprendre la main.

En ouvrant un émulateur de terminal avec alt+enter, alors vous pourrez lancer votre navigateur internet via la ligne de commande et ainsi suivre ce tutoriel.

Par ailleurs, pour que les modifications apportées au fichier de configuration soient prises en compte, il faudra relancer la session (déconnexion/reconnexion) voire relancer votre PC.

Dans la mesure où je vais changer quelques paramètres d’utilisation, je vous conseille de ne pas redémarrer votre PC de suite mais d’effectuer ces quelques changements (gain de temps).

Installation:

L’installation est basique. Sous le compte Root :

apt update
apt install i3

La fonction Mod :

La touche Mod permet à i3 de savoir que l’utilisateur s’adresse à lui. Elle est donc très importante puisque c’est avec cette touche que vous piloterez i3.

Il est possible que, lors du premier démarrage d’i3, il vous est demandé quelle touche attribuer à Mod.

Dans le fichier de configuration de base la touche Mod est la touche alt.

Pour ma part je préfère utiliser la touche « drapeau » encore appelée touche « windows » ou « Super » (celle de gauche).

Fichier de configuration :

Celui-ci se trouve dans /home/USER/.config/i3 chez moi. Possible que vous le trouviez dans ~/.i3/config

Il est possible de changer Mod pour n’importe quelle autre touche. Toutefois choisissez-la bien. Par exemple la lettre « f » est fréquemment utilisée pour rédiger des mails, etc. Pareil, la touche ctrl est souvent utilisée comme raccourci clavier par les logiciels. Par exemple ctrl+s pour réaliser une sauvegarde rapide dans un traitement de texte.

Sous la section « # Please see http://i3wm.org/docs/userguide.html for a complete reference ! », tapez :

set $mod Mod4

Attention : à partir de maintenant, lorsque j’écris Mod, je fais référence à la touche « Super ». Adaptez selon votre propre configuration.

Premiers pas :

Une fois cette fonction Mod attribuée, quelques touches de raccourcis.

Mod+d

Cette combinaison ouvre (chez moi c’est en haut) une invite de commande permettant de taper le nom d’un logiciel comme, par exemple, Firefox. A noter que la touche tab (tabulation) permet l’autocomplétion. De plus, les flèches directionnelles permettent de se déplacer de mot-clef à mot-clef.

Si vous n’avez que la fenêtre Firefox, alors elle prendra 100 % de l’écran. Mais si vous ouvrez d’autres fenêtres, les choses se compliquent.

Avec seulement une fenêtre (ici Firefox), alors on parle de fenêtre active (celle qui a le focus).

Vous avez deux possibilités d’agencement de la nouvelle fenêtre à partir de la fenêtre active en cours. Les commandes ci-dessous sont à entrer avant de lancer la nouvelle fenêtre. Grosso modo, on indique à i3 comment positionner la nouvelle fenêtre puis on lui dit quelle fenêtre on veut qu’il ouvre.

Diviser horizontalement (mod+h) : bindsym $mod+h split h

Diviser verticalement (mod+v) : bindsym $mod+v split v

Vous pouvez faire des essais avec l’émulateur de terminal (étant entendu que vous avez déjà ouvert votre navigateur internet).

Bon, là, deux fenêtres, ça va. Passons à trois :

Mod+s : bindsym $mod+s layout stacking

Aura pour résultat d’afficher la nouvelle fenêtre par dessus celle ayant le focus. Vous verrez les barres de titre l’une en dessous de l’autre. La souris est active pour changer le focus.

Mod+z : bindsym $mod+z layout tabbed

Aura le même résultat sauf que les barres de titre – au lieu d’être l’une au dessus de l’autre – seront côte à côte.

Mod+e : bindsym $mod+e layout default

Reviendra à la configuration « de base » définie avec diviser Mod+h/v.

  • Changer le focus :

Le focus est la fenêtre active. Il y a un changement de couleur de la barre de titre permettant d’identifier quelle est la fenêtre ayant actuellement le focus.

Pour changer de fenêtre active, plusieurs possibilités :

  • Déplacer le focus entre les fenêtres avec jklm:
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+m focus right
  • Ou avec les touches fléchées:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

Déplacer la fenêtre active :

  • Avec jklm:
bindsym $mod+Shift+J move left
bindsym $mod+Shift+K move down
bindsym $mod+Shift+L move up
bindsym $mod+Shift+M move right
  • ou avec les touches fléchées:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

Parlons des bureaux ou espaces de travail. En effet, i3 incorpore jusqu’à 10 espaces de travail.

Pour se positionner sur l’un des bureaux il suffit d’utiliser la combinaison Mod+le numéro de l’espace de travail. En fait ce n’est pas le numéro mais le caractère. Ainsi l’espace de travail numéro 9 n’est pas Mod+9 mais Mod+ç.

  • Se déplacer entre espaces de travail:
bindsym $mod+ampersand workspace 1
bindsym $mod+eacute workspace 2
bindsym $mod+quotedbl workspace 3
bindsym $mod+apostrophe workspace 4
bindsym $mod+parenleft workspace 5
bindsym $mod+minus workspace 6
bindsym $mod+egrave workspace 7
bindsym $mod+underscore workspace 8
bindsym $mod+ccedilla workspace 9
bindsym $mod+agrave workspace 10
  • Déplacer la fenêtre active vers un espace de travail:
bindsym $mod+Shift+ampersand move container to workspace 1
bindsym $mod+Shift+eacute move container to workspace 2
bindsym $mod+Shift+quotedbl move container to workspace 3
bindsym $mod+Shift+apostrophe move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10

Redimensionner les fenêtres.

Mettez le focus sur la fenêtre que vous voulez redimensionner et utilisez la combinaison Mod+r.

bindsym $mod+r mode "resize"

Vous devriez voir apparaître le terme « resize » dans votre menu. Avec les touches directionnelles, vous pouvez redimensionner la fenêtre active. Une fois aux bonnes dimensions, appuyer sur « enter » pour valider et sortir de ce mode.

Mode plein écran.

Pour basculer une fenêtre dans ce mode / revenir aux dimensions initiales, utiliser la combinaison : mod+f.

bindsym $mod+f fullscreen toggle

Le focus ne suit pas la souris
A ce stade, une fenêtre devient active (a le focus) si la souris est positionnée dessus, ce qui peut poser problème.

focus_follows_mouse no

Conclusion :

Vous devriez être déjà capable d’utiliser i3 aisément. Ouvrir une nouvelle fenêtre, la positionner de différente façon selon vos préférences et accéder à différents espaces de travail.

Personnalisation

Là on va commencer à s’amuser.

Je me base sur ma propre configuration. Ce fichier est en fin de tutoriel.

Attention : le fichier de configuration est sensible à la casse. De plus, lorsque l’on modifie un élément, il faut s’assurer que cette modification se retrouve sur le reste du fichier . C’est particulièrement vrai pour l’attribution des noms aux espaces de travail.

Le gros inconvénient est que les modifications du fichier de configuration ne sont pas pris en compte de suite. Il faut se déconnecter de la session voire (car j’ai eu la surprise) relancer le PC.

Pour se déconnecter de la session, on utilise la combinaison :
mod+shift+e

exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec &quot;i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-m$
  • Attribuer un nom aux différents espaces de travail :
set $ws1 "1:accueil"
set $ws2 "2:web"
set $ws3 "3:mail"
set $ws4 "4:terminator"

Il est obligatoire de mettre le numéro de l’espace de travail. N’indiquer que « accueil », ne sera pas pris en compte.

  • Attribuer des programmes aux espaces de travail :
assign [class="^Conky$"] "1:accueil"
assign [class="^urxvt$"] "1:accueil"
assign [class="^Navigator$"] "2:web"
assign [class="^konsole$"] "2:web"
assign [class="^feh$"] "2:web"
assign [class="^Thunderbird$"] "3:mail"
assign [class="^terminator$"] "4:terminator"

Astuce : Si vous ne connaissez pas la classe du programme, utilisez la commande xprop.

Cela signifie que si je lance Thunderbird (Mod+d), alors celui-ci s’ouvrira dans l’espace de travail 3, même si je suis sur un autre espace de travail.

Il n’y a que Conky qui s’ouvre sur tous les espaces de travail (mais ça n’ouvre pas tous les espaces de travail, heureusement).

Exécution automatique de programmes au démarrage de la session i3 :

  • Programmes au démarrage
exec feh --bg-center '/home/USER/Images/gnulinuxjaune.png'
exec '/home/USER/.scripts/conky.sh'
exec --no-startup-id i3-msg 'exec radiotray'
exec --no-startup-id i3-msg 'workspace "1:accueil"; exec conky'
exec --no-startup-id i3-msg 'workspace "1:accueil"; exec urxvt'
exec --no-startup-id i3-msg 'workspace "2:web"; exec firefox'
exec --no-startup-id i3-msg 'workspace "2:web"; exec konsole'
exec feh -z -. -D 5 '/home/USER/Images/Vacances/'
exec --no-startup-id i3-msg 'workspace "3:mail"; exec thunderbird'
exec --no-startup-id i3-msg 'workspace "4:terminator"; exec terminator --layout=newsys'
exec --no-startup-id i3-msg 'workspace "2:web"; append_layout /home/USER/.config/i3/workspace-2.json'

Quelques explications. Tous ces programmes se lancent donc en automatique dès l’ouverture de ma session i3.

Outre que j’utilise Feh en mode diaporama, je l’utilise également pour changer le fond d’écran (image gnulinuxjaune.png).

Radiotray est un petit programme pour écouter la radio (webradio).
L’émulateur Terminator a son propre fichier de configuration.

Le fichier de configuration workspace-2.json sera abordé ultérieurement.

Je reviens sur Urxvt se lançant automatiquement sur l’espace de travail 1:accueil.

Tel quel, il devrait prendre 100 % de l’écran, chose que je ne veux pas. J’ai rendu cette fenêtre flottante:

  • Rendre urxvt flottant
for_window [class="URxvt" instance="urxvt"] floating enable

Il faut ensuite aller dans le fichier de configuration d’Urxvt pour indiquer les dimensions, position, etc. Donc je ne l’aborde pas.

Je rajoute qu’il est possible de rendre une fenêtre flottante avec la combinaison: mod+shift+espace.

bindsym $mod+Shift+space floating toggle

Vous pouvez déplacer cette fenêtre avec mod+shift+flèches directionnelles.
Par contre pour changer le focus, il faut utiliser la combinaison mod+espace.
Si vous avez plus d’une fenêtre flottante, une fois que vous avez utilisé mod+espace pour mettre le focus sur l’une d’elles, vous pouvez vous déplacer entre ces fenêtres flotantes avec les mêmes combinaisons que pour les “tilling” (à savoir mod+j, k, l, m ou mod+flèches directionnelles).

  • Bordures
    (non présente dans le fichier de configuration en fin de message)

Il est possible de modifier la taille des bordures de fenêtres. Le manuel officiel conseil la commande default_border pixel.
Je n’ai pas trop exploré cette possibilité.
J’ai juste testé la commande “default_border pixel 0” (zéro). De fait, les fenêtres n’avaient plus de bordures.
Puisque le côté esthétique me déplaisait, j’ai remis les valeurs par défaut. Par contre j’ai supprimé la fenêtre pour Urxvt. J’ai rajouté dans mon fichier de configuration la ligne :

`for_window [class="URxvt" instance="elinks"] border pixel 0`

Ce qui signifie que dans le fichier de configuration d’Urxvt, j’ai créé une instance nommée elinks. “Border pixel 0” (zéro) fait que je n’ai pas de fenêtres pour l’instance “elinks” de la classe “URxvt”. Alors que j’en ai une pour l’instance “urxvt” de la classe “URxvt”.
Capture d’écran “urxvt.png”

  • Application en plein écran
    (Ligne non présente dans le fichier de configuration en fin de message)

Vous savez comment basculer une fenêtre en plein écran. Le principe reste le même pour lancer une application dans ce mode:

for_window [class="URxvt" instance="ncmpcpp"] border pixel 0 fullscreen
  • Touches de raccourcis
    (Lignes non présentes dans le fichier de configuration en fin de message)

Il est possible de créer des touches de raccourcis personnalisés. Elles sont construites sur le même format.
Ici je vais l’illustrer avec les touches de contrôle du volume, sachant que j’utilise PulseAudio (d’où le “pactl”, lors de mes recherches ça semble être différent pour Alsa - probablement amixer).

bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
bindsym XF86AudioLowVolume exec --no-startup-id pactl set-sink-volume 0 -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle

Astuce : Identifier le code d’une touche avec la commande xev.

Aparté : Dans le Guide de l’utilisateur du site officiel, vous avez deux claviers vous indiquant les touches utilisées par i3. Vous pouvez vous y reporter pour éviter d’attribuer un même raccourci à deux “choses”.

La barre i3 (i3bar).

Cela permet d’afficher des informations systèmes. Ca m’est particulièrement utile avec Radiotray. En effet, ce programme se contrôle à la souris. Il faut donc que son icône apparaisse.

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
position top

J’ai positionné cette barre en haut (top). Je ne vais pas en parler dans ce tutoriel et vous renvoie sur la documentation officielle.

  • J’ai modifié la police de caractères:
#Font for window titles. Will also be used by the bar unless a different font is used in the bar {} block below.
font pango:monospace 8
  • La barre d’indication des espaces de travail/i3bar :
#Couleur du panel
colors {
background #F0C755
statusline #5C110F
separator #BF5C00

Je parle ici de la barre i3bar.
Background correspond à la couleur d’arrière plan (ici jaune)

Statusline correspond à la couleur des caractères (ici marron foncé) tel que date, heure…

Separator correspond à la couleur des barres de séparation entre les différentes informations d’i3bar (marron clair) tel qu’entre date, heure…

  • Couleur d’indication des panels
#                  border  backgr  text
focused_workspace  #BF5C00 #BF5C00 #5C110F
inactive_workspace #E2AD3B #E2AD3B #63100F
urgent_workspace   #1b1d1f #c6a78a #000000

Par panel, il s’agit des noms des espaces de travail (workspace) selon que vous êtes dessus ou pas (ayant le focus ou non).
border : couleur du contour de l’onglet de l’espace de travail.
backgr : couleur d’arrière plan de l’onglet de l’espace de travail.
text : couleur du texte (1:accueil) de l’onglet de l’espace de travail.

  • Couleur des fenêtres :
#                       border  backgr  text    indicator child_border
client.focused          #BF5C00 #BF5C00 #63100F #ffffff   #BF5C00
client.unfocused        #E2AD3B #E2AD3B #BF5C00 #484e50   #E2AD3B
client.focused_inactive #E2AD3B #E2AD3B #a1a1a1 #484e50   #E2AD3B
client.background #F0C755

Border : Bordures de la fenêtre
backgr : Couleur de fond de la barre de titre
text : Couleur du texte de la barre de titre
indicator : Je ne sais pas
child_border : Bordures de la fenêtre

A noter que Firefox est considéré comme client.focused_inactive.

Le fichier json.

Ce fichier permet, lors du lancement de la session, de positionner les fenêtres comme on le souhaite.

Le site officiel indique d’utiliser la commande i3-save-tree --workspace 1 > ~/.i3/workspace-1.json

Si je l’utilise, je ne trouve pas le contenu du fichier opérationnel. Du coup je supprime tout le contenu pour tout retaper à la main. Là aussi le fichier est sensible à la casse et tout et tout.

Pour rappel, mon propre fichier json s’intitule : workspace-2.json

Il est important d’observer qu’il incorpore le chiffre 2 signifiant qu’il s’agit de l’espace de travail numéro 2 (2:web). Ce qui signifie que j’ai tapé: i3-save-tree --workspace 2 > ~/.i3/workspace-2.json

Je vous renvoie également à l’exemple du site officiel : https://i3wm.org/docs/layout-saving.html (section 3. Editing layout files).

Notez que la lecture du fichier se fait de gauche à droite et de haut en bas.

En effet, dans mon cas, j’ouvre Firefox sur le côté gauche (60 % de l’écran, sur toute la hauteur). Dans le fichier de configuration (ci-dessous), ce sont donc les premières lignes. Cela fonctionne en “bloc” symbolisé par les accolades.
Le côté droit (donc 40 % de l’écran) est occupé en haut par Feh, et en bas par Konsole (50%). Vous pouvez voir que c’est différent dans le fichier de configuration d’exemple.

TOUS les caractères spéciaux sont importants. A savoir : (,), [, etc. Je vous parle d’expérience de devoir vérifier ligne par ligne si je n’ai pas oublié un de ces caractères.

Seul inconvénient que je n’ai pas su résoudre, c’est que si je ferme puis rouvre les trois fenêtres alors elles ne se positionnent pas comme voulu. Il me faut me déconnecter/reconnecter à la session.

Sources :

Site officiel : https://i3wm.org/

Exemples de configuration : http://dotshare.it/category/wms/i3/
Captures d’écran
accueil
web
terminator
urxvt

Fichier de configuration d’i3:

# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#

# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!

set $mod Mod4

# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 8

# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8

# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesn’t scale on retina/hidpi displays.

# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod

# start a terminal
bindsym $mod+Return exec i3-sensible-terminal

# kill focused window
bindsym $mod+Shift+a kill

# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop

# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+m focus right

# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+m move right

# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

# split in horizontal orientation
bindsym $mod+h split h

# split in vertical orientation
bindsym $mod+v split v

# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle

# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+e layout toggle split

# toggle tiling / floating
bindsym $mod+Shift+space floating toggle

# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle

# focus the parent container
bindsym $mod+q focus parent

# focus the child container
#bindsym $mod+d focus child

# switch to workspace
bindsym $mod+ampersand workspace $ws1
bindsym $mod+eacute workspace $ws2
bindsym $mod+quotedbl workspace $ws3
bindsym $mod+apostrophe workspace $ws4
bindsym $mod+parenleft workspace 5
bindsym $mod+minus workspace 6
bindsym $mod+egrave workspace 7
bindsym $mod+underscore workspace 8
bindsym $mod+ccedilla workspace 9
bindsym $mod+agrave workspace 10

# move focused container to workspace
bindsym $mod+Shift+ampersand move container to workspace $ws1
bindsym $mod+Shift+eacute move container to workspace $ws2
bindsym $mod+Shift+quotedbl move container to workspace $ws3
bindsym $mod+Shift+apostrophe move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+minus move container to workspace 6
bindsym $mod+Shift+egrave move container to workspace 7
bindsym $mod+Shift+underscore move container to workspace 8
bindsym $mod+Shift+ccedilla move container to workspace 9
bindsym $mod+Shift+agrave move container to workspace 10

# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"

# resize window (you can also use the mouse for that)
mode "resize" {
        # These bindings trigger as soon as you enter the resize mode

        # Pressing left will shrink the window’s width.
        # Pressing right will grow the window’s width.
        # Pressing up will shrink the window’s height.
        # Pressing down will grow the window’s height.
        bindsym j resize shrink width 10 px or 10 ppt
        bindsym k resize grow height 10 px or 10 ppt
        bindsym l resize shrink height 10 px or 10 ppt
        bindsym m resize grow width 10 px or 10 ppt

        # same bindings, but for the arrow keys
        bindsym Left resize shrink width 10 px or 10 ppt
        bindsym Down resize grow height 10 px or 10 ppt
        bindsym Up resize shrink height 10 px or 10 ppt
        bindsym Right resize grow width 10 px or 10 ppt

        # back to normal: Enter or Escape
        bindsym Return mode "default"
        bindsym Escape mode "default"
}

bindsym $mod+r mode "resize"

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
        status_command i3status -c ~/.config/i3/i3status.conf
	position top

#Couleur du panel
colors {
	background	#F0C755
	statusline	#5C110F
	separator	#BF5C00

#Couleur d'indication des panels
#				border		backgr		text
	focused_workspace	#BF5C00		#BF5C00		#5C110F
	inactive_workspace	#E2AD3B		#E2AD3B		#63100F
	urgent_workspace	#1b1d1f		#c6a78a		#000000
	}
}
#Couleur des fenêtres
#                       border  backgr  text    indicator       child_border
client.focused          #BF5C00 #BF5C00 #63100F #ffffff         #BF5C00
client.unfocused        #E2AD3B #E2AD3B #BF5C00 #484e50         #E2AD3B
client.focused_inactive #E2AD3B #E2AD3B #a1a1a1 #484e50         #E2AD3B

client.background       #F0C755

### Configuration personnelle ###
# Le focus ne suit pas la souris
focus_follows_mouse no

# Nom des workspaces
set $ws1 "1:accueil"
set $ws2 "2:web"
set $ws3 "3:mail"
set $ws4 "4:terminator"

# Assignation des logiciels à un espace
assign [class="^Conky$"] "1:accueil"
assign [class="^urxvt$" instance="^newsbeuter$"] "1:accueil"
assign [class="^Navigator$"] "2:web"
assign [class="^konsole$"] "2:web"
assign [class="^Thunderbird$"] "3:mail"
assign [class="^terminator$"] "4:terminator"

# Assignation de Feh au bureau principal
assign [class="^feh$"] "2:web"

# Programmes au démarrage
exec feh --bg-center '/home/USER/Images/gnulinuxjaune.png'
exec '/home/USER/.scripts/conky.sh'
exec --no-startup-id i3-msg 'exec radiotray'
exec --no-startup-id i3-msg 'workspace "1:accueil"; exec conky'
exec --no-startup-id i3-msg 'workspace "1:accueil"; exec urxvt'
exec --no-startup-id i3-msg 'workspace "2:web"; exec firefox'
exec --no-startup-id i3-msg 'workspace "2:web"; exec konsole'
exec --no-startup-id i3-msg 'workspace "3:mail"; exec thunderbird'
exec --no-startup-id i3-msg 'workspace "4:terminator"; exec terminator --layout=newsys'
exec --no-startup-id i3-msg 'workspace "2:web"; append_layout /home/USER/.config/i3/workspace-2.json'

# Lecture aléatoire d'images
exec feh -z -. -D 5 '/home/USER/Images/Vacances/'

# Rendre urxvt flottant
for_window [class="URxvt" instance="urxvt"] floating enable

Fichier de configuration json:

{
    // stacked split container with 1 children
    "layout": "stacked",
    "percent": 0.6,
    "type": "con",
    "nodes": [
        {
            "name": "firefox",
            "type": "con",
            "swallows": [
                {
                    "class": "^Firefox-esr$"
                }
            ]
        }
    ]
}

{
    // stacked split container with 2 children
    "layout": "splitv",
    "percent": 0.4,
    "type": "con",
    "nodes": [
        {
            "name": "feh",
            "percent": 0.5,
            "type": "con",
            "swallows": [
                {
                    "class": "^feh$"
                }
            ]
        },
        {
            "name": "konsole",
            "percent": 0.5,
            "type": "con",
            "swallows": [
                {
                     "class": "^konsole$"
                }
                        ]
        }
     ]
}
1 J'aime

J’adore i3.

il faut préciser que des programmes annexes sont obligatoires.

  • nitrogen pour gérer son fond d’écran.

Par contre pour les themes rien de trouver génial.

Pour remplacer dmenu, perso j’utilise rofi.

sinon très bon tuto.

Bonjour cleloup, merci pour ton retour.

Je ne considère pas que Nitrogen est obligatoire. Il permet de gérer les fonds d’écran et (de mémoire) demande un PC assez récent. Ca dépendra donc des envies de chaque utilisateur à mon sens.
J’utilise Feh car il demande peu de ressources (à ma connaissance) et je l’emploie comme lecteur d’images.

Lorsque tu parles de thèmes, j’imagine que tu fais référence au site dotshare.it ?
Je n’ai pas trouvé de thèmes sous forme de package. D’où le fait que la personnalisation se fait directement dans le fichier de configuration. Mais c’est grâce à ce site [Edit: en fait, grâce aux intervenants] que j’ai pu identifier les bonnes commandes pour mettre les couleurs aux bons endroits. Je le mets - comme mes propres fichiers de configuration ou le fichier json du site officiel - afin que les personnes intéressées puissent faire des comparaisons entre les “modèles” pour obtenir ce qu’elles veulent comme résultat final.

Je ne connaissais pas rofi. Je vais peut-être le tester car je dois refaire une installation de Debian au propre (avec Buster).

Bonne journée.

Salut,

Pas besoin de se déconnecter après une modif du fichier de config.
Tu fais ta modif, tu enregistres et tu lances un rafraîchissement: mod+maj+r , c’est instantané.

Edit: Oups, pas vu la date du dernier post. Ceci dit, l’info est toujours vraie.

Salut,

relance de la discussion pour une bonne cause, sur le site d’arpinux, on nous offre la traduction complète du manuel d’i3:
https://nakedeb.arpinux.org/wikii3wm.html#userguide