Skip to content

Suggestion tooltip: find a backend for GNOME and KDE Wayland #6

Description

@vstrelnikof

The spelling-suggestion tooltip currently renders on wlroots compositors (Hyprland, Sway — via wlr-layer-shell) and X11 (override-redirect). On GNOME and KDE Wayland the popup crate is a no-op, so the feature silently degrades to the keyboard accept-chord with no visible list — near-useless until a backend exists. The engine side works everywhere; this is purely a "how do we draw an unfocused overlay" problem.

This is a research issue first: the deliverable is a written recommendation (or a prototype), not necessarily a full backend.

Directions worth evaluating:

  • KDE: KWin implements the layer-shell protocol — verify which version/features it exposes to third-party apps and whether our anchor math (output-local coordinates, transforms) carries over. If it just works, KDE might be a small PR, and the "GNOME/KDE" gap statement splits in half.
  • GNOME: no layer-shell for third-party apps, and no compositor-agnostic way to position an override surface. Candidates: a companion GNOME Shell extension the app talks to over D-Bus (precedent: several on-screen-display projects), or accepting an xdg-popup-shaped compromise, or declaring GNOME out of scope with a documented reason.
  • Whatever the surface, it must never take keyboard focus (that's the whole point of the tooltip) and should reuse the existing anchor chain (AT-SPI caret → window bottom-centre → screen edge).

Where to look: crates/poltertype-popup/ (backend trait + wlroots/X11 implementations), docs/PLAN.md for the anchor-chain design.

Metadata

Metadata

Assignees

No one assigned

    Labels

    difficulty:hardSubstantial design or platform workhelp wantedExtra attention is neededplatform:linuxLinux-specific (Wayland/X11)researchFeasibility unknown — investigate first

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions