Skip to content

Move prism to upstream master, with its new backends and flags - #9

Merged
trypsynth merged 2 commits into
mainfrom
bump-prism
Nov 10, 2026
Merged

trypsynth merged 2 commits into
mainfrom
bump-prism

Conversation

@trypsynth

@trypsynth trypsynth commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

Moves the prism submodule from 94329eb to upstream master (291db9f, prism 0.18.3), 101 commits on.

The C API is unchanged apart from additions: every function keeps its signature (they gain noexcept in C++), and PRISM_CONFIG_VERSION and PRISM_PLUGIN_ABI_VERSION are still 4 and 1. The additions are bound in prism-sys and exposed in prismer:

  • Backend IDs: GDK_SPEECH (Microsoft GDK speech, built only when the GDK's headers are present), CLIPBOARD and NO_SPEECH.
  • Feature flags: IS_SCREEN_READER, IS_SPEECH_ENGINE and REQUIRES_EXPLICIT_SELECTION.

A behaviour change from upstream: UIA now reports REQUIRES_EXPLICIT_SELECTION, so create_best no longer picks it. An application that wants Narrator has to ask for UIA by ID or name. Clipboard and No Speech are explicit-only too.

Upstream now links CoreServices and Security on macOS for its code-signing checks, so a static build links them too, and the README's list for Xcode projects says so. The first CI run failed on exactly that.

Upstream also moved Orca, Spiel and power management to raw D-Bus. The static Linux link reads its pkg-config modules from the prism-config.cmake prism installs, so it follows that change by itself; CI's static Linux jobs check it.

Checked on Windows x64: tests and clippy pass, and a probe listing every backend showed the new flags as documented. Speaking through No Speech worked, and create_best still picks NVDA when it's running.

…no speech backends and the screen reader, speech engine and explicit selection flags
@trypsynth
trypsynth merged commit 19d7e0f into main Nov 10, 2026
5 checks passed
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