Skip to content

[Feature]: Global hotkey to summon/focus the desktop app window from any application #7623

Description

@bd-dxg

Problem

Reasonix is meant to be the always-on AI coding companion, but in a real
development session I typically have 5–10 apps open at once (editor, several
terminals, browser, Slack, Docker Desktop, etc.), and reaching Reasonix via
Alt+Tab / taskbar click / mouse is far too slow once it leaves the
foreground.

Today, Settings → Shortcuts only exposes in-app shortcuts (see
docs/GUIDE.md § "Desktop GUI Shortcuts": Ctrl+K, Ctrl+,, Ctrl+B,
Ctrl+1Ctrl+9, Ctrl+Y, Ctrl+W, …). They only fire when the Reasonix
window already has focus, so the first hop from another application still
requires Alt+Tab or a taskbar click. There is currently no way to summon
Reasonix with one keystroke from any other app
.

The closest existing report is #7552 (Bug: minimize → cannot reliably restore
on Linux/GNOME), which is essentially the same pain expressed as a bug. This
issue is the feature-side counterpart.

Proposed solution

Add a system-wide (OS-level) global hotkey that:

  • When Reasonix is not focused: bring the existing window to the
    foreground and un-minimize it, or launch the app if it isn't running.
  • When Reasonix is focused: hide / minimize it (toggle semantics, like
    Spotlight / Raycast / Alfred / uTools / Wox / Flow Launcher).

Behavior

  1. Press once while Reasonix is hidden / minimized / behind other windows
    → main window is raised and takes focus within ~100 ms.
  2. Press once while Reasonix already has focus → window is hidden /
    minimized.
  3. Press once while Reasonix is not running at all → it launches and
    focuses the main window.
  4. The binding is configurable from Settings → Shortcuts, with sensible
    per-platform defaults and a clear conflict warning if the OS refuses the
    binding (e.g. Win+L, Cmd+Tab).
  5. The new hotkey does not interfere with the existing in-app shortcuts
    (Ctrl+K, Ctrl+B, etc.), which continue to fire only when Reasonix
    has focus.

Platform & implementation notes

  • Windows: Win32 RegisterHotKey (or Electron's globalShortcut
    module), with SetForegroundWindow / ShowWindow and the usual
    foreground-rights dance on trigger. Default suggestion:
    Ctrl+Shift+Space (avoids conflicts with Windows, VS Code, JetBrains,
    common terminal apps, and Raycast-style tools). Allow override.
  • macOS: Carbon RegisterEventHotKey (Electron globalShortcut wraps
    this). Default suggestion: Cmd+Shift+Space. Same override UX.
  • Linux: DBus / gnome-shell extension on GNOME; XGrabKey on X11; on
    Wayland this is per-compositor — the UI should state the limitation
    honestly, and an optional companion gnome-shell extension can be
    considered.

Related

Environment

  • Reasonix 1.19.7 (desktop, Windows 11 23H2). The request itself is
    cross-platform; per-platform details are above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    desktopWails desktop app (desktop/**)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions