Skip to content

Proposal: Media Jump — bring the boomerang to whatever's playing - #2

Open
joncode wants to merge 1 commit into
mainfrom
proposal/media-jump
Open

Proposal: Media Jump — bring the boomerang to whatever's playing#2
joncode wants to merge 1 commit into
mainfrom
proposal/media-jump

Conversation

@joncode

@joncode joncode commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Design proposal, no code yet — full doc in docs/proposals/001-media-jump.md.

The idea

The "where did that window go" hunt isn't just a call problem. YouTube playing on your second screen, Spotify buried under six windows — jumpcall already knows how to end that hunt, and it turns out the detection signal is already being collected: the CoreAudio probe reads isRunningOutput ("this app is playing sound") alongside the mic flag we use for calls. We just never used it.

So: with mediaJump enabled (opt-in), when no call is live but something is playing, the icon shows a distinct media state, the chord jumps you to the playing window — the same profile-agnostic window switcher that finds a Meet call in another Chrome profile finds a … - YouTube tab — and the boomerang bounces you back. Zero new permissions, zero new probes.

Key contract decisions (details + alternatives in the doc)

  • Opt-in, off by default — jumpcall stays calls-first
  • Call always beats media — media is only reachable when no call is live
  • Same chord, extended pass-through — nothing live and nothing playing → the key still passes through untouched
  • Third icon state so the icon never lies about what a click does
  • Noise control: only configured apps/title markers count, plus a two-poll debounce so notification dings never trigger it

Feedback welcome — especially on the open questions at the bottom of the doc (debounce timing, multi-source priority, call-end grace period).

🤖 Generated with Claude Code

Design doc for jumping to the app/tab currently playing audio or video
(YouTube on another screen, Spotify buried under windows) using the
isRunningOutput flag the CoreAudio probe already captures. Covers the
matcher design, the opt-in interaction contract (call > media, same
chord, extended pass-through), noise control, icon third state, and an
implementation sketch. No code changes.

Co-Authored-By: Claude Fable 5 <[email protected]>
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