Panduan Konfigurasi Sway

Halaman ini memberikan gambaran singkat tentang detail konfigurasi yang spesifik untuk Fedora, dan berlaku untuk keduanya yaitu Sway Spin berbasis paket maupun varian Sway Atomic. Perbedaan penting akan disorot.

Jika Anda mencari sumber daya yang lebih umum, silakan periksa:

Profil konfigurasi

Paket Sway di Fedora menyerahkan sebagian besar dependensi dan kepemilikan file konfigurasi ke subpaket sway-config-*. Ini memungkinkan kami untuk menyertakan profil konfigurasi yang berbeda dengan kumpulan dependensi runtime yang berbeda.

Paket profil berikut saat ini tersedia di Fedora:

  • sway-config-upstream - konfigurasi upstream yang disertakan dalam sumber kode Sway. Satu-satunya perubahan yang diperbolehkan pada file konfigurasi profil ini adalah penyesuaian untuk dependensi yang saat ini tidak tersedia di Fedora.

  • sway-config-minimal - konfigurasi minimal tanpa dependensi opsional apa pun. Profil ini dibuat untuk server tanpa antarmuka grafis, kontainer, dan penggunaan buildroot. Profil ini juga cocok untuk membuat instalasi yang sangat minimal dari awal.

  • sway-config-fedora - konfigurasi khusus untuk Fedora Sway Spin.

Paket-paket tersebut bersifat saling eksklusif, dan salah satunya harus ada. Yang diinstal secara default dengan dnf install sway adalah sway-config-upstream dan yang akan diinstal dengan grup Sway Spin/Sway Desktop Environment adalah sway-config-fedora.

Anda dapat memilih profil dengan perintah berikut:

$ sudo dnf swap sway-config sway-config-upstream
$ sudo dnf swap sway-config sway-config-minimal
$ sudo dnf swap sway-config sway-config-fedora

Perintah ini akan mengganti file /etc/sway/config default dan menerapkan kumpulan dependensi baru. Paket yang tidak digunakan oleh profil baru akan dihapus secara otomatis.

Perintah yang sesuai untuk Sway Atomic dan image Sway kustom lainnya adalah:

$ sudo rpm-ostree override remove sway-config --install sway-config-upstream

Namun perlu diperhatikan, perintah ini tidak menghapus dependensi profil asli dari lapisan dasar sebuah deployment.

Konfigurasi Fedora

sway-config-fedora berisi konfigurasi default untuk Fedora Sway Spin. Ini dibangun di atas konfigurasi Sway default dengan beberapa peningkatan kenyamanan dan perubahan yang bersifat opinionated.

Sebagian besar tambahan diimplementasikan sebagai cuplikan konfigurasi mandiri yang disimpan di /usr/share/sway/config.d/ dan dimuat secara otomatis dari file konfigurasi utama. Konfigurasi lingkungan dan intersepsi logging diimplementasikan dalam skrip pembungkus /usr/bin/start-sway.

Variabel lingkungan

Jika Anda menggunakan Display Manager yang kompatibel (GDM atau SDDM), Anda seharusnya dapat menyesuaikan lingkungan awal untuk Sway menggunakan konfigurasi seluruh sistem di /etc/sway/environment atau konfigurasi per pengguna di ~/.config/sway/environment. Variabel yang ditetapkan dalam konfigurasi pengguna akan menimpa variabel yang cocok yang ditetapkan di seluruh sistem.

Silakan periksa komentar dan contoh di /etc/sway/environment untuk mempelajari lebih lanjut.

Bagian-bagian

Cuplikan konfigurasi yang kami sediakan dikelompokkan ke dalam bagian-bagian berikut:

50-59 (50-rules-*.conf)

Aturan jendela (for_window, assign, dan konfigurasi terkait).

60-69 (60-bindings-*.conf, 65-mode-*.conf)

Pintasan tombol dan mode binding.

90-94 (90-*.conf)

Aplikasi sistem: bar, daemon idle, dan komponen lainnya.

95-99 (95-*.conf)

Aplikasi yang dijalankan otomatis saat startup.

Penimpaan dan urutan prioritas pemuatan

Konfigurasi Fedora abmenggunakan detail implementasi dari parser konfigurasi Sway (wordexp(3p)) untuk mengimplementasikan mekanisme penimpaan bagi cuplikan konfigurasi.

Prioritas meningkat dari konfigurasi yang dikemas ke direktori konfigurasi seluruh sistem dan konfigurasi pengguna:

  • /usr/share/sway/config.d/*.conf

  • /etc/sway/config.d/*.conf

  • $XDG_CONFIG_HOME/sway/config.d/*.conf (default ke ~/.config/sway/config.d/*.conf)

Include juga diurutkan berdasarkan nama file di semua direktori.

Dengan membuat file dengan nama yang sama di /etc/sway/config.d, Anda akan memaksa preprocessor konfigurasi untuk mengabaikan cuplikan yang sesuai dari /usr dan memuat yang dari /etc. Demikian pula, cuplikan konfigurasi dari direktori home akan menang atas lokasi sebelumnya.

Untuk lebih sederhananya: bayangkan file konfigurasi distribusi /usr/share/sway/config.d/90-bar.conf yang menetapkan waybar sebagai status bar. Jika Anda ingin mencegah waybar dari memulai, Anda dapat membuat file kosong di direktori home Anda:

$ mkdir -p ~/.config/sway/config.d
$ touch ~/.config/sway/config.d/90-bar.conf

Jika Anda ingin menggunakan bar lain, Anda hanya perlu menambahkan beberapa konten ke file tersebut. Misalnya, salin bagian bar default dari konfigurasi Sway upstream:

$ mkdir -p ~/.config/sway/config.d
$ cat >~/.config/sway/config.d/90-bar.conf <<EOF
## Read `man 5 sway-bar` for more information about this section.
bar {
    position top

    ## When the status_command prints a new line to stdout, swaybar updates.
    ## The default just shows the current date and time.
    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

Pemecahan Masalah

Terkadang berguna untuk mengetahui bagaimana tampilan konfigurasi yang dimuat oleh Sway sebenarnya. Ada dua cara untuk men-debug hal tersebut:

  • Jalankan validasi konfigurasi sway:

    $ sway --debug --validate [--config /path/to/config]
  • Periksa file perantara yang dihasilkan oleh skrip include berlapis

    $ less $XDG_RUNTIME_DIR/sway/layered-include-*.conf