Repository navigation
Conversation
Adds a volume setting to show and hide the volume flyout together with the media flyout when it is opened from the tray icon or the taskbar widget. Co-authored-by: Codex <codex@openai.com>
unchihugo
left a comment
There was a problem hiding this comment.
Hi @lgc2333, thanks for the PR. Is there still any use for the ShowMediaFlyout() method? Also, let's keep this setting true by default, and move it to the advanced settings since it's a bit technical. Does that sound good to you?
|
Thanks for taking a look. On ShowMediaFlyout: it's still called from four places. The debounced shortcut path, the seekbar relayout, the mouse-enter keep-alive and the close button in the flyout. The wrapper only takes over the tray icon and the taskbar widget, so nothing is orphaned there. If you did mean it should absorb this, the wrapper re-checks three conditions ShowMediaFlyout already checks itself: an active session, fullscreen, and the flyout being enabled. That copy can drift the day someone adds a fourth guard in there. Having ShowMediaFlyout return whether it actually showed would drop the duplication without touching any call site, since they can all ignore the return value. Folding the sync logic into ShowMediaFlyout itself is the other option, but then the mouse-enter keep-alive and the seekbar relayout would sync the volume flyout too, and neither of them should. That leaves us needing an entry flag anyway, which is the wrapper under another name. I'd go further on the setting. The volume flyout already comes up together with the media flyout on media and volume keys, in both HookCallback and WndProc. The tray icon and the widget were the only entries that skipped it. #1050 was written the same way, as a feature request or likely a bug report. So my preference is to delete the setting, the card and the strings, and let this be plain behavior. It also keeps one more string out of Weblate, where it would have to be translated into 30 languages. Your version works and it's the safer one. If you'd rather keep the option, I'll set it true by default and move the card to the advanced page. The toggle only really matters for people who want the volume flyout on volume keys but not on every media flyout open, and without it their only escape is turning the volume flyout off entirely. Which way do you want it? Rewriting the PR is quick either way. |
|
I think it's best we remove the option, and make this the default behavior indeed. It's a good quality-of-life update. |
Summary
Adds a volume setting above the volume flyout stay-duration control for linking manual media flyout triggers with the volume flyout.
Taskbar widget and tray "show media flyout" entries now go through a wrapper that:
These popups are visually syncing when open btw
Media-key and volume-key paths keep their existing direct calls. Auto stay-duration behavior is still timer-driven, so matching media/volume durations naturally collapse together without extra close synchronization.
Motivation
closes #1050
Type of Change
Checklist
Resubmission of #1058.