Skip to content

Super+Tab opens the WRONG overview (Ambxst 2x5 window cards instead of hyprexpo 3x3 workspace grid) #16

Description

@nethum529

Extends #9 with the exact symptom seen on the ported machine, screenshot-confirmed 2026-08-09. Requires main @ PR #15 (a stale comment that caused this was fixed).

The symptom, precisely

  • Laptop (correct): Super+Tab → hyprexpo — a 3x3 grid of NUMBERED WORKSPACES showing live wallpaper + window content; arrows navigate; releasing Super confirms.
  • PC (wrong): Super+Tab → Ambxst's own overview — 2 rows x 5 columns of WINDOW cards with a 'Search windows…' box. That layout is literally ~/.config/ambxst/config/overview.json (rows: 2, columns: 5). Different feature entirely.

Why this happens (the nuance)

Super+Tab has exactly ONE owner on the laptop, and it is NOT Ambxst:

  1. ~/.config/hypr/hyprland.conf (stowed by this repo) carries ALL of it:
    bind = $mod, Tab, hyprexpo:expo, toggle + bind = $mod, Tab, submap, expo
    • the plugin { hyprexpo { columns = 3 … } } block + the expo submap
      (arrow nav, Super+Tab step, bindr SUPER, Super_L release-to-confirm).
  2. binds.json intentionally contains NO Tab entry (verified:
    grep '"Tab"' ~/.config/ambxst/binds.json → nothing). Upstream Ambxst's
    DEFAULT binds include Super+Tab → its own overview
    — that default was
    deleted on the laptop. A ported machine shows the wrong overview when the
    Ambxst layer still carries that default: the stowed binds.json isn't the
    one in effect (stow conflict left the packaged default in place), or Ambxst
    regenerated defaults into ~/.local/share/ambxst/ before the real
    binds.json existed, or the agent added a Tab bind while debugging.
  3. A now-fixed comment in hyprland.conf CLAIMED Super+Tab lives in binds.json.
    If the agent followed it and created one: that is the bug. Remove it.

DO NOT DOUBLE-BIND SUPER+TAB

Never have a Tab bind in both layers. Hyprland dispatches every matching bind:
one press would toggle the hyprexpo grid AND open the Ambxst overview on top
— flicker, focus fights, 'sometimes works'. And the Ambxst side re-applies
its binds at runtime via axctl, so deleting only from hyprland.conf does not
stick; the fix must be on the binds.json side.

Fix procedure

cd ~/linux-setup && git pull                       # includes PR #15
# 1. confirm the stowed binds.json is live and Tab-free:
readlink ~/.config/ambxst/binds.json               # should point into ~/linux-setup
grep -c '"Tab"' ~/.config/ambxst/binds.json      # 0
# 2. purge any Tab bind from the generated layer, then reload Ambxst binds:
grep -n 'Tab' ~/.local/share/ambxst/hyprland.conf  # expect NOTHING
#    if found: your binds.json is not the repo one — restow, then Super+Alt+B
#    (or restart ambxst) so axctl regenerates from the correct binds.json
# 3. hyprexpo must be installed+enabled (issue #9) or Super+Tab enters a dead
#    submap: hyprpm list → hyprexpo enabled: true; relog after enabling

Known trap: plugin missing but submap present

With hyprexpo absent, bind = $mod, Tab, submap, expo still fires: the
keyboard enters the expo submap with nothing on screen and most keys dead
until Escape. If the machine 'locks up' on Super+Tab, that is this; it means
the plugin isn't loaded, not that the binds are wrong.

Verify correctness (expected laptop values)

hyprctl binds | grep -A3 ', TAB'      # SUPER+TAB entries: hyprexpo:expo + submap ONLY
                                       # (plus ALT+TAB cyclenext; NO exec/overview line for SUPER+TAB)
grep -c '"Tab"' ~/.config/ambxst/binds.json          # 0
grep -c Tab ~/.local/share/ambxst/hyprland.conf        # 0
hyprpm list                                            # hyprexpo enabled: true
hyprctl dispatch hyprexpo:expo toggle                  # 3x3 numbered grid opens

Functional: Super+Tab shows a 3x3 grid of numbered workspaces (NOT window
cards, NO search box); holding Super and tapping Tab steps through them
alt-tab style; releasing Super lands on the selected workspace; Escape
cancels. Ambxst's 2x5 window overview must NOT appear on Super+Tab (it stays
reachable through Ambxst's own UI, unbound from this key).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions