feat: deafen, and a hint bar that fits - #104
Merged
Merged
Conversation
Four things from one pass over the call UI. **Deafen.** `M` (or `:deafen`, or `ringo ctl deafen`) turns the call's audio off in both directions. The speaker side points the call's player at aubridge — audio still arrives and is still decoded, it just stops reaching a speaker, so undoing it needs no renegotiation. Undeafening reads `audio_player` back from the running config rather than restoring a remembered value, so a device swapped mid-call is not clobbered. Deafening takes the microphone with it, the way every chat client resolves this: hearing nothing while still being heard is a trap. The engine only gains one primitive, `set_speaker_muted`; pairing it with the mic is the TUI's policy. Muting by hand and then deafening and then undeafening leaves you muted, which is why the previous mic state is remembered. **A hint bar that fits.** Fifteen hints during a call, most of them global. Now the bar follows the state: idle it lists where you can go, in a call what you can do, and `?` reads "more" so it is visible that something was set aside. Fifteen down to five. The overlays lose their ↑↓ and PgUp/PgDn hints too — scrolling a list needs no telling, and the slots are better spent on what is particular to each overlay. **Hold on one key.** `h` toggles both ways and the label says which way it will go; `r` is gone. A call is in exactly one of the two states, so a separate resume key only ever applied to half of them. The `hold` and `resume` commands stay separate — for scripting, explicit is right. **Leaving a transfer dropped you in the dial field.** Both exits set `dial.mode = Dial`, but entering transfer mode never sets it at all: it stays Normal. So cancelling or sending a transfer put the user in a mode they were never in. Now Normal on both paths, blind and attended.
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Deafen —
M/:deafen/ringo ctl deafenmutes the call in bothdirections. The speaker side points the call's player at aubridge; local only,
so undoing it needs no renegotiation. It takes the microphone with it, and
restores a microphone that was already muted before.
Hint bar — fifteen hints during a call, most of them global. Now it follows
the state: idle lists where you can go, a call lists what you can do, and
?reads "more". Fifteen down to five. The contacts/history/log overlays lose their
↑↓andPgUp/PgDnhints.htoggles hold both ways, with a label that says which way;ris gone.The
hold/resumecommands stay separate for scripting.Fix: leaving a transfer put you in the dial field. Both exits set
dial.mode = Dial, but entering transfer mode never sets it — it stays Normal.