Skip to content

feat: add hyprwhspr speech-to-text waybar module#1738

Open
0xGeN02 wants to merge 3 commits into
HyDE-Project:devfrom
0xGeN02:feat/hyprwhspr-integration
Open

feat: add hyprwhspr speech-to-text waybar module#1738
0xGeN02 wants to merge 3 commits into
HyDE-Project:devfrom
0xGeN02:feat/hyprwhspr-integration

Conversation

@0xGeN02

@0xGeN02 0xGeN02 commented May 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds hyprwhspr integration to HyDE β€” a native speech-to-text tool for Linux with support for Whisper, Cohere, Parakeet and more.

  • Waybar module (custom-hyprwhspr.jsonc): polls the hyprwhspr tray script every 2s, shows recording/ready/stopped/error states with JSON output, left-click toggles service, right-click restarts
  • Optional package entry in pkg_extra.lst (commented out by default)

Details

The waybar module uses hyprwhspr's built-in tray script (/usr/lib/hyprwhspr/config/hyprland/hyprwhspr-tray.sh) which outputs JSON with text, class, and tooltip fields. The class field enables CSS styling per state (recording, ready, stopped, error, unloaded).

Files changed

File Change
Configs/.local/share/waybar/modules/custom-hyprwhspr.jsonc New waybar custom module
Scripts/pkg_extra.lst Added hyprwhspr as optional package (commented out)

Closes #1719

Summary by CodeRabbit

  • New Features
    • Added native Linux speech-to-text and dictation functionality via the hyprwhspr integration
    • New Waybar module for quick access to speech-to-text with left-click toggle and right-click restart options

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 9, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. πŸŽ‰

ℹ️ Recent review info
βš™οΈ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 60822f29-15e6-46be-b20a-1e4b063ff8b2

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 4a6033d and 1b5a568.

πŸ“’ Files selected for processing (2)
  • Configs/.local/share/waybar/modules/custom-hyprwhspr.jsonc
  • Scripts/pkg_extra.lst
βœ… Files skipped from review due to trivial changes (1)
  • Scripts/pkg_extra.lst
🚧 Files skipped from review as they are similar to previous changes (1)
  • Configs/.local/share/waybar/modules/custom-hyprwhspr.jsonc

πŸ“ Walkthrough

Walkthrough

This PR integrates hyprwhspr speech-to-text functionality into HyDE by adding the package declaration and wiring a Waybar module that polls the status script every 2 seconds and exposes toggle/restart controls.

Changes

hyprwhspr Speech-to-Text Feature

Layer / File(s) Summary
Package Declaration
Scripts/pkg_extra.lst
Adds hyprwhspr package under a new "Speech-to-Text" section.
Waybar Module Wiring
Configs/.local/share/waybar/modules/custom-hyprwhspr.jsonc
Configures custom/hyprwhspr module to poll hyprwhspr-tray.sh status every 2 seconds (JSON output), with left-click toggle and right-click restart actions, plus tooltip support.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A whisper in code, a voice so clear,
Hyprwhspr brings speech to your system dear!
Toggle and restart with just a click,
Speech-to-text flows smooth and quick. ✨

πŸš₯ Pre-merge checks | βœ… 5
βœ… Passed checks (5 passed)
Check name Status Explanation
Description Check βœ… Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check βœ… Passed The PR title clearly and concisely summarizes the main change: adding a hyprwhspr speech-to-text waybar module, which aligns with the changeset content.
Linked Issues check βœ… Passed All coding requirements from issue #1719 are met: Waybar module with correct exec command, interval, return-type, exec-on-event, format, on-click actions, and tooltip configuration.
Out of Scope Changes check βœ… Passed All changes are within scope: the Waybar module and package list entry directly support the hyprwhspr integration objectives with no extraneous modifications.
Docstring Coverage βœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests

Tip

πŸ’¬ Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire orgβ€”no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-inβ€”scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

πŸ‘‰ Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❀️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

πŸ€– Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Configs/.local/share/wayle/modules/hyprwhspr.toml`:
- Around line 4-7: The README/instruction line and the module id are
inconsistent: the instruction tells users to add "custom-hyprwhspr" but the
module block uses id = "hyprwhspr"; make them match by either updating the
instruction to say add "hyprwhspr" to your bar layout or renaming the module id
to "custom-hyprwhspr" (change the id value in the [[modules.custom]] block).
Ensure the instruction text and the id in the module block ("hyprwhspr" vs
"custom-hyprwhspr") are identical.
πŸͺ„ Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
βš™οΈ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1516bc35-1158-424f-a4ef-bab858549288

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between d2c6841 and a40febf.

πŸ“’ Files selected for processing (3)
  • Configs/.local/share/waybar/modules/custom-hyprwhspr.jsonc
  • Configs/.local/share/wayle/modules/hyprwhspr.toml
  • Scripts/pkg_extra.lst

Comment thread Configs/.local/share/wayle/modules/hyprwhspr.toml Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

πŸ€– Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Configs/.local/share/wayle/modules/sensorsinfo.toml`:
- Around line 15-16: The scroll direction bindings in sensorsinfo.toml are
likely inverted: the keys scroll-up and scroll-down are wired to the commands
"hyde-shell sensorsinfo --prev" and "--next" respectively; if the intended UX is
that scrolling up should advance to the next item and scrolling down should go
to the previous item, swap the command values for the scroll-up and scroll-down
keys so scroll-up uses "--next" and scroll-down uses "--prev" (adjust the values
for the scroll-up and scroll-down entries in the file).
πŸͺ„ Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
βš™οΈ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c4a46b62-61ce-4ecb-af83-bd545567a352

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between a40febf and d22715e.

πŸ“’ Files selected for processing (4)
  • Configs/.local/share/wayle/modules/gpuinfo.toml
  • Configs/.local/share/wayle/modules/keybindhint.toml
  • Configs/.local/share/wayle/modules/sensorsinfo.toml
  • Configs/.local/share/wayle/modules/updates.toml
βœ… Files skipped from review due to trivial changes (2)
  • Configs/.local/share/wayle/modules/updates.toml
  • Configs/.local/share/wayle/modules/gpuinfo.toml

Comment thread Configs/.local/share/wayle/modules/sensorsinfo.toml Outdated
@0xGeN02
0xGeN02 marked this pull request as draft May 9, 2026 02:03
Add waybar custom module for hyprwhspr (native Linux speech-to-text).
Polls the hyprwhspr tray script for recording/ready/stopped/error states
with left-click toggle and right-click restart actions.

Also adds hyprwhspr as an optional package in pkg_extra.lst.

Closes HyDE-Project#1719
@0xGeN02
0xGeN02 force-pushed the feat/hyprwhspr-integration branch from 4a6033d to 1b5a568 Compare May 9, 2026 11:10
@0xGeN02 0xGeN02 changed the title feat: add hyprwhspr speech-to-text integration (waybar + wayle) feat: add hyprwhspr speech-to-text waybar module May 9, 2026
@0xGeN02
0xGeN02 marked this pull request as ready for review May 12, 2026 15:29
@kRHYME7

kRHYME7 commented May 14, 2026

Copy link
Copy Markdown
Contributor

I am planning to freeze the current master branch (user are using that ) and slowly move our development to main where we will do a full lua support for hyprland and remove all the .conf files. and removing all deprecated scripts. The lua support will force users to update the keybindings so it is safe to nuke the deprecated scripts.

@0xGeN02

0xGeN02 commented May 14, 2026

Copy link
Copy Markdown
Contributor Author

another languaje to learn πŸ˜’ hahhaa

@kRHYME7

kRHYME7 commented May 14, 2026

Copy link
Copy Markdown
Contributor

Haha, another language to learn πŸ˜…. Even though Lua is procedural, my mental model for it is kind of OOP-style β€” I treat everything like structs with methods. I'll do a PR soon. But I really want to make our installer better.

On a related note, I’m working on a dotfile manager (deez-dots) https://github.com/hyde-project/deez-dots with a monofile design so it can be curl | sh friendly. I’ve been considering adding uv or pip+venv for cleaner maintenance, and maybe modularizing it. If we go that route, porting to Go could make sense too, especially for building a single binary with interactive UI libraries.

@github-actions

Copy link
Copy Markdown
Contributor

This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.

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.

2 participants