feat: QoL — taskbar progress, animated title spinner, and configurable completion sound (#1871)#1872
Open
aboimpinto wants to merge 1 commit into
Open
feat: QoL — taskbar progress, animated title spinner, and configurable completion sound (#1871)#1872aboimpinto wants to merge 1 commit into
aboimpinto wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
Code Review
This pull request introduces terminal-level feedback mechanisms, including taskbar progress indicators (OSC 9;4), animated terminal titles that cycle during processing, and configurable completion sounds (Off, Beep, Bell). Review feedback identifies three key areas for improvement: a discrepancy where the title animation logic fails to update the base title on subsequent calls as documented, performance inefficiencies caused by redundant stdout writes during every user interaction, and a concurrency risk where background terminal updates could interleave with the main UI rendering and cause visual corruption.
a97c7e9 to
370f9ae
Compare
…le completion sound (Hmbown#1871)
370f9ae to
5976320
Compare
This was referenced May 21, 2026
Contributor
Author
|
Mergeable against current \main\ (v0.8.44). No rebase needed. |
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.
Quality of Life: Taskbar progress, title animation, and completion sound
Three small QoL features that give visual and audible feedback during/after processing, so the user can alt-tab away and still know when work is done.
Feature 1: Taskbar progress indicator
While the model is thinking or executing tools, Windows Terminal shows a green indeterminate progress bar on the taskbar icon via
OSC 9 ; 4 ; 1. The bar is cleared on completion viaOSC 9 ; 4 ; 0. This is the same mechanism used by file downloads and other long-running operations in Windows Terminal.Feature 2: Animated terminal title
Cycles the terminal tab title between 🐳 and 🐋 every 800ms during processing, matching the whale status indicator already shown in the TUI header. On completion, shows
✅ DeepSeek TUI(only inbeepmode). The marker clears on the next key press or mouse click, so it doesn't persist once the user is back at the terminal.Feature 3: Completion sound
Plays a short sound when every turn finishes, regardless of duration. This is separate from the existing
[notifications]system, which only fires for long turns exceeding the configured threshold (default 30s). Different sound modes in config:beep(default)MessageBeepon Windows,BELelsewhere)bell\x07)offThe logic:
beepemits a system sound that has no visual component (you hear it but can't see it in the taskbar), so the ✅ title marker provides the visual half.belluses the terminal bell which already flashes/indicates visually — adding ✅ on top would be overkill.Implementation
crates/tui/src/tui/notifications.rs— core functions:set_taskbar_progress(),start_title_animation(),stop_title_animation(),play_completion_sound(),CompletionSoundenum wiringcrates/tui/src/core/engine/turn_loop.rs— hook at turn start (triggers progress bar + title animation)crates/tui/src/tui/ui.rs— hook at turn end (clears progress bar + title + plays sound) + on user interaction (clears ✅ marker)crates/tui/src/config.rs—CompletionSoundenum +completion_soundfield inNotificationsConfigConfig
To change the completion sound, add to
~/.deepseek/config.toml:Files changed
4 files, +177/-1, 1 squashed commit.