Sway (Italiano)

From ArchWiki

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: Partial translation, last edit 2021-05-02 (Discuss in Talk:Sway (Italiano))

sway è un compositor per Wayland concepito per essere completamente compatibile con i3. Secondo il sito ufficiale:

Sway è un compositor per Wayland di tipo tiling ed un perfetto sostituto di i3 per X11. Funziona con la tua configurazione esistente di i3 e supporta tutte le funzionalità di i3 più qualche extra.

Installazione

sway può essere installato con il pacchetto sway . La versione di sviluppo può essere installata tramite wlroots-gitAUR e sway-gitAUR. E' consigliabile di aggiornare wlroots quando aggiorni sway, a causa della loro stretta interdipendenza.

Nota: I driver proprietari non sono supportati, incluso NVIDIA.

E' consigliabile anche installare swaylock e swayidle per bloccare lo schermo e gestire l'inattività.

Il launcher per le applicazioni predefinito è dmenu ed il terminale predefinito è alacritty. Prima di avviare sway è consigliato installarli o configurare un nuovo launcher e terminale nella configurazione.

Avvio

Manuale

Per avviare Sway, digita semplicemente sway nella tua console Linux.

Automaticamente al TTY login

Proprio come X, Sway può essere avviato aggiungendolo al tuo file di inizializzazione della shell (visita Command-line shell#Login shell)

if [ -z $DISPLAY ] && [ "$(tty)" == "/dev/tty1" ]; then
  exec sway
fi

Per più informazioni visita Xinit#Autostart X at login

Da un display manager

Nota: Sway non supporta ufficialmente alcun display manager.[1]

La sessione sway si trova in /usr/share/wayland-sessions/sway.desktop. E' riconosciuta automaticamente dai moderni display manager come It is automatically recognized by modern display managers like GDM and SDDM.

E' anche possibile configurare sway come un servizio utente systemd tramite il display manager.

Alternativamente puoi anche configurare un display manager testuale, visita Display manager (Italiano)#Testuali.

Configurazione

Se utilizzi già i3 puoi copiare il tuo file di configurazione in ~/.config/sway/config e dovrebbe funzionare senza nessuna modifica aggiuntiva. Alternativamente, puoi copiare il file di configurazione di esempio da /etc/sway/config in ~/.config/sway/config. Consulta sway(5) per più informazioni sulla configurazione.

Mappatura tastiera

Sway si avvia con la mappatura predefinita US QWERTY. Per configurare l'input:

~/.config/sway/config
input * {
    xkb_layout "us,de,ru"
    xkb_variant "colemak,,typewriter"
    xkb_options "grp:win_space_toggle"
}

input <identifier> xkb_model "pc101"

Più dettagli disponibili in xkeyboard-config(7) e sway-input(5).

La mappatura tastiera può essere configurata anche attraverso le variabili d'ambiente (XKB_DEFAULT_LAYOUT, XKB_DEFAULT_VARIANT, etc.) quando si avvia sway sway. Il file di configurazione ha la precedenza sulle variabili d'ambiente.

Ritardo della digitazione e velocità

Per cambiare il ritardo della digitazione digitazione e velocità, aggiungi le seguenti righe nella sezione input:

~/.config/sway/config
input <identifier> repeat_delay 300
input <identifier> repeat_rate 30

Barra di stato

sway contiene la barra di stato swaybar che gira in un ambiente Wayland puro. swaybar può invocare script shell o altri programmi per mostrare le informazioni nella barra di stato. Consulta sway-bar(5) e swaybar-protocol(7) per dettagli.

Suggerimento: waybar è un'alternativa alla barra di stato predefinita (swaybar).

Installare i3status è un'opzione per avare una barra pratica predefinita sotto Wayland. Tutto ciò che devi fare è aggiungere le seguenti righe alla fine del tuo file di configurazione sway:

~/.config/sway/config
bar {
    status_command i3status
}

Se vuoi abilitare l'output colorato per i3status, è necessario aggiustare le seguenti parti nella configurazione di i3status:

~/.config/i3status/config
general {
    colors = true
    interval = 5
}

Sfondo

Lo sfondo il sway è gestito da un programma dedicato distribuito separatamente come swaybg. E' necessario per avviare il comando output.

La seguente riga, che può essere aggiunta alla fine del tuo file di configurazione sway, imposta un'immagine di sfondo su tutti i display

The following line, which can be appended at the end of your sway configuration, sets a background image on all displays (output individua tutti i display tramite "*"):

~/.config/sway/config
output "*" bg /path/to/image fill

Il nome del file e il percorso deve essere adattato a seconda della posizione del file immagine.

I colori a tinta unita possono essere impostati tramite:

output * bg #000000 solid_color

Puoi usare azoteAUR come internafaccia GTK3 per swaybg.

Dispositivi di input

E' possibile configurare separatamente i dispositivi di input. per Esempio per abilitare il tap-to-click e lo scorrimento naturale per tutti i touchpad:

~/.config/sway/config
input type:touchpad {
    tap enabled
    natural_scroll enabled
}

Per configurare invece un determinato touchpad, usa swaymsg -t get_inputs per ottenere l'identificatore e usalo invece di type:touchpad.

Nota: L'output del comando swaymsg -t get_inputs potrebbe contenere escape symbols come "\" (e.g. "2:14:ETPS\/2_Elantech_Touchpad"). Questi devono essere rimossi.

Più documentazione e opzioni come i profili di accelerazione possono essere trovati in sway-input(5).

HiDPI

Per impostare la tua scala di fattori per il display usa ai comando output nel file di configurazione. La scala di fattori può essere frazionale, ma solitamente corrisponde a 2 negli schermi HiDPI.

~/.config/sway/config
output <name> scale <factor>

Puoi scoprire il nome del display attraverso il seguente comando:

$ swaymsg -t get_outputs

Scorciatoie personalizzate

Gli Special keys della tua tastiera possono essere usati per eseguire comandi, per esempio per controllare il volume, la luminosità dello schermo o i player multimediali:

~/.config/sway/config
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym XF86MonBrightnessUp exec brightnessctl set +5%
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym XF86Search exec bemenu-run

Consulta PulseAudio#Keyboard volume control, Advanced Linux Sound Architecture#Keyboard volume control, Backlight#Backlight utilities e MPRIS per ulteriori dettagli e strumenti alternativi.

Per permettere ad una scorciatoia di funzionare a schermo bloccato aggiungi il parametro --locked a bindsym.

bindsym --locked XF86AudioPlay exec playerctl play-pause
Suggerimento: wevAUR è uno strumento che offre funzionalita simili a xorg-xev, ma su Wayland.
Nota: Systemd gestire i tasti speciali come il tasto di accensione e l'aperture a chiusura dello schermo e potrebbe entrare in conflitto con sway. Consulta loginctl(1) e logind.conf(5) per dettagli su come configurarli in systemd.

Barre di indicazione grafiche

Può essere utile mostrare alcune impostazioni come luminosità e volume attraverso una barra grafica quando vengono modificate. Una buona opzione per avere questa funzionalità in Sway è wobAUR (alternativamente wob-gitAUR), che fornisce parte delle funzionalità del famoso strumento per X xobAUR ma con implementazione nativa Wayland. Consulta il sito del progetto per esempi d'utilizzo.

Inattività

Sway ha un demone di gestione dell'inattività dedicato chiamato chiamato swayidle. Ci sono differenti modi di avviarlo e configurare il demone. Il più semplice è usare il file di configurazione di sway stasso. swayidle accetta una moltitudine di argomenti per gestire gli eventi come timeout (inattività), resume (ripresa),before-sleep etc. Consulta swayidle(1) per maggiori dettagli e ulteriori spiegazioni sugli eventi. Ad ogni evento può essere associata un'azione. Per assegnare più azioni ad un evento semplicemente duplica l'evento.

Con il seguente swayidle blocca lo schermo dopo 30 minuti e lo spegne 5 secondi dopo:

~/.config/sway/config
exec swayidle -w \
	timeout 1800 'swaylock' \
	timeout 1805 'swaymsg "output * dpms off"' \
	resume 'swaymsg "output * dpms on"'

Per spegnere un schermo bloccato molto prima, per esempio dopo 10 secondi, esegui grep sulla lista dei processi dal gestore d'inattività ed esegui swaymsg "output * dpms off" come

timeout 10 'if pgrep -x swaylock; then swaymsg "output * dpms off"; fi'

Per mettere in pausa i file multimediali in riproduzione, aggiungi le seguenti istruzioni al comando swayidle:

before-sleep 'playerctl pause'
before-sleep 'swaylock'
Nota: Systemd gestisce anche l'inattività e può andare in conflitto con quelle configurate in sway. Consulta loginctl(1) and logind.conf(5) per dettagli su come configurarle.

Finestre fluttuanti

Per abilitare le finestre fluttuanti o le assegnazioni di finestre, apri l'applicazione e poi usa gli attributi app_id, class, instance e title per abilitare le finestre fluttuanti/assegnazioni di finestre. Il seguente comando elencherà le proprietà di tutte le finestre aperte:

$ swaymsg -t get_tree

Per ottenere solo l' app_id di tutte le finestre aperte usare:

$ swaymsg -t get_tree | grep "app_id"

Per ottenere l' app_id della finestra focalizzata usare:

$ swaymsg -t get_tree | grep "app_id":

$ swaymsg -t get_tree | jq -r '..|try select(.focused == true)'

Se l' app_id è nullo per alcune finestre, potresti dover usare gli attributi class e/o instance per abilitare le assegnazioni della modalità per la finestra fluttuante. Puoi cercare nell'output e creare regole per le tue finestre.

~/.config/sway/config
for_window [app_id="galculator"] floating enable
assign [class="firefox"] -> 3
assign [class="^Urxvt$" instance="^htop$"] -> 9

Questo è simile all'uso di xorg-xprop per trovare gli attributi class o wm_name in X11.

Clipboard

Merge-arrows-2.pngThis article or section is a candidate for merging with Clipboard.Merge-arrows-2.png

Notes: Non specifico di Sway. (Discuss in Talk:Sway (Italiano))

Per impostazione predefinita, la clipboard viene svuotata ogni volta che una finestra viene chiusa. Questo può essere un comportamento predefinito sorprendente.

Un "clipboard manager" deve essere installato per rendere il contenuto degli appunti condiviso tra le finestre.

Un esempio di gestore degli appunti, progettato per Wayland, è clipman, che può essere installato da clipmanAUR o clipman-gitAUR.

Per avviare clipman con Sway, aggiungete la seguente linea al vostro file di configurazione:

~/.config/sway/config
exec wl-paste -t text --watch clipman store

Xresources

Copia ~/.Xresources in ~/.Xdefaults per usarle in Sway.

XWayland

Vedere Wayland#XWayland per i dettagli ed una panoramica dei pacchetti disponibili.

L'uso di XWayland è abilitato di default.

Se vuoi disabilitare completamente XWayland ed eseguire una sessione Wayland "pura" imposta la seguente chiave di configurazione per disattivare l'uso di XWayland:

~/.config/sway/config
xwayland disable
Nota: Alcuni programmi hanno bisogno di speciali variabili d'ambiente o opzioni di configurazione per funzionare nativamente sotto Wayland ed altri programmi (incluse molte applicazioni proprietarie) non supportano affatto Wayland. Attualmente si raccomanda di mantenere XWayland attivo in modo che le applicazioni legacy possano essere utilizzate.

Trucchi e consigli

Abilita CapsLock/NumLock

Abilitate il capslock e/o il numlock aggiungendo le seguenti linee alla vostra configurazione di sway

~/.config/sway/config
input * xkb_capslock enable
input * xkb_numlock enable
Nota: L'abilitazione di queste opzioni può causare il crash di Firefox quando si ricarica il file sway config: Bugzilla 1652820

Layout attuale della tastiera

Il layout corrente della tastiera può essere recuperato come segue, dove kbd_identifier deve essere sostituito con l'identificatore della tua tastiera:

$ swaymsg -t get_inputs | jq -r '.[] | select(.identifier == "kbd_identifier") | .xkb_active_layout_name'

Commutazione della retroilluminazione

Cattura e condivisione dello schermo

Regolazione della temperatura del colore

Controlla swaynag con la tastiera

Cambiare il tema e la dimensione del cursore

Gestire i demoni specifici di Sway con systemd

Vedi anche