nakedSway -- sway sur nakedeb

afin de découvrir sway dans une session préconfigurée, je vous propose nakedsway.
ce paquet contient tous les fichiers de configuration nécessaires pour une prise en main rapide de sway/wayland à la manière de nakedfluxbox et nakedi3wm.

nakedsway en action
nakedSway en action

nakedsway est disponible dans les dépôts nakedeb depuis la version 1.5.5.
pour l'instant, la session sway n'est pas intégrée par défaut sur nakeDeb mais les outils nakedtools sont déjà adaptés pour une session de type wayland.

cette page n'est pas une présentation de sway, le site officiel s'en charge très bien. vous pouvez aussi consulter le wiki debian. mais pour faire simple, sway est l'équivalent de i3 pour wayland, le successeur de x11.

Sommaire :

sway & waybar : les pages de man indispensables

sway est très bien documenté depuis ses nombreuses pages de man (en anglais) :

la session sway de nakedsway utilise waybar pour l'affichage des espaces de travail et des informations par défaut. une alternative utilisant un script bash (infosbar) est disponible dans le paquet. vous pouvez également utiliser i3status comme générateur.
tout comme sway, waybar est parfaitement documenté via ses pages de man. man waybar vous renseignera sur la barre de statut et sa configuration. vous trouverez en fin de manuel la liste des manuels dédiés à chaque modules (+25 modules).

nakedsway : installation

nakeDeb est une Debian, l'installation se déroule de façon classique :

sudo apt update && sudo apt install nakedsway

cette commande installera :

les différents fichiers de configuration, scripts et autres thèmes sont placés dans /usr/share/nakedsway/ et dans /etc/skel/.config/ afin d'être ajoutés au dossier personnel de tout nouvel utilisateur.
une fois nakedsway installé, et avant de lancer votre session, copier les fichiers adéquates dans votre dossier personnel :

mkdir -p ~/.config/sway ~/.config/swaylock ~/.config/waybar ~/.config/foot
cp -u -R /etc/skel/.config/sway/* ~/.config/sway/
cp -u -R /etc/skel/.config/swaylock/* ~/.config/swaylock/
cp -u -R /etc/skel/.config/waybar/* ~/.config/waybar/
cp -u -R /etc/skel/.config/foot/* ~/.config/foot/

note : vous pouvez aussi télécharger le paquet nakedsway sans l'installer et piocher dans les différents fichiers après avoir décompressé le paquet comme une archive traditionnelle.

nakedsway : configuration de sway

la configuration de sway passe par l'édition de son fichier principal ~/.config/sway/config et des fichiers annexes situés généralement dans ~/.config/sway/config.d/. si vous éditez des fichiers annexes, prenez soin de les inclure (grâce à include /path/to/file) dans le fichier principal comme c'est le cas par défaut sur nakedsway.
si vous choisissez l'option d'un fichier unique de configuration, considérez chaque fichier de conf annexe décrit ici comme une section du fichier sway/config.

voici la liste des fichiers intégrés pour sway :

tree ~/.config/sway/
sway/
├── config > le fichier de configuration principal
├── config.d
│   ├── 00-vars.conf > déterminer les variables utilisées dans les autres fichiers
│   ├── 01-outputs.conf > gestion des écrans
│   ├── 02-inputs.conf > gestion clavier/souris/touchpad
│   ├── 03-statusbar.conf > configurer la barre statut, gérée par waybar sur nakedsway
│   ├── 04-autostart.conf > lancer services/apps au démarrage de la session
│   ├── 05-scratchpad.conf > configurer le terminal flottant en pop-up
│   ├── 06-theme.conf > look & feel
│   ├── 07-window-rules.conf > règles spéciales pour clients spéciaux
│   ├── 08-launchers.conf > raccourcis clavier pour les applications
│   ├── 09-controls.conf > raccourcis clavier pour sway
│   └── 10-modess.conf > configuration des modes pour sway
├── fr
│   ├── fr-kbd.conf > la configuration des raccourcis pour un clavier azerty/fr
│   ├── fr-bepo-kbd.conf > la configuration des raccourcis pour un clavier bepo/fr
│   └── fr-apple-kbd.conf > la configuration des raccourcis pour un clavier apple/fr
└── scripts
    ├── import-gsettings > importer les préférences GTK
    ├── inactive-windows-transparency.py > opacité des fenêtres inactives
    ├── infosbar > script bash pour la barre de statut (option)
    ├── screentemp > script pour la coloration de l'écran
    ├── wallrdm > script pour le fond d'écran aléatoire
    └── window-switcher > script pour naviguer entre les fenêtres ouvertes

petites explications sur le rôle de chaque fichier/section. n'oubliez pas de les consulter et les modifier selon vos préférences avant de lancer votre session :

nakedsway : configuration de waybar

waybar prend en charge la barre de statut sur sway comme polybar le fait sur i3wm par défaut.
waybar fonctionne de façon modulaire : une série de modules à activer pour afficher les informations désirées. la configuration passe par un fichier déclaratif des modules (~/.config/waybar/config) accompagné d'un fichier de style en CSS (~/.config/waybar/style.css). vous pouvez créer vos modules via des scripts (~/.config/waybar/scripts) et utiliser la syntaxe JSON pour changer la couleur, l'info-bulle ou les actions au clic.
nakedsway intègre tout le nécessaire pour découvrir facilement waybar et ses différentes possibilités : la plupart des modules communs sont activés et devraient fonctionner out-of-the-box. il vous suffit de dé/commenter (avec //) et/ou déplacer les modules désirés dans le fichier de configuration, section "Modules order".
les modules déroulent ensuite leurs propriétés dans le même fichier, classés par ordre alphabétique sur nakedsway mais c'est pour faciliter la recherche, vous faites bien comme vous voulez, pensez cependant à bien respecter la syntaxe car à la moindre virgule manquante, waybar plantera.
pour tester avec de confirmer, vous pouvez lancer pkill -9 waybar && waybar sans relancer votre session sway. lorsque le résultat vous convient, fermez votre terminal et relancer sway avec Alt+Shit+r.
comme pour sway, waybar est particulièrement bien documenté via ses pages de man : man waybar est ton ami :)

nakedsway : configuration de swaylock

swaylock est l'outil natif pour verrouiller votre écran. il se rapproche graphiquement de i3lock avec un disque de couleur pour visualiser les touches frappées lors de la saisie du mot de passe. cet outil accepte les options en ligne de commande (man swaylock pour une liste exhaustive) mais peut aussi se configurer depuis un fichier présent par défaut sur nakedsway.
pour configurer swaylock, éditez le fichier ad hoc ~/.config/swaylock/config. les options sont assez intuitives sauf pour les couleurs du disque qui sont au format #RRGGBBAA... mais j'ai posé une table de conversion dans la cave pour vous aider à personnaliser votre écran de verrouillage.

nakedsway : configuration de foot

foot est le terminal par défaut sur nakedsway. il peut fonctionner en mode server/client pour économiser la mémoire. sa configuration passe par le fichier dédié ~/.config/foot/foot.ini.
par défaut, c'est le colorscheme NordTheme qui est utilisé, avec une légère transparence. pour les grandes résolutions, je vous conseille de modifier la taille de la police (Hack 7) et la taille de la fenêtre par défaut, qui détermine la taille du terminal ouvert dans le scratchpad en début de session.

nakedsway : lancement

la session sway/wayland est reconnue par lightdm, votre gestionnaire de connexion sur nakedeb. une fois nakedsway installé et vos fichiers configurés, quittez votre session puis choisissez "sway" dans la liste des sessions de lightdm. cf wiki nakedeb.

pour quitter sway, utilisez le raccourci par défaut Alt+Shift+e qui lancera le nakedquit comme sur les autres sessions.

nakedsway : utilisation

important : l'utilisation de sway dépend de votre configuration. les indications listées ici reprennent la configuration par défaut fournie avec nakedsway.

pour commencer, les raccourcis sont quasi identiques à ceux utilisés sur la session i3wm : vous ne serez pas dépaysés si vous utilisez déjà un tiling.
voici les principaux raccourcis utilisés pour contrôler sway ou lancer des applications sur une session nakedsway :

wayland vs x11

un petit récapitulatif des outils utilisés sur les différentes sessions :

┌─────────────────┬───────────────────┬────────────────┐
│ outils/sessions │ sway/wayland      │ i3/fluxbox/x11 │
├─────────────────┼───────────────────┼────────────────┤
│autostart        │ dex               │ fbautostart    │
│terminal         │ foot              │ rxvt-unicode   │
│économiseur      │ swayidle          │ acpi/dpms      │
│verrouillage     │ swaylock          │ i3lock         │
│composite        │ natif             │ picom/eyecandy │
│fond d'écran     │ swaybg/nakedwalls │ feh/nakedwalls │
│couleur d'écran  │ wlsunset          │ redshift       │
│capture d'écran  │ grim              │ scrot          │
│visionneuse      │ nsxiv             │ nsxiv          │
│menu automatique │ rofi              │ rofi/fluxmenu  │
└─────────────────┴───────────────────┴────────────────┘

reset de la configuration utilisateur

si vous avez modifié votre configuration et que vous souhaitez revenir à la configuration par défaut de Debian ou celle de nakeDeb, suivez ces méthodes.

les configurations par défaut sont situées dans /etc/sway pour Debian et dans /etc/skel/.config/sway pour nakeDeb.
tous les fichiers de nakedsway sont rassemblés dans /usr/share/nakedsway.

les liens sway

quelques articles pertinents