- Alabanza style removed: it only has Spanish recordings, so it always played nothing under the (now-removed) English default. - Language dropdown removed entirely; translation is hard-coded to English (sbe) in Model.js, overriding any legacy saved state too. - Dropdown popups were rendering past the popup window's bottom edge and getting clipped, since the window is sized only to the collapsed rows. Reserve room for the open popup, but only while a dropdown is actually expanded, so the panel doesn't carry permanent dead space. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LYvjTEDeh9T6NqBDdCALMq
dotjuice.thesinging.bible
An Omarchy shell plugin that turns the top bar into a media player/streamer for TheSinging.Bible — the Bible sung in your choice of language, voice, and musical style.
What it does
- Bar pill showing play/pause and the current track (e.g. "Genesis 1")
- Click it for a popup player with full transport controls: loop, prev chapter, rewind 10s, play/pause, forward 10s, next chapter, shuffle, and a seek bar with elapsed/total time
- The same selectors as the website, in the same order: Book, Chapter, Style, Voice, Language
- Remembers your last selection between restarts
- Streams the site's public audio files directly (no login/API key needed)
Requirements
- Omarchy
mpv(used under the hood for streaming/playback control over its JSON IPC socket)
Install
Copy (or clone) this directory to:
~/.config/omarchy/plugins/dotjuice.thesinging.bible/
The shell picks up plugins under ~/.config/omarchy/plugins/ automatically.
Add the widget to your bar with:
omarchy bar put dotjuice.thesinging.bible --section right
(or --section left / --section center, wherever you'd like it). If it
doesn't show up, force a rescan:
omarchy-shell shell rescanPlugins
How it works
Model.jsfetchesmanifest.jsonfrom thesinging.bible for the current list of books, styles, voices, and languages, and builds the audio URL for a given selection (https://audio.thesinging.bible/<translation>/<voice>/<age>/<style>/<book>/<chapter>.mp3). Age (adult/child) isn't a user-facing selector — it's derived automatically per selection, same as the website.BarWidget.qmllaunches a backgroundmpv --idleprocess per session and drives it over its local JSON IPC socket for loading, play/pause, seeking, and chapter navigation.- Last selection is persisted to
~/.local/state/omarchy/plugins/dotjuice.thesinging.bible/state.json.
Credit
All audio and Bible content is © TheSinging.Bible. This plugin is just a native desktop player pointed at their public API/audio — it doesn't ship or host any Bible content itself.
Description
Languages
QML
62.9%
JavaScript
37.1%