docs: add claude.md and avoid dashes
This commit is contained in:
1 parent
060af7fbae
commit
ad17493f5f
3 files changed
+17
-10
No files matched your search
@@ -0,0 +1,7 @@
|
||||
# CLAUDE.md
|
||||
|
||||
## Style
|
||||
|
||||
- Use simple English: short sentences, common words.
|
||||
- Avoid em dashes (—). Do not just swap them for "-" either. Rewrite the sentence instead, for
|
||||
example with a comma, a colon, brackets or two sentences.
|
||||
@@ -15,7 +15,7 @@ only 16 AVRCP steps, so every swipe on the stem moves the system volume by
|
||||
instead of clean multiples of five. A speaker's volume buttons do the same
|
||||
thing with whatever grid that speaker happens to use.
|
||||
|
||||
This is not a desktop misconfiguration — KDE's own volume step is already
|
||||
This is not a desktop misconfiguration. KDE's own volume step is already
|
||||
exactly 5 %. The grid lives in the device firmware, and it cannot be changed:
|
||||
the device sends *absolute* volume values over AVRCP, not increments.
|
||||
|
||||
@@ -68,7 +68,7 @@ control.
|
||||
## Calibration
|
||||
|
||||
The daemon measures each device's grid on its own. **While a device's grid is
|
||||
unknown it does not intervene at all** — it only watches. Once the same jump
|
||||
unknown it does not intervene at all**, it only watches. Once the same jump
|
||||
has repeated three times, that jump is accepted as the device step and
|
||||
remembered, and corrections start from then on. In practice: press volume-up
|
||||
three or four times on a new device and it is set up.
|
||||
@@ -104,7 +104,7 @@ configuration cascade applies). Changes take effect within two seconds, with
|
||||
no restart. On other desktops, or without `kreadconfig6`, it falls back to
|
||||
5 %.
|
||||
|
||||
Everything can be overridden through the environment — put these in a drop-in
|
||||
Everything can be overridden through the environment. Put these in a drop-in
|
||||
(`systemctl --user edit bt-volume-step`):
|
||||
|
||||
| Variable | Effect |
|
||||
@@ -121,7 +121,7 @@ and calibration per device.
|
||||
|
||||
Messages follow `LC_ALL` / `LC_MESSAGES` / `LANG`. English and German are
|
||||
included; other languages fall back to English. To add one, extend
|
||||
`TRANSLATIONS` in the script — English strings are the keys.
|
||||
`TRANSLATIONS` in the script. English strings are the keys.
|
||||
|
||||
## Limitations
|
||||
|
||||
|
||||
+6
-6
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright (c) 2026, Felitendo
|
||||
"""bt-volume-step - fixed volume steps for Bluetooth audio devices.
|
||||
"""bt-volume-step: fixed volume steps for Bluetooth audio devices.
|
||||
|
||||
Many Bluetooth devices carry a coarse internal volume grid. AirPods Pro, for
|
||||
example, expose only 16 AVRCP steps, so every swipe on the stem moves the
|
||||
@@ -72,8 +72,8 @@ TRANSLATIONS = {
|
||||
"known device steps:": "bekannte Gerätestufen:",
|
||||
"watching {device} at {volume:.1f} %":
|
||||
"beobachte {device} bei {volume:.1f} %",
|
||||
"{device}: measured device step = {step:.2f} % ({count} steps) - active from now on":
|
||||
"{device}: Gerätestufe gemessen = {step:.2f} % ({count} Stufen) – ab jetzt aktiv",
|
||||
"{device}: measured device step = {step:.2f} % ({count} steps), active from now on":
|
||||
"{device}: Gerätestufe gemessen = {step:.2f} % ({count} Stufen), ab jetzt aktiv",
|
||||
"{device}: {last:.1f} % -> device reported {cur:.1f} % -> set {target:.1f} %":
|
||||
"{device}: {last:.1f} % -> Gerät meldete {cur:.1f} % -> gesetzt {target:.1f} %",
|
||||
"file: {path}": "Datei: {path}",
|
||||
@@ -141,7 +141,7 @@ def log(msg):
|
||||
def half_up(x):
|
||||
"""Round half away from zero instead of Python's round-half-to-even.
|
||||
|
||||
Otherwise snap(65, 10) would be 60 while snap(75, 10) is 80 - that is,
|
||||
Otherwise snap(65, 10) would be 60 while snap(75, 10) is 80. That is
|
||||
unpredictable for values sitting exactly between two grid points.
|
||||
"""
|
||||
return math.floor(x + 0.5)
|
||||
@@ -284,7 +284,7 @@ def calibrate(delta, samples, plasma_step):
|
||||
|
||||
A volume button press on the device always produces the same jump. Deltas
|
||||
that match the desktop's own step size most likely come from the keyboard
|
||||
and are skipped - otherwise the daemon would calibrate itself onto them.
|
||||
and are skipped. Otherwise the daemon would calibrate itself onto them.
|
||||
"""
|
||||
mag = abs(delta)
|
||||
if not DEV_MIN <= mag <= DEV_MAX:
|
||||
@@ -387,7 +387,7 @@ def run():
|
||||
entry["step"] = round(found, 3)
|
||||
save_store(store)
|
||||
log(_("{device}: measured device step = {step:.2f} % "
|
||||
"({count} steps) - active from now on")
|
||||
"({count} steps), active from now on")
|
||||
.format(device=device, step=found,
|
||||
count=round(100 / found)))
|
||||
st["last"] = cur
|
||||
|
||||
Reference in new issue
Block a user