Commit Graph

27 Commits (743c504918dd4780a5529802ce2c210de6d18c52)

Author SHA1 Message Date
Chris Nutter 743c504918 Add focused-window volume/mute control and app-group muting
- New active_window_volume/mute_active_window actions using kdotool to
  resolve the focused window under KWin/Wayland.
- New mute_group button action for muting multiple apps at once.
- New "binary:<name>" needle syntax to disambiguate generic Electron apps
  that share a PipeWire application.name with an unrelated app; fixes a bug
  where two knobs/groups matching the same generic name would fight over
  a stream's volume via the periodic reapply loop.
- Add kdotool to PKGBUILD depends, credit original author in README.
2026-08-13 18:06:53 -07:00
Sean Doran 3c0c9adc83
fix: always apply PA stream volume for app/group knobs
MPRIS set_volume returning True was causing an early return that
silently skipped the PulseAudio stream write. PA-only apps like
Brave and Vesktop (registered as Chromium/electron) never had their
volume updated when any MPRIS player coincidentally matched the
target name by substring.

Both set_app_volume and reapply_app_volumes now always apply the PA
correction regardless of MPRIS result, so PA-only and MPRIS-capable
apps are handled correctly in all cases.
2026-03-20 19:45:11 -04:00
Sean Doran 8963b494c3
chore: bump version to 2.1.0 2026-02-28 14:56:52 -05:00
Sean Doran 4c1d9e53d1
fix: sync AUR workflow .SRCINFO with repo; bump to 2.0.2
The workflow was generating a hardcoded .SRCINFO that didn't include
python-fastapi or uvicorn, overwriting the correct file on every
release. Now it patches version/checksum in the existing .SRCINFO.
2026-02-27 21:43:38 -05:00
Sean Doran f8abb7dcfa
chore: bump version to 2.0.1 2026-02-27 21:35:59 -05:00
Sean Doran 719a89465e
fix: correct uvicorn package name to 'uvicorn' in PKGBUILD
Arch Linux packages uvicorn as 'uvicorn', not 'python-uvicorn',
causing dependency resolution to fail during makepkg.
2026-02-27 21:34:22 -05:00
Sean Doran 163619a925
chore: bump version to 2.0.0 2026-02-27 21:28:10 -05:00
Sean Doran 8f8d9ac3fa
feat: add React/Vite PWA web UI with FastAPI backend
- FastAPI + uvicorn server (turnup-ui) serving config API and static files
- React + TypeScript frontend: connection, global LEDs, per-knob/button
  cards, preset save/load/apply, toast notifications, dark theme
- Vite builds into src/turnup/ui/static/ so no Node.js needed at install time
- PWA assets (manifest, service worker, icon) in ui/public/
- turnup-ui.service systemd user unit; enabled globally via turnupd.install
- PKGBUILD: add python-fastapi + python-uvicorn deps, install UI service file
- pyproject.toml: ui extras group, turnup-ui entry point
2026-02-27 21:25:16 -05:00
Sean Doran 1c73dc1883
Bump version to v1.4.0 2026-02-27 19:26:18 -05:00
Sean Doran dbdafabcce
Bump version to v1.3.0 2026-02-27 18:31:20 -05:00
Sean Doran f1fa3080b5
Cap max volume at 100%; bump to v1.2.0 2026-02-27 15:03:50 -05:00
Sean Doran 916541d815
Add TOML config, playerctl dep, and media button defaults; bump to v1.1.0
- Switch config format from JSON to TOML (tomllib built-in on 3.11+,
  tomli fallback for 3.10) so the generated config can include comments
- Write an annotated config.toml on first run with descriptions for every
  knob/button and hints for all available actions
- Promote playerctl from optdepends to depends so media buttons work
  out of the box
- Default buttons 1–3 now pre-configured for playerctl previous/play-pause/next
- Rename contrib/config.example.json → config.example.toml with full
  TOML rewrite including per-knob LED colour override examples
- Log a migration hint when a legacy config.json is detected
2026-02-27 14:38:36 -05:00
Sean Doran 2e77bf804e
Fix AUR publish: include turnupd.install; bump to v1.0.0 2026-02-27 14:02:47 -05:00
Sean Doran 25da5b46ad
Fix: auto-enable service on install, fix service startup, add config hot-reload; bump to v0.3.3 2026-02-27 13:54:57 -05:00
Sean Doran 642a1212c7
Fix: service ExecStart path for pacman install; bump to v0.3.2 2026-02-27 12:50:43 -05:00
Sean Doran 60f6e6cb1d
Fix: keep LEDs lit via heartbeat refresh, init from actual volumes; bump to v0.3.1 2026-02-27 12:32:56 -05:00
Sean Doran 14ff10e959
Fix: always use XDG config path, drop script_dir fallback; bump to v0.3.0 2026-02-27 12:08:37 -05:00
Sean Doran c3a7ea811e
Fix: handle AUR SSH exit code 1, bump to v0.2.9 2026-02-27 12:04:33 -05:00
Sean Doran 85b8d8de26
Bump version to v0.2.8 2026-02-27 12:03:44 -05:00
Sean Doran 900f502c5c
Fix: re-key AUR secret, add fingerprint debug, bump to v0.2.7 2026-02-27 11:59:27 -05:00
Sean Doran c0676b8d91
Bump version to v0.2.1 2026-02-27 11:42:35 -05:00
Sean Doran 44d4df4171
Update PKGBUILD and .SRCINFO for v0.2.0 2026-02-27 11:37:00 -05:00
Sean Doran c82f69b67e
Bump version to 0.2.0 2026-02-27 11:36:26 -05:00
Sean Doran b9e7ef0df6
Add sha256 checksum for v0.1.0 2026-02-27 10:33:08 -05:00
Sean Doran 55f2b6e539 Fix PKGBUILD to comply with Arch/Python package guidelines 2026-02-27 10:13:33 -05:00
Sean Doran 6f1855cb27 Fix pkgname, maintainer email, and AUR package name to match repo 2026-02-27 10:10:37 -05:00
Sean Doran 002721c63c Initial commit 2026-02-27 10:08:09 -05:00