|
|
|
|
@ -1,533 +0,0 @@
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# ~/.config/sway/config — Configuration Sway (Wayland)
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Sway est un gestionnaire de fenêtres en tuiles pour Wayland, compatible
|
|
|
|
|
# avec la syntaxe de configuration de i3.
|
|
|
|
|
#
|
|
|
|
|
# Documentation officielle : https://man.archlinux.org/man/sway.5
|
|
|
|
|
# Pour recharger la configuration sans redémarrer : Super + Maj + C
|
|
|
|
|
# Pour quitter Sway : Super + Maj + E
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 1. TOUCHE MODIFICATEUR (Super / Meta)
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# $mod est la touche principale utilisée pour tous les raccourcis.
|
|
|
|
|
# Mod4 = touche Super (touche Windows / Commande)
|
|
|
|
|
# Mod1 = touche Alt (alternative si Super est indisponible)
|
|
|
|
|
|
|
|
|
|
set $mod Mod4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 2. CLAVIER — DISPOSITION AZERTY FRANÇAISE
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Configurez ici votre clavier. Tous les paramètres sont optionnels.
|
|
|
|
|
#
|
|
|
|
|
# Options courantes pour `xkb_options` :
|
|
|
|
|
# caps:escape → Caps Lock fonctionne comme Échap
|
|
|
|
|
# caps:ctrl_modifier → Caps Lock fonctionne comme Ctrl
|
|
|
|
|
# compose:ralt → Alt droit = touche Compose (accents)
|
|
|
|
|
# grp:alt_shift_toggle → Alt+Maj pour changer de disposition
|
|
|
|
|
#
|
|
|
|
|
# Délai et répétition (repeat_delay / repeat_rate) :
|
|
|
|
|
# repeat_delay : temps en ms avant que la répétition commence (défaut : 600)
|
|
|
|
|
# repeat_rate : frappes par seconde en répétition (défaut : 25)
|
|
|
|
|
|
|
|
|
|
input "type:keyboard" {
|
|
|
|
|
xkb_layout fr
|
|
|
|
|
xkb_variant azerty
|
|
|
|
|
xkb_options caps:escape
|
|
|
|
|
repeat_delay 300
|
|
|
|
|
repeat_rate 40
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# --- Claviers spécifiques (optionnel) ---
|
|
|
|
|
# Si vous avez plusieurs claviers et voulez des réglages différents,
|
|
|
|
|
# trouvez l'identifiant avec : swaymsg -t get_inputs
|
|
|
|
|
# Exemple :
|
|
|
|
|
# input "1:1:AT_Translated_Set_2_keyboard" {
|
|
|
|
|
# xkb_layout fr
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 3. SOURIS ET PAVÉ TACTILE
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Trouvez les identifiants de vos périphériques avec : swaymsg -t get_inputs
|
|
|
|
|
|
|
|
|
|
input "type:touchpad" {
|
|
|
|
|
# Activer/désactiver le clic en tapant sur le pavé
|
|
|
|
|
tap enabled
|
|
|
|
|
# Désactiver le pavé tactile pendant la frappe
|
|
|
|
|
dwt enabled
|
|
|
|
|
# Défilement naturel (comme sur macOS) : disabled | enabled
|
|
|
|
|
natural_scroll disabled
|
|
|
|
|
# Accélération du pointeur : valeur entre -1.0 (lent) et 1.0 (rapide)
|
|
|
|
|
pointer_accel 0.2
|
|
|
|
|
# Mode d'accélération : adaptive | flat
|
|
|
|
|
accel_profile adaptive
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
input "type:pointer" {
|
|
|
|
|
# Désactiver l'accélération pour une souris (utile en jeu)
|
|
|
|
|
# accel_profile flat
|
|
|
|
|
pointer_accel 0.0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 4. MONITEURS / ÉCRANS
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Configurez vos moniteurs ici.
|
|
|
|
|
# Listez les sorties disponibles avec : swaymsg -t get_outputs
|
|
|
|
|
#
|
|
|
|
|
# Syntaxe : output <NOM> <PARAMÈTRE> <VALEUR>
|
|
|
|
|
#
|
|
|
|
|
# Résolutions courantes : 1920x1080, 2560x1440, 3840x2160
|
|
|
|
|
# Fréquences courantes : 60Hz, 75Hz, 144Hz, 165Hz
|
|
|
|
|
# Position (multi-écran): pos 0 0 (principal), pos 1920 0 (à droite), etc.
|
|
|
|
|
# Rotation : transform normal | 90 | 180 | 270
|
|
|
|
|
# Mise à l'échelle HiDPI: scale 1.5 (pour les écrans 4K par exemple)
|
|
|
|
|
|
|
|
|
|
# Écran principal (adaptez le nom à votre matériel)
|
|
|
|
|
output * bg #1e1e2e solid_color
|
|
|
|
|
|
|
|
|
|
# Exemples de configurations d'écrans (décommentez et adaptez) :
|
|
|
|
|
#
|
|
|
|
|
# output HDMI-A-1 {
|
|
|
|
|
# resolution 1920x1080
|
|
|
|
|
# refresh 60
|
|
|
|
|
# pos 0 0
|
|
|
|
|
# transform normal
|
|
|
|
|
# scale 1
|
|
|
|
|
# }
|
|
|
|
|
#
|
|
|
|
|
# output DP-1 {
|
|
|
|
|
# resolution 2560x1440
|
|
|
|
|
# refresh 144
|
|
|
|
|
# pos 1920 0
|
|
|
|
|
# }
|
|
|
|
|
#
|
|
|
|
|
# Désactiver un écran :
|
|
|
|
|
# output eDP-1 disable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 5. POLICE D'AFFICHAGE
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Police utilisée pour les titres de fenêtres et la barre swaybar.
|
|
|
|
|
# Formats : pango:<Nom> <taille>
|
|
|
|
|
# Exemples : pango:monospace 10 | pango:Noto Sans 11 | pango:JetBrains Mono 10
|
|
|
|
|
|
|
|
|
|
font pango:monospace 10
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 6. APPARENCE DES FENÊTRES
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
|
|
|
|
# Épaisseur de la bordure des fenêtres (en pixels). 0 = sans bordure.
|
|
|
|
|
default_border pixel 2
|
|
|
|
|
|
|
|
|
|
# Taille des espaces entre les fenêtres en tuiles (gaps)
|
|
|
|
|
# inner = espace entre les fenêtres
|
|
|
|
|
# outer = espace entre les fenêtres et le bord de l'écran
|
|
|
|
|
gaps inner 6
|
|
|
|
|
gaps outer 4
|
|
|
|
|
|
|
|
|
|
# Masquer les bordures quand une seule fenêtre est visible
|
|
|
|
|
# none | smart | smart_no_gaps
|
|
|
|
|
smart_borders smart_no_gaps
|
|
|
|
|
|
|
|
|
|
# Couleurs des bordures
|
|
|
|
|
# Format : client.<état> <bordure> <fond> <texte> <indicateur> <bordure_enfant>
|
|
|
|
|
#
|
|
|
|
|
# États :
|
|
|
|
|
# focused → fenêtre active
|
|
|
|
|
# unfocused → fenêtre inactive
|
|
|
|
|
# focused_inactive → fenêtre inactive d'un conteneur actif
|
|
|
|
|
# urgent → fenêtre avec une alerte
|
|
|
|
|
|
|
|
|
|
set $bleu #89b4fa
|
|
|
|
|
set $surface #313244
|
|
|
|
|
set $fond #1e1e2e
|
|
|
|
|
set $texte #cdd6f4
|
|
|
|
|
set $urgence #f38ba8
|
|
|
|
|
|
|
|
|
|
client.focused $bleu $surface $texte $bleu $bleu
|
|
|
|
|
client.unfocused $fond $fond $texte $fond $fond
|
|
|
|
|
client.focused_inactive $surface $surface $texte $surface $surface
|
|
|
|
|
client.urgent $urgence $urgence $texte $urgence $urgence
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 7. APPLICATIONS PAR DÉFAUT
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Définissez ici vos applications favorites.
|
|
|
|
|
# Ces variables sont utilisées dans les raccourcis clavier ci-dessous.
|
|
|
|
|
#
|
|
|
|
|
# Terminal : foot (léger, natif Wayland) | alacritty | kitty | wezterm
|
|
|
|
|
# Navigateur : firefox | chromium | brave-browser | librewolf
|
|
|
|
|
# Explorateur : thunar | nautilus | nemo | dolphin
|
|
|
|
|
# Éditeur : code | gedit | mousepad | kate
|
|
|
|
|
# Lanceur : wofi --show drun | rofi -show drun (via XWayland)
|
|
|
|
|
# Messagerie : telegram-desktop | signal-desktop | discord
|
|
|
|
|
# Mail : thunderbird | evolution
|
|
|
|
|
# Musique : spotify | rhythmbox | lollypop
|
|
|
|
|
|
|
|
|
|
set $terminal foot
|
|
|
|
|
set $browser firefox
|
|
|
|
|
set $displaymgr nwg-displays
|
|
|
|
|
set $files nemo
|
|
|
|
|
set $editor idea
|
|
|
|
|
set $launcher wofi --show drun --allow-markup --insensitive
|
|
|
|
|
set $screenshot grim -g "$(slurp)" - | wl-copy
|
|
|
|
|
set $screenclip grim ~/Images/capture-$(date +%Y%m%d-%H%M%S).png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 8. RACCOURCIS CLAVIER — APPLICATIONS DIRECTES
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Principe : une touche = une application. Pas de cycling, pas de Alt+Tab.
|
|
|
|
|
# Chaque raccourci lance l'application ou y retourne si elle est déjà ouverte.
|
|
|
|
|
#
|
|
|
|
|
# Syntaxe : bindsym $mod+<touche> exec <commande>
|
|
|
|
|
#
|
|
|
|
|
# Sur AZERTY, les touches disponibles facilement avec Super :
|
|
|
|
|
# Lettres : a z e r t y u i o p q s d f g h j k l m w x c v b n
|
|
|
|
|
# Chiffres : 1 2 3 4 5 6 7 8 9 0 (pour les espaces de travail)
|
|
|
|
|
# Autres : Return (Entrée), space (Espace), Tab, F1-F12
|
|
|
|
|
#
|
|
|
|
|
# Astuce : utilisez `xev` ou `wev` pour identifier le nom d'une touche
|
|
|
|
|
|
|
|
|
|
# --- Lanceur et terminal ---
|
|
|
|
|
bindsym $mod+Return exec $terminal
|
|
|
|
|
bindsym $mod+space exec $launcher
|
|
|
|
|
|
|
|
|
|
# --- Applications courantes (modifiez selon vos besoins) ---
|
|
|
|
|
bindsym $mod+b exec $browser
|
|
|
|
|
bindsym $mod+e exec $files
|
|
|
|
|
bindsym $mod+c exec $editor
|
|
|
|
|
bindsym $mod+p exec $displaymgr
|
|
|
|
|
|
|
|
|
|
# --- Capture d'écran ---
|
|
|
|
|
# Super + Impr → capture d'une zone sélectionnée (copie dans le presse-papier)
|
|
|
|
|
# Super + Maj + Impr → capture de tout l'écran (sauvegarde dans ~/Images)
|
|
|
|
|
bindsym $mod+Print exec $screenshot
|
|
|
|
|
bindsym $mod+Shift+Print exec $screenclip
|
|
|
|
|
|
|
|
|
|
# --- Applications supplémentaires (décommentez et adaptez) ---
|
|
|
|
|
# bindsym $mod+m exec thunderbird
|
|
|
|
|
# bindsym $mod+s exec spotify
|
|
|
|
|
# bindsym $mod+t exec telegram-desktop
|
|
|
|
|
# bindsym $mod+n exec $terminal -e nvim
|
|
|
|
|
# bindsym $mod+p exec pavucontrol
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 9. RACCOURCIS CLAVIER — GESTION DES FENÊTRES
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
|
|
|
|
# --- Fermer la fenêtre active ---
|
|
|
|
|
bindsym $mod+q kill
|
|
|
|
|
|
|
|
|
|
# --- Recharger la configuration sans redémarrer ---
|
|
|
|
|
bindsym $mod+Shift+c reload
|
|
|
|
|
|
|
|
|
|
# --- Quitter Sway (déconnexion) ---
|
|
|
|
|
bindsym $mod+Shift+e exec swaynag \
|
|
|
|
|
-t warning \
|
|
|
|
|
-m 'Voulez-vous vraiment quitter Sway ?' \
|
|
|
|
|
-b 'Oui, quitter' 'swaymsg exit'
|
|
|
|
|
|
|
|
|
|
# --- Déplacer le focus entre les fenêtres ---
|
|
|
|
|
# Avec les flèches directionnelles
|
|
|
|
|
bindsym $mod+Left focus left
|
|
|
|
|
bindsym $mod+Down focus down
|
|
|
|
|
bindsym $mod+Up focus up
|
|
|
|
|
bindsym $mod+Right focus right
|
|
|
|
|
|
|
|
|
|
# Avec les touches hjkl (style Vim) — optionnel
|
|
|
|
|
bindsym $mod+h focus left
|
|
|
|
|
bindsym $mod+j focus down
|
|
|
|
|
bindsym $mod+k focus up
|
|
|
|
|
bindsym $mod+l focus right
|
|
|
|
|
|
|
|
|
|
# --- Déplacer les fenêtres ---
|
|
|
|
|
bindsym $mod+Shift+Left move left
|
|
|
|
|
bindsym $mod+Shift+Down move down
|
|
|
|
|
bindsym $mod+Shift+Up move up
|
|
|
|
|
bindsym $mod+Shift+Right move right
|
|
|
|
|
|
|
|
|
|
# --- Changer le mode de découpe (split) ---
|
|
|
|
|
# Horizontal : les nouvelles fenêtres s'ouvrent à droite
|
|
|
|
|
bindsym $mod+Shift+h split h
|
|
|
|
|
# Vertical : les nouvelles fenêtres s'ouvrent en bas
|
|
|
|
|
bindsym $mod+Shift+v split v
|
|
|
|
|
# Alterner automatiquement selon la dimension du conteneur
|
|
|
|
|
bindsym $mod+Shift+t split toggle
|
|
|
|
|
|
|
|
|
|
# --- Changer la disposition du conteneur actif ---
|
|
|
|
|
# stacking : fenêtres empilées avec onglets en haut
|
|
|
|
|
# tabbed : fenêtres en onglets
|
|
|
|
|
# toggle split : alterner horizontal/vertical
|
|
|
|
|
bindsym $mod+s layout stacking
|
|
|
|
|
bindsym $mod+w layout tabbed
|
|
|
|
|
bindsym $mod+z layout toggle split
|
|
|
|
|
|
|
|
|
|
# --- Fenêtre en plein écran ---
|
|
|
|
|
bindsym $mod+f fullscreen toggle
|
|
|
|
|
|
|
|
|
|
# --- Mode flottant ---
|
|
|
|
|
# Basculer la fenêtre active entre tuile et flottante
|
|
|
|
|
bindsym $mod+Shift+f floating toggle
|
|
|
|
|
# Garder le focus sur les fenêtres tuiles même quand une flottante est présente
|
|
|
|
|
focus_follows_mouse no
|
|
|
|
|
# Passer le focus sur tuiles / flottantes
|
|
|
|
|
bindsym $mod+Shift+space focus mode_toggle
|
|
|
|
|
|
|
|
|
|
# Déplacer une fenêtre flottante avec Super + clic gauche
|
|
|
|
|
# Redimensionner une fenêtre flottante avec Super + clic droit
|
|
|
|
|
floating_modifier $mod normal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 10. ESPACES DE TRAVAIL (BUREAUX VIRTUELS)
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Les espaces de travail permettent d'organiser vos fenêtres par thème.
|
|
|
|
|
# Exemple d'organisation :
|
|
|
|
|
# 1 → Terminal 2 → Navigateur 3 → Éditeur
|
|
|
|
|
# 4 → Messagerie 5 → Musique 6 → Fichiers
|
|
|
|
|
|
|
|
|
|
# Noms des espaces de travail (modifiez selon vos préférences)
|
|
|
|
|
set $ws1 "1"
|
|
|
|
|
set $ws2 "2"
|
|
|
|
|
set $ws3 "3"
|
|
|
|
|
set $ws4 "4"
|
|
|
|
|
set $ws5 "5"
|
|
|
|
|
set $ws6 "6"
|
|
|
|
|
set $ws7 "7"
|
|
|
|
|
set $ws8 "8"
|
|
|
|
|
set $ws9 "9"
|
|
|
|
|
set $ws10 "10"
|
|
|
|
|
|
|
|
|
|
# --- Aller à un espace de travail ---
|
|
|
|
|
# Note AZERTY : les chiffres sont accessibles directement (pas besoin de Maj)
|
|
|
|
|
bindsym $mod+ampersand workspace $ws1
|
|
|
|
|
bindsym $mod+eacute workspace $ws2
|
|
|
|
|
bindsym $mod+quotedbl workspace $ws3
|
|
|
|
|
bindsym $mod+apostrophe workspace $ws4
|
|
|
|
|
bindsym $mod+parenleft workspace $ws5
|
|
|
|
|
bindsym $mod+minus workspace $ws6
|
|
|
|
|
bindsym $mod+egrave workspace $ws7
|
|
|
|
|
bindsym $mod+underscore workspace $ws8
|
|
|
|
|
bindsym $mod+ccedilla workspace $ws9
|
|
|
|
|
bindsym $mod+agrave workspace $ws10
|
|
|
|
|
|
|
|
|
|
# Variante avec les touches numériques directes (si les touches ci-dessus
|
|
|
|
|
# ne fonctionnent pas selon votre configuration) :
|
|
|
|
|
# bindsym $mod+1 workspace $ws1
|
|
|
|
|
# ...
|
|
|
|
|
# bindsym $mod+0 workspace $ws10
|
|
|
|
|
|
|
|
|
|
# --- Déplacer la fenêtre active vers un espace de travail ---
|
|
|
|
|
bindsym $mod+Shift+ampersand move container to workspace $ws1
|
|
|
|
|
bindsym $mod+Shift+eacute move container to workspace $ws2
|
|
|
|
|
bindsym $mod+Shift+quotedbl move container to workspace $ws3
|
|
|
|
|
bindsym $mod+Shift+apostrophe move container to workspace $ws4
|
|
|
|
|
bindsym $mod+Shift+parenleft move container to workspace $ws5
|
|
|
|
|
bindsym $mod+Shift+minus move container to workspace $ws6
|
|
|
|
|
bindsym $mod+Shift+egrave move container to workspace $ws7
|
|
|
|
|
bindsym $mod+Shift+underscore move container to workspace $ws8
|
|
|
|
|
bindsym $mod+Shift+ccedilla move container to workspace $ws9
|
|
|
|
|
bindsym $mod+Shift+agrave move container to workspace $ws10
|
|
|
|
|
|
|
|
|
|
# --- Navigation entre espaces de travail ---
|
|
|
|
|
# Aller à l'espace de travail précédent/suivant
|
|
|
|
|
bindsym $mod+Tab workspace next
|
|
|
|
|
bindsym $mod+Shift+Tab workspace prev
|
|
|
|
|
|
|
|
|
|
# Revenir à l'espace de travail précédemment actif
|
|
|
|
|
bindsym $mod+BackSpace workspace back_and_forth
|
|
|
|
|
|
|
|
|
|
# --- Affecter des applications à des espaces de travail ---
|
|
|
|
|
# Trouvez le nom de classe avec : swaymsg -t get_tree | grep app_id
|
|
|
|
|
# Pour les apps XWayland, cherchez "class" au lieu de "app_id"
|
|
|
|
|
#
|
|
|
|
|
# assign [app_id="firefox"] $ws2
|
|
|
|
|
# assign [app_id="org.gnome.Nautilus"] $ws6
|
|
|
|
|
# assign [class="code-oss"] $ws3
|
|
|
|
|
# assign [app_id="thunderbird"] $ws4
|
|
|
|
|
# assign [app_id="spotify"] $ws5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 11. MODE REDIMENSIONNEMENT
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Appuyez sur Super+R pour entrer en mode redimensionnement.
|
|
|
|
|
# Utilisez les flèches pour redimensionner, Échap ou Entrée pour sortir.
|
|
|
|
|
|
|
|
|
|
mode "resize" {
|
|
|
|
|
bindsym Left resize shrink width 40px
|
|
|
|
|
bindsym Down resize grow height 40px
|
|
|
|
|
bindsym Up resize shrink height 40px
|
|
|
|
|
bindsym Right resize grow width 40px
|
|
|
|
|
|
|
|
|
|
# Sorties du mode redimensionnement
|
|
|
|
|
bindsym Return mode "default"
|
|
|
|
|
bindsym Escape mode "default"
|
|
|
|
|
bindsym $mod+r mode "default"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bindsym $mod+r mode "resize"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 12. TOUCHES MULTIMÉDIA ET SYSTÈME
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
|
|
|
|
# --- Volume (PulseAudio / PipeWire) ---
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
# --- Luminosité (nécessite brightnessctl) ---
|
|
|
|
|
bindsym XF86MonBrightnessUp exec brightnessctl set +10%
|
|
|
|
|
bindsym XF86MonBrightnessDown exec brightnessctl set 10%-
|
|
|
|
|
|
|
|
|
|
# --- Contrôle multimédia (nécessite playerctl) ---
|
|
|
|
|
bindsym XF86AudioPlay exec playerctl play-pause
|
|
|
|
|
bindsym XF86AudioNext exec playerctl next
|
|
|
|
|
bindsym XF86AudioPrev exec playerctl previous
|
|
|
|
|
bindsym XF86AudioStop exec playerctl stop
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 13. VERROUILLAGE ET MISE EN VEILLE
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
|
|
|
|
# Verrouiller l'écran manuellement
|
|
|
|
|
bindsym Mod1+l exec swaylock --color 1e1e2e --inside-color 313244 \
|
|
|
|
|
--ring-color 89b4fa --key-hl-color cdd6f4 --line-color 00000000 \
|
|
|
|
|
--separator-color 00000000 --fade-in 0.2
|
|
|
|
|
|
|
|
|
|
# Mise en veille automatique avec swayidle :
|
|
|
|
|
# - après 5 min sans activité → verrouillage
|
|
|
|
|
# - après 10 min → extinction de l'écran
|
|
|
|
|
# - au retour → rallumage de l'écran
|
|
|
|
|
exec swayidle -w \
|
|
|
|
|
timeout 300 'swaylock --color 1e1e2e' \
|
|
|
|
|
timeout 600 'swaymsg "output * dpms off"' \
|
|
|
|
|
resume 'swaymsg "output * dpms on"' \
|
|
|
|
|
before-sleep 'swaylock --color 1e1e2e'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 14. RÈGLES DE FENÊTRES (COMPORTEMENTS SPÉCIFIQUES)
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Vous pouvez forcer certaines fenêtres à être flottantes, à s'ouvrir
|
|
|
|
|
# sur un espace de travail particulier, ou à ne pas avoir de bordure.
|
|
|
|
|
#
|
|
|
|
|
# Trouvez app_id avec : swaymsg -t get_tree | grep app_id
|
|
|
|
|
# Trouvez class avec : swaymsg -t get_tree | grep '"class"'
|
|
|
|
|
# (class = apps XWayland comme certaines apps Electron)
|
|
|
|
|
#
|
|
|
|
|
# Paramètres disponibles :
|
|
|
|
|
# floating enable/disable
|
|
|
|
|
# border normal <taille> | pixel <taille> | none
|
|
|
|
|
# move to workspace <nom>
|
|
|
|
|
# inhibit_idle focus | visible | open | none
|
|
|
|
|
|
|
|
|
|
# Fenêtres flottantes par défaut (boîtes de dialogue, utilitaires)
|
|
|
|
|
for_window [window_role="dialog"] floating enable
|
|
|
|
|
for_window [window_role="bubble"] floating enable
|
|
|
|
|
for_window [window_role="pop-up"] floating enable
|
|
|
|
|
for_window [window_type="dialog"] floating enable
|
|
|
|
|
for_window [window_type="menu"] floating enable
|
|
|
|
|
for_window [app_id="pavucontrol"] floating enable, resize set 700 450
|
|
|
|
|
for_window [app_id="nm-connection-editor"] floating enable
|
|
|
|
|
|
|
|
|
|
# Exemples supplémentaires (décommentez selon vos besoins) :
|
|
|
|
|
# for_window [app_id="firefox" title="Téléchargements"] floating enable
|
|
|
|
|
# for_window [app_id="mpv"] floating enable, border none
|
|
|
|
|
# for_window [class="Steam" title="Friends List"] floating enable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 15. BARRE D'ÉTAT
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Deux options :
|
|
|
|
|
# A) swaybar (intégré, simple, recommandé pour débuter)
|
|
|
|
|
# B) waybar (externe, très personnalisable — voir ~/.config/waybar/)
|
|
|
|
|
#
|
|
|
|
|
# Pour utiliser waybar, commentez le bloc "bar { ... }" ci-dessous
|
|
|
|
|
# et décommentez la ligne "exec waybar".
|
|
|
|
|
|
|
|
|
|
# --- Option A : swaybar intégré ---
|
|
|
|
|
# bar {
|
|
|
|
|
# # Position : top | bottom
|
|
|
|
|
# position top
|
|
|
|
|
#
|
|
|
|
|
# # Commande de statut (status_command)
|
|
|
|
|
# # swaybar-status : basique | i3status : plus d'infos | i3blocks : scripts
|
|
|
|
|
# status_command while date +'%a %d %b %H:%M:%S'; do sleep 1; done
|
|
|
|
|
#
|
|
|
|
|
# colors {
|
|
|
|
|
# # Fond et texte de la barre
|
|
|
|
|
# background #1e1e2e
|
|
|
|
|
# statusline #cdd6f4
|
|
|
|
|
# separator #45475a
|
|
|
|
|
#
|
|
|
|
|
# # Couleurs des espaces de travail
|
|
|
|
|
# # format : <bordure> <fond> <texte>
|
|
|
|
|
# focused_workspace #89b4fa #313244 #cdd6f4
|
|
|
|
|
# active_workspace #313244 #313244 #cdd6f4
|
|
|
|
|
# inactive_workspace #1e1e2e #1e1e2e #585b70
|
|
|
|
|
# urgent_workspace #f38ba8 #f38ba8 #1e1e2e
|
|
|
|
|
# }
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
# --- Option B : waybar (décommentez pour activer) ---
|
|
|
|
|
exec_always pkill waybar; waybar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# 16. DÉMARRAGE AUTOMATIQUE DES APPLICATIONS
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# `exec` : lancé une seule fois au démarrage de Sway
|
|
|
|
|
# `exec_always` : lancé aussi à chaque rechargement de la configuration
|
|
|
|
|
|
|
|
|
|
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
|
|
|
|
exec systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
|
|
|
|
|
|
|
|
# config écrans
|
|
|
|
|
exec_always pkill kanshi; kanshi
|
|
|
|
|
# sync cloud boulot
|
|
|
|
|
exec nextcloud
|
|
|
|
|
# Notifications
|
|
|
|
|
exec mako
|
|
|
|
|
|
|
|
|
|
# Gestionnaire d'authentification (nécessaire pour certaines apps graphiques)
|
|
|
|
|
exec /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
|
|
|
|
|
exec gnome-keyring-daemon --start --components=secrets,ssh,pkcs11
|
|
|
|
|
|
|
|
|
|
# Gestionnaire de réseau (barre système)
|
|
|
|
|
exec nm-applet --indicator
|
|
|
|
|
|
|
|
|
|
# Presse-papier persistant (optionnel — nécessite wl-paste)
|
|
|
|
|
exec wl-paste --watch cliphist store
|
|
|
|
|
|
|
|
|
|
# Démarrer des apps au lancement (décommentez selon vos besoins) :
|
|
|
|
|
exec firefox
|
|
|
|
|
exec mattermost-desktop
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# FIN DE LA CONFIGURATION
|
|
|
|
|
# =============================================================================
|
|
|
|
|
# Pour tester les changements : Super + Maj + C (recharge la config)
|
|
|
|
|
# Manuel complet : man 5 sway
|
|
|
|
|
# Dépôt officiel : https://github.com/swaywm/sway
|