Skip to content

[Linux/GNOME] Add global hotkey support for quake mode on Wayland #10104

@L0GYKAL

Description

@L0GYKAL

Summary

Warp does not currently support a global hotkey for toggling quake mode on GNOME Wayland sessions. The setting exists in the UI but pressing the configured key from another window has no effect — the feature is simply not implemented for this platform.

This is a missing feature, not a regression. (I originally filed this as a bug; please relabel from bug to enhancement — I lack permission to do so myself.)

Why It's Missing

Wayland's security model forbids applications from intercepting global keypresses through the X11-style XGrabKey API. Under Wayland, a global shortcut must be registered through the compositor. On GNOME this means going through the standard XDG portal: org.freedesktop.portal.GlobalShortcuts (available since GNOME 42, March 2022).

Without this, every Linux user on a modern GNOME desktop (Ubuntu 22.04+, Fedora 36+, Debian 12+ — all default to Wayland) cannot use Warp's quake mode hotkey at all.

Desired Behaviour

  1. On GNOME Wayland, Warp registers its global hotkey via the org.freedesktop.portal.GlobalShortcuts portal.
  2. The user is prompted by the portal once to authorise the shortcut (standard XDG flow).
  3. Pressing the hotkey from any other window toggles Warp's quake window — same UX as the X11 path and as macOS / Windows.

Acceptance Criteria

  • Global hotkey configured in Settings fires correctly on GNOME Wayland sessions
  • First registration triggers the standard portal authorisation prompt
  • Hotkey survives Warp restarts (portal persists the registration)
  • Falls back gracefully to the existing X11 path on X11 sessions
  • Documented in Settings UI when the portal is unavailable (e.g. older GNOME, non-GNOME Wayland compositors)

Prior Art

Environment

  • OS: Linux, GNOME 42+ on Wayland (Ubuntu 22.04+, Fedora 36+, etc.)
  • Importance: 5 — quake mode is effectively unusable for a large portion of Linux users without this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:settings-keybindingsSettings UI, preferences, keybindings, and keyboard-shortcut management.area:window-tabs-panesWindow, tab, pane, and workspace layout management.enhancementNew feature or request.os:linuxLinux-specific behavior, regressions, or requests.repro:highThe report includes enough evidence that the issue appears highly reproducible.triagedIssue has received an initial automated triage pass.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions