Recette : moyeu spatial et satellites

Un moyeu central avec des satellites dispersés sur un grand plan ; sautez entre eux par ancre nommée ou marque de fenêtre. Le flux que seul un plan infini rend possible.

C'est celle qu'un ruban ne peut pas faire. Disposez un moyeu central de fenêtres au milieu d'un plan, dispersez des groupes de travail satellites autour — l'e-mail à droite, une pile de référence en dessous, la discussion dans un coin — et voyagez entre eux par nom, pas par pagination. Les ancres sont des signets de vue ; les marques marquent des fenêtres. Ensemble, elles transforment la toile en une carte que vous parcourez spatialement.

La sensation

Vous ne changez pas d'espace de travail ; vous allez quelque part. Mod+a ramène la vue au moyeu. Mod+e file vers le satellite e-mail. Une marque de fenêtre saute directement à un terminal précis où qu'il se trouve. Le plan a une géographie stable — les mêmes choses sont toujours au même endroit — si bien que la navigation devient une mémoire musculaire orientée vers des lieux, comme les pièces d'une maison, plutôt que vers des onglets indexés.

Les primitives atlaswm utilisées

  • Ancres — positions de vue nommées, amorcées depuis la config et atteintes par raccourci (anchor-set / anchor-jump).
  • Marques — signets façon vim sur les fenêtres ; minuscule = par plan, MAJUSCULE = global à travers les plans.
  • Un grand plan (ou quelques-uns en option) comme géographie stable.
  • Déplacement et zoom pour aller d'un endroit à l'autre et survoler la disposition.

Config

Amorcez le moyeu et ses satellites comme ancres sur le plan 1, puis assignez les sauts :

mod "super"

anchors {
    "hub"  x=0    y=0
    "mail" x=4000 y=0
    "ref"  x=0    y=2500
    "chat" x=-3500 y=0
}

binds {
    // File vers un lieu par nom.
    "Mod+a" "anchor-jump:hub"
    "Mod+e" "anchor-jump:mail"
    "Mod+x" "anchor-jump:ref"
    "Mod+c" "anchor-jump:chat"

    // Dépose une nouvelle ancre sur la vue actuelle, ou en efface une.
    "Mod+Shift+a" "anchor-set:hub"

    // Marques de fenêtre : un sous-mode « mark » pour poser, un sous-mode « jump » pour sauter.
    "Mod+m" "submap:mark"
    "Mod+apostrophe" "submap:jump"

    // Dézoome pour survoler toute la carte, re-zoome pour atterrir.
    "Mod+z" "zoom-out"
    "Mod+Shift+z" "zoom-in"
}

submaps {
    mark oneshot=#true {
        "h" "mark-set:h"
        "m" "mark-set:m"
        "Escape" "submap-exit"
    }
    jump oneshot=#true {
        "h" "mark-jump:h"
        "m" "mark-jump:m"
        "Escape" "submap-exit"
    }
}

Mod+a/Mod+e/Mod+x/Mod+c recentrent la vue sur chaque ancre (les ancres stockent une coordonnée de plan, donc le saut est indépendant du zoom). Mod+m h marque la fenêtre focalisée comme h ; Mod+' h y revient plus tard. Utilisez un nom de marque en MAJUSCULE (mark-set:H) si vous voulez que le saut suive cette fenêtre même à travers les plans.

Pas encore : il n'y a pas de « cette application s'ouvre toujours à l'ancre Y » (le spawn-at-anchor est reporté). Le plus proche aujourd'hui est une règle de fenêtre envoyant une application vers un plan fixe, plus un raccourci anchor-jump pour l'atteindre.

GIF

Quand l'utiliser

  • Vous avez un ensemble fixe de contextes auxquels vous revenez constamment et vous les voulez à des lieux fixes.
  • Vous pensez en géographie, pas en listes — « l'e-mail est à droite du moyeu ».
  • Vous voulez le seul flux de travail qu'un ruban défilant 1D ne peut fondamentalement pas offrir.

Mélangez-les

Associez les ancres aux groupes pour que chaque satellite soit une grappe relocalisable ; étiquetez les satellites et gather/summon un groupe de travail dans le moyeu à la demande ; répartissez les satellites sur quelques plans si une toile ne suffit pas. Voyez aussi façon niri, façon driftwm et façon i3/sway.