Commit Graph

331 Commits

Author SHA1 Message Date
Storm Dragon c4890f31af Fix 2026.03.02 release versioning 2026.03.02 2026-03-02 17:56:45 -05:00
Storm Dragon c44245189a Merge branch 'testing' 2026-03-02 15:42:15 -05:00
Storm Dragon c7b8e4a30d Clean stale autostart source references from translations 2026-03-02 15:42:04 -05:00
Storm Dragon 20fe1a7e30 Remove autogenerated autostart desktop template 2026-03-02 15:38:29 -05:00
Storm Dragon 25931758f7 Merge branch 'testing'
# Conflicts:
#	distro-packages/Arch-Linux/PKGBUILD
#	meson.build
#	src/cthulhu/cthulhuVersion.py
2026-03-02 15:37:50 -05:00
Storm Dragon daf57ef22c Removed the autogenerated autostart desktop file. Moved the desktop file to contrib so it's still available if people want it. 2026-02-25 23:20:05 -05:00
Storm Dragon 1d2d727fa2 Requested feature added. It is now possible to customize speech used for echo settings including speech module, voice, rate, volume, pitch. 2026-02-22 01:44:19 -05:00
Storm Dragon 11bd7107d2 Attempt to stop plugins from spontaneously re-enabling themselves. 2026-02-19 02:40:46 -05:00
Storm Dragon 95d33047fa Fix prefs state churn and sound-only role speech
Some settings were being reset when tab changed and a key was pressed, e.g. control.

Radio buttons were still announced even with sound only set.

Controls for AI assistant tab were vanishing after being set.
2026-02-18 07:03:12 -05:00
Storm Dragon 523b896053 Couple minor bug fixes, new speech code added in prefs. 2026-02-18 06:10:57 -05:00
Storm Dragon 9152455227 Speech in settings now uses the voice when switched to it. 2026-02-18 06:07:55 -05:00
Storm Dragon c0fdaca4d0 Merge remote-tracking branch 'origin/web-and-punctuation-fixes' into testing 2026-02-17 14:50:01 -05:00
destructatron 8312a842c1 Fix duplicate role name when aria-roledescription is present
When an element has aria-roledescription (e.g. Discord messages use
'Message'), _generateRoleName was adding both the roledescription AND
the standard localized role name (e.g. 'article'). This resulted in
the role being announced twice.

The aria-roledescription attribute is intended to replace the standard
role name, not supplement it. Return early after adding the
roledescription to match Orca's behavior.
2026-02-17 19:21:36 +00:00
destructatron 07138197cb Fix web content editable label, line boundary, and punctuation bugs
Bug 1: Content editable entry label not announced on caret-nav focus
- When navigating into a content editable via caret navigation (e.g. down
  arrow from message list to message entry in Discord), the label and role
  were suppressed because the code treated entering the field the same as
  navigating within it.
- Fixed locus_of_focus_changed in web/script.py to detect when focus enters
  a content editable from outside and generate full object speech.
- Fixed _generateLabelOrName in web/speech_generator.py to preserve the
  label when the prior object was outside the content editable.

Bug 2: Adjacent button included in line contents on first line
- When reading line contents inside a content editable, the layout-mode
  expansion could walk outside the content editable boundary and include
  adjacent UI elements (e.g. a 'More options' button) that happened to
  share the same visual line.
- Fixed _getLineContentsAtOffset in web/script_utilities.py to stop
  expanding at content editable boundaries in both directions.

Bug 3: Punctuation stripped from live regions and AT-SPI announcements
- presentMessage uses resetStyles=True by default, which sets punctuation
  to NONE for system voice messages. This is correct for generated text
  but wrong for user content in live regions and AT-SPI announcements.
- Fixed liveregions.py pumpMessages and default.py onAnnouncement to pass
  resetStyles=False, preserving the user's punctuation settings.
2026-02-17 19:07:41 +00:00
Storm Dragon ed78ffc248 Visual speech monitor added to speech history plugin. Toggle with cthulhu+shift+D 2026-02-17 08:40:51 -05:00
Storm Dragon 4add36f5ca latest changed merged, seems to be reasonably stable. 2026-02-17 08:01:47 -05:00
Storm Dragon 40e63150a6 Read a list of applications that should always be started in sleep mode from sleep.toml. 2026-02-17 07:57:14 -05:00
Storm Dragon 4dba0ec0cd Fixed a bug with sleep mode, was not suspending review keys for sleeping applications. 2026-02-16 14:55:56 -05:00
Storm Dragon e6f780c38b New code tested and seems pretty stable so merged and bumped version. 2026-02-15 12:10:36 -05:00
Storm Dragon 0f7f73a6a0 Fixed flat review bug affecting some sites in chrome. 2026-02-13 13:23:14 -05:00
Storm Dragon aa71d02036 Merge remote-tracking branch 'origin/keyboard-monitoring-api' into testing 2026-02-13 11:19:40 -05:00
Storm Dragon f873fcee11 Use toml instead of json for settings. 2026-02-13 11:13:38 -05:00
destructatron 51ef3de672 Port keyboard monitoring API from Orca, and fix flat review bug in GTK apps 2026-02-13 10:14:04 +00:00
Storm Dragon 13976b7235 Look for missing sound files if not found in 1 directory e.g. if not found in ~/.local look in system themes. 2026-02-07 22:40:21 -05:00
Storm Dragon c6049ef5f3 Preparing for release. 2026.01.26 2026-01-26 13:07:33 -05:00
Storm Dragon c8c1922060 Minor tweaks to steam notifications. 2026-01-26 13:03:58 -05:00
Storm Dragon c8304ce7c0 Fixed indentation error. 2026-01-21 10:04:50 -05:00
Storm Dragon 8ff9c70d29 commit: fix: Corrected indentation error in speech.py file
Co-authored-by: aider (ollama/deepseek-coder:6.7b) <aider@aider.chat>
2026-01-21 09:31:12 -05:00
Storm Dragon 26cca56c34 fix: correct indentation in setSpeechServer function
Co-authored-by: aider (ollama/deepseek-coder:6.7b) <aider@aider.chat>
2026-01-21 09:28:32 -05:00
Storm Dragon 803404aa48 fix: correct indentation in setSpeechServer function
Co-authored-by: aider (ollama/deepseek-coder:6.7b) <aider@aider.chat>
2026-01-21 09:27:41 -05:00
Storm Dragon fa77d76aa5 More type hints added. 2026-01-20 16:34:18 -05:00
Storm Dragon 75b2d482eb Bump version for testing builds. 2026-01-19 05:40:31 -05:00
Storm Dragon 78ef51d01f Latest code, hopefully stable. 2026-01-19 05:24:48 -05:00
Storm Dragon b24744b22b many many type hints added. Lots more to go. 2026-01-16 13:01:05 -05:00
Storm Dragon 73ddc18114 Refactor complete. We should be in very good shape moving forward. 2026-01-16 11:41:49 -05:00
Storm Dragon 1862de64ee Getting very close to final refactor push. I think one more after this one will do it. 2026-01-16 11:14:32 -05:00
Storm Dragon fde43df2d0 Finished with this section of the refactor. Only a couple more to go. 2026-01-16 10:45:33 -05:00
Storm Dragon a9739dba1a More refactor work. 2026-01-16 10:29:53 -05:00
Storm Dragon dfa572b453 More refactoring work. Since the first part was such a success, may as well continue. We're actually going to be in very good shape if things keep going this well. 2026-01-16 09:23:53 -05:00
Storm Dragon 45dd30f7f6 I didn't actually intend to do this, but, major refactor. Be careful with testing, it may be horribly broken. 2026-01-15 23:51:49 -05:00
Storm Dragon 495bcca185 Indentation moved from plugin to core code, setting in speech tab. 2026-01-14 08:52:58 -05:00
Storm Dragon 475dfb70ed Attempt to fix bug that causes settings to reinitialize when a change is made. This is a sneaky one, so can't be sure, but hopefully. 2026-01-13 10:19:37 -05:00
Storm Dragon 9bdb7510c9 Fixed a bug in the translation part of the plugin. 2026-01-13 09:31:55 -05:00
Storm Dragon 06cd376cd4 First round of bug fixes and plugin capability extensions. Creating a preferences tab should no longer require editing Cthulhu itself. 2026-01-13 07:49:51 -05:00
Storm Dragon c510f5a45c Forgot to add pyproject.toml. 2026-01-12 23:53:47 -05:00
Storm Dragon 935ba33081 Version bump for testing. 2026-01-12 23:52:57 -05:00
Storm Dragon 30a40f6974 Merged dbus implementation for plugins. 2026-01-12 11:54:42 -05:00
Storm Dragon 1d241d94a8 Updates to dbus remote for plugins. 2026-01-12 11:53:29 -05:00
Storm Dragon 75ad2f0dec Plugins exposed via d-bus remote. 2026-01-11 23:21:52 -05:00
Storm Dragon d3c48b1e84 New window title reading plugin implemented. Watches for window title changes and reads them. Enable/disable with cthulhu+control+shift+W. 2026-01-11 22:52:07 -05:00