Skip to content

Wire the window's AT-SPI Window role + Label property#3

Open
heath-toby wants to merge 1 commit into
destructatron:mainfrom
heath-toby:fix/window-atspi-title
Open

Wire the window's AT-SPI Window role + Label property#3
heath-toby wants to merge 1 commit into
destructatron:mainfrom
heath-toby:fix/window-atspi-title

Conversation

@heath-toby

Copy link
Copy Markdown

Summary

Layer-shell windows on Wayland don't always get the default Window role and title-derived accessible name that xdg-shell toplevels do, so Orca's present title bar command (KP_Slash) reports "Could not find current location" when the popup is focused — even though set_title was called.

Explicitly set AccessibleRole::Window and push the title into AccessibleProperty::Label so the name lands in the AT-SPI tree regardless of how the surface was mapped. This is the same direct-write pattern already used for the module items and menu buttons in module_item.rs / menu_popover.rs.

Test plan

  • Focus the popup, press Orca+KP_Slash (present title bar) — Orca reads "System Tray" instead of "Could not find current location".
  • Confirm no regression for Orca's per-item navigation (left/right arrows still announce buttons correctly).

🤖 Generated with Claude Code

Layer-shell windows on Wayland don't always get the default Window role and
title-derived accessible name that xdg-shell toplevels do, so Orca's
"present title bar" command (KP_Slash) reports "Could not find current
location" when the popup is focused — even though `set_title` was called.

Explicitly set `AccessibleRole::Window` and push the title into
`AccessibleProperty::Label` so the name lands in the AT-SPI tree
regardless of how the surface was mapped. This is the same direct-write
pattern already used for the module items and menu buttons.

Side benefit: my own sound-theme add-on listens for the focused window's
title and was firing a "new window" sound on every keystroke because the
title query came back empty. Surfacing the real title fixes that too.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.

1 participant