feat(customization): add toggle to expand long track titles#1617
Open
Thomas05000005 wants to merge 1 commit into
Open
feat(customization): add toggle to expand long track titles#1617Thomas05000005 wants to merge 1 commit into
Thomas05000005 wants to merge 1 commit into
Conversation
This was referenced May 4, 2026
Thomas05000005
marked this pull request as ready for review
May 8, 2026 15:50
Adds an "Expand long track titles" toggle in the customization settings that lets the track list show titles on more than two lines when needed, instead of always truncating with an ellipsis. The toggle is stored on a new HiveField (150) on FinampSettings, defaults to false (current behaviour), and is read by `TrackListTile` to switch the title/subtitle column between the fixed two-line layout and a growing one driven by `MainAxisSize.min` with `TextOverflow.visible` on the title. Closes finamp-app#995
Thomas05000005
force-pushed
the
feat/expand-track-titles-995
branch
from
May 20, 2026 09:13
6304f5a to
c257e34
Compare
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
Adds a new "Expand long track titles" toggle in Customization Settings. When enabled, track titles in album/artist/genre/playlist tile lists drop the per-tile height cap and the soft
maxLines: 2ellipsis, so titles that previously got cut to a single line (with "...") on narrow window widths now use a second line and the tile grows to fit.Closes #995
Implementation (in
lib/components/AlbumScreen/track_list_tile.dart)Textout of the inline tree into atitleTextWidgetlocal so it can be conditionally wrapped.BoxConstraints(maxHeight: defaultTileHeight)ceiling on the titleColumnwhen the toggle is on, so the column can grow with its content.mainAxisSize: MainAxisSize.minandmainAxisAlignment: MainAxisAlignment.startwhen expanded - the previousMainAxisSize.max + spaceEvenlywas distributing fixed space across the rigid 60-px tile, which is what was clipping the second line on narrow windows.Flexible(flex: 3), and the subtitle'sFlexibleis set toflex: 0so it requests no extra space - both changes are needed forMainAxisSize.minto actually shrink-wrap.maxLinesbecomesnullandoverflow: TextOverflow.visiblewhen expanded;softWrap: trueis explicit.Other PRs:
lib/models/finamp_models.dart: newexpandTrackTitlesfield onFinampSettings(@HiveField(150)) +DefaultSettings.expandTrackTitles = false(off by default - no behavior change for existing users).lib/services/finamp_settings_helper.dart: reset added toresetCustomizationSettings().lib/screens/customization_settings_screen.dart: newExpandTrackTitlesTogglewidget, placed right afterOneLineMarqueeTextSwitch(the closest semantic neighbor - both control how text is presented in tiles).lib/l10n/app_en.arb:expandTrackTitlesTitle/expandTrackTitlesSubtitle.finamp_models.g.dart,finamp_settings_helper.g.dart) regenerated viadart run build_runner build --delete-conflicting-outputs;flutter gen-l10nregeneratedAppLocalizationsgetters.Why this stops at 2 lines (and not "as many as needed")
The original report asked for titles to wrap on as many lines as needed. Tested locally on Windows desktop, the practical effect of the toggle is to free titles from "1 line + ellipsis" up to two full lines -
ListTileMaterial's title slot does not grow much past two lines without dropping theListTilewidget entirely. I chose to stop here on purpose, for two reasons that came up in the issue thread:ListViewscroll performance is preserved. Letting tiles grow to 4-5 lines for occasional classical-music titles would create much larger height variance.If reviewers prefer a true "as-many-lines-as-needed" behavior, I'd be happy to take a follow-up PR that drops the
ListTilewidget for tracks and uses aMaterial + InkWell + Padding + Rowskeleton - that's the cleanest way to lift the cap without fightingListTile's internal layout. Just say the word.Test plan
Tested on Windows desktop (
flutter run -d windows) against a real Jellyfin server with a classical-music-style album that has long track titles like "Becoming one of 'The People' Becoming…":…(existing behavior)Code assistance
Used Claude (LLM) to scaffold the new setting following
CONTRIBUTING.md, to iterate on theColumnconstraints after the first attempts (dropping the height cap alone was not enough;mainAxisSizeand theFlexiblewrappers also had to flip), and to verify the chosen 2-line cap against the maintainer's perf concern.