72 lines
2.8 KiB
Markdown
72 lines
2.8 KiB
Markdown
# Desktop
|
|
|
|
## Stack canonique
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
G[greetd] --> T[tuigreet]
|
|
T --> U[UWSM]
|
|
U --> S[Sway]
|
|
S --> B[Swaybar]
|
|
B --> I[i3status-rs]
|
|
S --> M[Mako]
|
|
S --> W[Wofi]
|
|
S --> L[Swaylock]
|
|
S --> C[Cliphist]
|
|
S --> K[Kitty]
|
|
```
|
|
|
|
| Composant | Responsabilité | Propriété |
|
|
| --- | --- | --- |
|
|
| greetd | gestionnaire de connexion système | installé/configuré par `arch-system` |
|
|
| tuigreet | interface terminal de greetd | paquet système ; commande référencée par greetd |
|
|
| UWSM | cycle de vie de la session Wayland | package Stow `uwsm` et paquet système |
|
|
| Sway | compositeur et configuration de session | package `sway` |
|
|
| Swaybar | barre native de Sway | bloc `bar` de la configuration Sway |
|
|
| i3status-rs | contenu et modules de la barre | package `i3status-rust` |
|
|
| Mako | notifications Wayland | package `mako` |
|
|
| Wofi | lanceur d'applications | package `wofi` |
|
|
| Swaylock | verrouillage | package `swaylock`, appelé par les bindings et swayidle |
|
|
| Cliphist | historique texte/image du presse-papiers | package `cliphist` et unités user |
|
|
| Kitty | terminal principal | package `kitty` |
|
|
|
|
La configuration `uwsm/.config/uwsm/default-id` sélectionne `sway.desktop`.
|
|
La référence greetd de `.assets/greetd/config.toml` démarre la chaîne système,
|
|
mais sa copie dans `/etc` ne relève pas des dotfiles.
|
|
|
|
## Session Sway
|
|
|
|
Le package `sway` sépare la configuration principale, les bindings, les règles,
|
|
le style, la barre, l'autostart et les scripts. Swaybar exécute :
|
|
|
|
```text
|
|
i3status-rs ~/.config/i3status-rust/config.toml
|
|
```
|
|
|
|
Les scripts locaux sous `~/.config/sway/scripts` restent propres à la session.
|
|
Les commandes sous `~/.local/bin` sont fournies par le package `bin` ou, quand
|
|
cela est documenté, par un projet externe.
|
|
|
|
## Services de session
|
|
|
|
- `cliphist-text.service` et `cliphist-image.service` observent `wl-paste` ;
|
|
- `swayidle.service` verrouille, éteint/rallume les sorties et suspend les
|
|
lecteurs selon les délais configurés ;
|
|
- `wlsunset.service` gère la température de couleur ;
|
|
- `gnome-keyring-daemon.service` et `ssh-agent.service` fournissent les agents
|
|
de session ;
|
|
- Mako est le fournisseur de notifications retenu.
|
|
|
|
Les unités attachées à `graphical-session.target` ne remplacent pas UWSM :
|
|
elles consomment le cycle de vie de la session qu'UWSM expose à systemd user.
|
|
|
|
## Dépendances visibles
|
|
|
|
Les bindings Sway appellent notamment `pactl`, `brightnessctl`, `grim`,
|
|
`slurp`, `wl-copy`, `wofi`, `swaylock`, `yazi` et des scripts de
|
|
`~/.local/bin`. Les programmes spécifiques à des projets ou à la machine sont
|
|
inventoriés dans [`external-tools.md`](../.assets/external-tools.md).
|
|
|
|
Les anciens choix Mango, Waybar, SwayNC et Wlogout ne font pas partie de la
|
|
stack supportée. Leur éventuelle présence comme paquet installé ne leur donne
|
|
aucun rôle dans l'architecture actuelle.
|