Skip to content

Add Super + Q as a second chord for closing a window - #7767

Merged
dhh merged 2 commits into
quattrofrom
bindings/super-q-close
Aug 22, 2026
Merged

Add Super + Q as a second chord for closing a window#7767
dhh merged 2 commits into
quattrofrom
bindings/super-q-close

Conversation

@omarchybot

@omarchybot omarchybot commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

Super + W closes a window, and nothing was bound to Super + Q at all. People arriving from macOS reach for Command + Q to make an app go away, press the same key here, and get silence — no close, no error, nothing to tell them the chord is wrong rather than broken.

This binds Super + Q to the same close dispatcher, as an alternative rather than a replacement: Super + W stays the documented default. Super + Ctrl + Q (Calculator) is untouched, and no other default claims the chord. The manual gets the alternative in the hotkey table, in the navigation chapter, and in the page for people coming from Mac or Windows, which is where the chord is most likely to be looked for.

The second commit is what makes that read well in Super + K. The menu listed every chord on its own row, so the two showed up as "Close window" twice, sixteen rows apart, with the alternative sorted above the default. The scratchpad and the calculator had the same trouble, each bound to a chord and to a second key:

SUPER + W / SUPER + Q               → Close window
SUPER + S / SUPER + ~               → Toggle scratchpad
SUPER ALT + S / SUPER SHIFT + ~     → Move window to scratchpad
SUPER CTRL + Q / XF86Calculator     → Calculator

Those four actions are named one at a time rather than merged by rule. A rule would be wrong here: Alt + Tab and Shift + Alt + Tab both say "Reveal active window on top" while cycling opposite ways, and a media key is nobody's idea of an alternative to a Super chord. Both halves still have to agree on what they dispatch, since a label is only what a chord is called.

Nothing is allowed past the 35-character column: a pair that would overrun it stays as two rows rather than pushing its arrow out of line. The menu elides a row that outgrows its card — 754px of label, 78 monospace characters at the heading size — and the longest entry already sits at 74, so widening the column to fit the widest pair would have cost two dozen rows the end of their description.

The key left of 1 now reads as ~ rather than Hyprland's name for it, whether a bind names it or reports the keycode for the keymap to resolve. Everything else is exactly where it was: the list drops four duplicate rows, and no row is any longer or ranked differently than before.

🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh.

Super + W stays the documented default. Super + Q is the chord people
arrive with from macOS, where Command + Q quits the app, and typing it
into Omarchy did nothing at all until now.

🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh.
Copilot AI balanced review requested due to automatic review settings August 22, 2026 11:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Super + Q as an alternative shortcut for closing the focused window.

Changes:

  • Binds Super + Q to the existing close-window dispatcher.
  • Documents the shortcut across relevant manual pages.

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
default/hypr/bindings/tiling.lua Adds the alternative close-window binding.
manual/03-coming-from-mac-or-windows.md Explains the shortcut to migrating users.
manual/04-navigation.md Adds it to navigation guidance.
manual/07-hotkeys.md Adds it to the hotkey table.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Software comes from a package manager, not from downloaded installers.

And when you close a window, the app actually quits. There's no macOS limbo where the program keeps running with no windows. `Super + W` means gone.
And when you close a window, the app actually quits. There's no macOS limbo where the program keeps running with no windows. `Super + W` — or `Super + Q`, if that's the finger memory you arrived with — means gone.
@phucisstupid

Copy link
Copy Markdown

nice

@omarchybot
omarchybot force-pushed the bindings/super-q-close branch from 6335cc5 to 55560aa Compare August 22, 2026 14:14
Super + W and Super + Q both read "Close window" in the menu, two rows
apart, with nothing to say they were the same thing -- and the
alternative sorted above the default. The scratchpad and the calculator
had the same trouble, each bound to a chord and to a second key.

Four actions are named as having an alternative, one at a time, and the
second chord joins the first one's row. A rule would be wrong here: Alt +
Tab and Shift + Alt + Tab both say "Reveal active window on top" while
cycling opposite ways, and a media key is nobody's idea of an alternative
to a Super chord. Both halves still have to agree on what they dispatch,
since a label is only what a chord is called, and an unresolved
dispatcher never counts as agreement.

Nothing is allowed past the 35-character column: a pair that would
overrun it stays as two rows rather than pushing its arrow out of line.
The menu elides a row that outgrows its card -- 754px of label, 78
monospace characters at the heading size -- and the longest entry already
sits at 74, so widening the column to fit the widest pair would have cost
two dozen rows the end of their description.

Priority ordering reads the rendered row, so the chord sharing it would
otherwise reclassify the entry: XF86Calculator alone belongs in the tail
kept for media keys, and it took the calculator down there with it.
Ranking now reads the chord that leads the row.

The key left of 1 reads as ~ rather than Hyprland's name for it, whether
a bind names it or reports the keycode for the keymap to resolve. Cached
records predate all of this, so the cache version moves with it.

🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh.

Co-authored-by: Codex XHigh <noreply@openai.com>
@omarchybot
omarchybot force-pushed the bindings/super-q-close branch from 55560aa to c23c3e9 Compare August 22, 2026 14:42
@dhh
dhh merged commit 07fccef into quattro Aug 22, 2026
3 checks passed
@dhh
dhh deleted the bindings/super-q-close branch August 22, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants