Recipe: driftwm-like

Disconnected clusters scattered on the canvas; pan, zoom and overview between them — the driftwm working-set model on a 2D plane.

driftwm puts windows on an infinite canvas where they snap into implicit groups — clusters of related work you roam between by panning and zooming. atlaswm has first-class groups: disconnected tiled clusters on one plane, plus a zoom ladder and an overview to travel between them.

What it feels like

Instead of switching workspaces, you move around space. A cluster of terminals here, a browser-and-notes cluster over there, a chat cluster off to the side — all on the same canvas. You pan to one, zoom out to see them all, zoom back into another. Work is placed, not paged. Each cluster keeps its own focus, so coming back lands you where you left off.

The atlaswm primitives it uses

  • Disconnected groups — multiple tiled clusters on one plane (spawn-new-group, group-next / group-prev).
  • Pan in X and Y to roam the canvas.
  • The zoom ladder (100% → 50% → fit-plane) to pull back and see the whole set.
  • The overview for a bird's-eye grid (here, a grid of planes if you also use several).
  • Group tags so a cluster can be gathered/summoned as a unit.

Config

mod "super"

binds {
    // Roam the canvas.
    "Mod+Ctrl+h" "pan-left"
    "Mod+Ctrl+j" "pan-down"
    "Mod+Ctrl+k" "pan-up"
    "Mod+Ctrl+l" "pan-right"

    // Pull back to see everything, then dive back in.
    "Mod+z" "zoom-out"
    "Mod+Shift+z" "zoom-in"
    "Mod+o" "overview-toggle"

    // A one-shot groups mode: start a cluster, switch between clusters,
    // tag the whole cluster at once.
    "Mod+g" "submap:groups"
}

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

Mod+g n starts a fresh cluster at the viewport top-left; Mod+g l / Mod+g h cycle between the clusters on the plane. Mod+z repeatedly pulls back to fit-plane (every cluster at once) and one more step to the overview; Mod+o jumps straight to the overview.

The default Mod+o is the planes submap — this recipe rebinds it to the overview, which is the more driftwm-shaped move. If you want both, pick another key for one of them.

GIF

When to use it

  • You think spatially: "the email stuff is over there, the code is here."
  • You want working sets without the rigidity of numbered workspaces.
  • You like zoom-to-overview as your primary navigation, the way driftwm does.

Mix it up

Tag a cluster (group-tag-toggle:work) and you can gather or summon it from anywhere; move a whole cluster to a fresh plane with group-to-plane:<n> when one canvas gets crowded; drop anchors on the clusters you revisit to jump by name (that's the spatial hub recipe). See also niri-like and i3/sway-like.