Guida alla configurazione di Sway
|
Questa pagina fornisce una breve panoramica dei dettagli di configurazione specifici per Fedora, comuni sia allo Sway Spin basato su pacchetti che alla variante Sway Atomic. Le differenze sostanziali verranno evidenziate. |
Se stai cercando risorse più generali, consulta:
-
man pages:
sway(5)sway-bar(5)sway-input(5)sway-output(5) -
Guida utente di i3 — sebbene sia scritta perhttps://i3wm.org/docs/userguide.html[ i3, tutti i concetti fondamentali sono validi anche per Sway.
Profili di configurazione
Il pacchetto Sway in Fedora delega la maggior parte delle dipendenze e la proprietà del file di configurazione ai sottopacchetti sway-config-*. Questo ci permette di distribuire diversi profili di configurazione con set differenti di dipendenze runtime.
I seguenti pacchetti profilo sono attualmente disponibili in Fedora:
-
sway-config-upstream - la configurazione originale (upstream) così come viene fornita con i sorgenti di Sway. Le uniche modifiche consentite al file di configurazione di questo profilo sono gli adattamenti per le dipendenze attualmente non disponibili in Fedora.
-
sway-config-minimal - configurazione minima con l’esclusione di tutte le dipendenze facoltative. Il profilo è stato creato per server headless, container e l’utilizzo in buildroot. È inoltre adatto per creare un’installazione estremamente minimale da zero.
-
sway-config-fedora - configurazione personalizzata per Fedora Sway Spin.
I pacchetti sono mutuamente esclusivi ed è necessario che ne sia presente uno. Quello installato di default con`dnf install sway`-config-upstream, mentre quello che verrà installato con lo Spin di Sway o con il gruppo Sway Desktop Environment è sway-config-fedora.
È possibile selezionare il profilo con il seguente comando:
$ sudo dnf swap sway-config sway-config-upstream
$ sudo dnf swap sway-config sway-config-minimal
$ sudo dnf swap sway-config sway-config-fedora
Il comando sostituirà il file predefinito /etc/sway/config e applicherà il nuovo set di dipendenze. I pacchetti non utilizzati dal nuovo profilo verranno rimossi automaticamente.
L’incantesimo corrispondente per Sway Atomic e altre immagini Sway personalizzate è:
$$sudo rpm-ostree override remove sway-config --install sway-config-upstream$$
Tieni presente, tuttavia, che ciò non rimuove le dipendenze del profilo originale dal layer di base di un deployment.
Configurazione di Fedora
sway-config-fedora contiene la configurazione predefinita per Fedora Sway Spin. È basato sulla configurazione predefinita di Sway con alcuni miglioramenti dell’esperienza utente e modifiche mirate.
La maggior parte delle aggiunte è implementata sotto forma di frammenti di configurazione standalone memorizzati in /usr/share/sway/config.d/ e caricati automaticamente dal file di configurazione principale. La configurazione dell’ambiente e l’intercettazione dei log sono invece implementate nello script wrapper /usr/bin/start-sway.
Variabili d’ambiente
Se stai utilizzando un Display Manager compatibile (GDM o SDDM), dovresti essere in grado di regolare l’ambiente iniziale per Sway utilizzando una configurazione di sistema in /etc/sway/environment o una configurazione per utente in /.config/`/.config/sway/environment`ili impostate nella configurazione utente sovrascrivono le variabili corrispondenti impostate a livello di sistema.
Per saperne di più, consulta i commenti e gli esempi in https://gitlab.com/fedora/sigs/sway/sway-config-fedora/-/blob/fedora/sway/environment`/etc/sway/environment`].
Sezioni
I frammenti di configurazione (snippets) che forniamo sono raggruppati nelle seguenti sezioni:
- 50-59 (
50-rules-*.conf) -
Regole per le finestre
for_window,assigne configurazioni correlate). - 60-69
60-bindings-*.conf,65-mode-*.conf) -
Scorciatoie da tastiera e modalità di associazione.
- 90-94 (
90-*.conf) -
Applicazioni di sistema: barre, daemon inattivi e altri componenti.
- 95-99 (
95-*.conf) -
Applicazioni ad avvio automatico.
Override e precedenza di caricamento
La configurazione di Fedora<del> e</del> sfrutta indebitamente i dettagli di implementazione del parser di configurazione di Sway ([https://man7.org/linux/man-pages/man3/wordexp.3p.html](wordexp(3p)) per implementare un meccanismo di sovrascrittura (overrides) per gli snippet.
La priorità aumenta passando dalla configurazione del pacchetto a quella di sistema, fino alle directory di configurazione dell’utente:
-
/usr/share/sway/config.d/*.conf -
/etc/sway/config.d/*.conf -
$XDG_CONFIG_HOME/sway/config.d/*.conf`~/.config/sway/config.d/*.conf`
Anche le inclusioni sono ordinate per nome file in tutte le directory.
Creando un file con lo stesso nome in /etc/sway/config.d, costringerai il preprocessore della configurazione a ignorare il frammento corrispondente presente in /usr`e a caricare quello in/etc`. Allo stesso modo, il frammento di configurazione proveniente dalla home directory prevale sulle posizioni precedenti.
Per dirla in modo ancora più semplice: immagina il file di configurazione della distribuzione`/usr/share/sway/config.d/90-bar.conf`che imposta waybar`come barra di stato. Se desideri impedire l’avvio di `waybar, puoi creare un file vuoto nella tua home directory:
$ mkdir -p ~/.config/sway/config.d
$ touch ~/.config/sway/config.d/90-bar.conf
Se desideri utilizzare un’altra barra, ti basta aggiungere del contenuto al file. Ad esempio, copia la sezione della barra predefinita dalla configurazione originale di Sway:
$ mkdir -p ~/.config/sway/config.d
$ cat >~/.config/sway/config.d/90-bar.conf <<EOF
## Leggi `man 5 sway-bar` per ulteriori informazioni su questa sezione.
bar {
position top
## Quando lo status_command stampa una nuova riga su stdout, swaybar si aggiorna.
## L'impostazione predefinita mostra solo la data e l'ora correnti.
status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
colors {
statusline #ffffff
background #323232
inactive_workspace #32323200 #32323200 #5c5c5c
}
}
EOF
Troubleshooting
A volte è utile sapere quale sia l’aspetto effettivo della configurazione caricata da Sway. Esistono due modi per eseguirne il debug:
-
Esegui la convalida della configurazione di Sway:
$ sway --debug --validate [--config /percorso/della/configurazione]$ -
Controlla i file intermedi generati dallo script di inclusione stratificato
$ less $XDG_RUNTIME_DIR/sway/layered-include-*.conf$
Want to help? Learn how to contribute to Fedora Docs ›