Raccourcis clavier

Les raccourcis par défaut, comment les réassigner, les sous-modes resize / planes, et comment mod "auto" choisit Alt ou Super.

Chaque raccourci est une ligne du bloc binds : "<motif de touche>" "<action>". Tous les raccourcis ci-dessous sont réassignables ; rien ici n'est figé sauf que Escape quitte toujours un sous-mode (impossible de le réassigner pour en faire un piège).

La touche mod

mod "auto"

Mod est le modificateur que chaque raccourci référence. auto (la valeur par défaut) se résout en Alt en exécution imbriquée (le compositor hôte possède Super) et en Super sur une vraie session (le backend DRM) — vous n'avez donc pas besoin d'une configuration différente selon que vous êtes imbriqué ou en session. Redéfinissez-le explicitement avec mod "alt" ou mod "super" ; une valeur explicite l'emporte toujours. Dans toute la documentation, Mod désigne ce en quoi il se résout.

Les motifs de touche combinent des modificateurs avec + : Mod, Shift, Ctrl, Alt, Super, puis la touche (Return, space, Tab, period, une lettre, …). Les raccourcis suivent la lettre que la touche tape, pas la position physique — Mod+q sur azerty est la touche qui tape q.

Raccourcis par défaut

TouchesAction
Mod+Returnnouveau terminal dans une nouvelle colonne
Mod+Shift+Returnnouveau terminal empilé en dessous
Mod+Ctrl+Returndiviser la fenêtre ciblée sur place (horizontal)
Mod+Ctrl+Shift+Returndiviser sur place (vertical)
Mod+h/j/k/ldéplacer le focus
Mod+Shift+h/j/k/ldéplacer la fenêtre (crée une nouvelle rangée au bord haut/bas)
Mod+Ctrl+h/j/k/lfaire un panoramique de la vue
Mod+Ctrl+Shift+h/j/k/lforce : éjecter un onglet hors de son groupe, ou pousser une fenêtre dans un groupe adjacent
Mod+s / Mod+Shift+sfaire défiler les préréglages de largeur de colonne
Mod+z / Mod+Shift+zdézoomer / zoomer le long de l'échelle
Mod+scrollla même échelle à la molette (bas = dézoom, haut = zoom)
Mod+tmettre / enlever les onglets de la colonne ciblée
Mod+Tab / Mod+Shift+Tabfaire défiler les onglets
Mod+spacerendre flottante / re-tuiler la fenêtre ciblée
Mod+fbascule plein écran
Mod+period / Mod+commapasser au plan suivant / précédent
Mod+rentrer dans le sous-mode resize
Mod+wentrer dans le sous-mode pan
Mod+oentrer dans le sous-mode planes
glisser Mod+LeftClickdéplacer une fenêtre flottante (bouton gauche uniquement)
glisser Mod+RightClickredimensionner : glisser les séparations tuilées, ou le coin d'un flottant
Mod+qfermer la fenêtre ciblée
Mod+Shift+equitter

Réassignation

Déposez les lignes que vous voulez dans votre bloc binds. Même motif qu'un raccourci par défaut = remplacement ; nouveau motif = ajout. Vous ne ré-énumérez pas le reste.

binds {
    // remplacer un raccourci par défaut : faire que Mod+Return lance votre lanceur
    "Mod+Return" "spawn:wofi --show drun"
    // en ajouter de nouveaux (sans valeur par défaut — l'action existe, pas le raccourci)
    "Mod+Print" "spawn:grim -g \"$(slurp)\" ~/shot.png"
    "Mod+slash" "jump-to-window"
    "Mod+1" "plane-switch:1"
    "Mod+2" "plane-switch:2"
}

La chaîne d'action est le même vocabulaire qu'accepte atlasctl action — tout ce qui est assignable à un raccourci est aussi invocable depuis un script. Les actions qui prennent un argument utilisent un deux-points : spawn:<cmd>, tag-toggle:<name>, plane-switch:<n>, width-set:<ratio>, mark-jump:<name>. Voir Configuration et la référence de configuration pour la liste complète.

Sous-modes

Un sous-mode est une table de raccourcis modale (sous-modes Hyprland / modes i3). Un raccourci avec l'action "submap:<name>" entre dans le mode ; tant qu'il est actif sa table remplace les raccourcis normaux (typiquement des touches simples — pas d'accords), les touches non assignées sont absorbées au lieu d'atteindre l'application ciblée, et Escape quitte toujours. Le raccourci qui a fait entrer dans un sous-mode le quitte aussi (bascule), en plus d'Escape.

Essayez le sous-mode pan par défaut : Mod+w, puis déplacez-vous avec les touches simples h/j/k/l, Escape pour quitter.

Aucun indicateur à l'écran n'est fourni par le compositor, mais le module waybar atlas-submap (voir Intégration) affiche le sous-mode actif pour que vous ne restiez jamais coincé dans l'un d'eux sans le savoir.

Le sous-mode resize (Mod+r)

Les verbes de redimensionnement ciblent du plus interne vers l'extérieur : ils redimensionnent l'élément le plus proche autour de la fenêtre ciblée qui peut fléchir sur cet axe, en s'élargissant vers l'extérieur quand il n'y en a aucun.

Touche (dans le sous-mode)Action
h / lrétrécir / agrandir horizontalement (la part de division la plus proche, sinon la largeur de colonne)
j / krétrécir / agrandir verticalement (la part de division la plus proche, sinon la part de cellule, sinon la hauteur de rangée)
Shift+j / Shift+krétrécir / agrandir toute la rangée
sfaire défiler les préréglages de largeur de colonne
Escape / Returnquitter le sous-mode

Tant que le sous-mode resize est actif, la région qu'un redimensionnement affectera est surlignée à l'écran (la couleur resize-highlight), pour que la cible « du plus interne vers l'extérieur » ne soit jamais une surprise. Les pas proviennent de resize { step-px step-share }.

Le sous-mode planes (Mod+o)

Touche (dans le sous-mode)Action
l / hpasser au plan suivant / précédent
ncréer un plan vierge et y passer
qfermer le plan actif (seulement s'il est vide)
Shift+l / Shift+hdéplacer la fenêtre ciblée vers le plan suivant / précédent (et la suivre)
Escape / Returnquitter le sous-mode

Vos propres sous-modes

Déclarez un sous-mode et un raccourci d'entrée pour lui. Ajoutez oneshot=#true pour qu'il quitte après sa première action (pratique pour un mode « faire une chose puis dégager ») ; par défaut, un sous-mode est persistant.

binds {
    "Mod+g" "submap:groups"
}

submaps {
    groups oneshot=#true {
        "n" "spawn-new-group"
        "l" "group-next"
        "h" "group-prev"
        "Escape" "submap-exit"
    }
}

Une note sur les valeurs par défaut azerty

Les raccourcis par défaut plane-next / plane-prev utilisent Mod+period / Mod+comma. Sur azerty/fr, , est sans Shift (donc Mod+comma fonctionne) mais . nécessite Shift (donc le keysym nu Mod+period ne correspond jamais). Les keysyms de ponctuation ne sont pas normalisés selon la disposition comme le sont les lettres. Si vous êtes en azerty, réassignez-les à quelque chose qui convient à votre disposition — ce sont des changements d'une ligne.