Dotfiles_ArchAP/docs/desktop.md

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.