Skip to content

Darken the dock's status ring while the headset is gone - #3

Closed
steeben wants to merge 1 commit into
mainfrom
feature/dim-dock-ring
Closed

steeben wants to merge 1 commit into
mainfrom
feature/dim-dock-ring

Conversation

@steeben

@steeben steeben commented Oct 22, 2026

Copy link
Copy Markdown
Owner

Requested by Stephen · project thread

Adds a Dark while disconnected switch (off by default) under the Charging Dock's lights. When the headset goes quiet on the dock, Neap keeps the status ring's brightness (0x401) in the settings file and writes 0 through the dock; when the headset answers on the dock again with the ring still at 0, the kept brightness is written back.

  • Rule in Core: DockRingDim.ToKeep / ToRestore, with tests.
  • The kept value is saved before the write and cleared only after the restore write, so a quit or crash while the headset is away still restores it, and a kept value is never replaced by 0.
  • A ring found at anything other than 0 on return is left alone (the dim never landed, or someone set it since).

Untried on hardware: the dim write is sent after the headset has stopped answering, since that is the first moment Neap knows it is gone. Whether the dock acts on a write then is unknown. The restore half uses the ordinary connected write path.


Generated by Claude Code

With the headset gone the Charging Dock blinks its status ring white for
about five minutes, and only brightness is reachable. A ring at 0 stays
dark through that blinking, but leaving it at 0 loses the ring while the
headset is in use. So a switch, off by default, turns the ring down as
the headset goes and puts it back when it returns.

The write goes through the dock as the headset is found gone, the last
moment there is anything to write through; whether the dock takes it
then is still to be tried on the headset. The brightness is kept in the
settings file before the write and let go only once put back, so a quit
or crash while the headset is away still restores it, and a kept value
is never replaced by the 0. A ring found at anything but 0 on return is
left as it is.
@steeben steeben self-assigned this Oct 22, 2026
@steeben steeben closed this Oct 22, 2026
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.

1 participant