feat(ui): responsive queue with progressive column priority (Year -> Genre -> Composer) & -v flag - #70
Open
susamn wants to merge 4 commits into
Open
feat(ui): responsive queue with progressive column priority (Year -> Genre -> Composer) & -v flag#70susamn wants to merge 4 commits into
susamn wants to merge 4 commits into
Conversation
…lumn scaling On smaller or scaled screens (such as 1080p with 1.5x scaling or terminal width < 195 columns), omit Year, Genre, and Composer columns to ensure Play count, Mark, Rating, Type, and Duration remain visible. Dynamically calculate text column truncation so trailing metadata columns are never clipped, and adjust lyrics viewer positioning in compact mode.
Print the embedded version string and exit immediately without requiring an MPD connection or touching config files.
…poser) Keep Title, Lyr, Album, Artist, Play Count, Mark, Rating, Type, and Duration across all displays. Progressively reveal optional columns as screen width permits based on priority: Year first, then Genre, and finally Composer on wide screens.
…umns never clip Core columns (Title, Lyr, Album, Artist, Plays, Mark, Rating, Duration) are always guaranteed on all screens. Optional columns are added by priority: Year -> Genre -> Composer -> Type. When unmeasured, safe base layout is used to prevent clipping.
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.
Summary of Changes
Guaranteed Core Columns Across All Displays:
Title,Lyr(when lyrics active),Album,Artist,Plays(when metadata active),Mark(when metadata active),Rating(when metadata active), andDurationare always preserved and displayed across all screens and splits.Progressive Priority for Optional Columns:
Year(added first as width allows)Genre(added next as width allows)Composer(added as width allows; receivesSetExpansion(1))Type(added on ultra-wide screens)Composeris omitted,ArtistreceivesSetExpansion(1).queueColumnTruncationso metadata and duration columns never get pushed off screen.SetDrawFunc.Lyrics Viewer Placement:
Yearwhen visible, or over the right 50% of the Queue table whenYearis omitted.CLI
-vVersion Flag:mpdtui -vprintsversion.Stringand exits immediately.README.mdusage.Verification
make vet fmt build test. All tests pass.