Skip to content

feat: add miniplayer mode#278

Merged
LargeModGames merged 2 commits into
mainfrom
miniplayer-mode-#255
May 27, 2026
Merged

feat: add miniplayer mode#278
LargeModGames merged 2 commits into
mainfrom
miniplayer-mode-#255

Conversation

@LargeModGames
Copy link
Copy Markdown
Owner

This pull request introduces a new "Miniplayer" full-screen playbar view to the application, along with full keyboard and mouse support, configuration, and tests. The changes touch the core app logic, user configuration, layout, event handling, and UI, ensuring the miniplayer is seamlessly integrated and behaves consistently with other full-screen views.

Key changes include:

Miniplayer View Integration

  • Added MiniPlayer variants to the ActiveBlock and RouteId enums, enabling navigation and state management for the new view.
  • Implemented the toggle_miniplayer function and related event handling in src/tui/handlers/mod.rs, allowing users to enter or exit the miniplayer view via a configurable keybinding, with proper stack navigation and escape handling.
  • Added the draw_miniplayer rendering call to the UI runner, ensuring the miniplayer is displayed when active.

Keybinding and Configuration

  • Introduced a new configurable keybinding (miniplayer_view) in UserConfig and related structs, including YAML serialization/deserialization, default assignment, and settings UI integration.
  • Added documentation and help text for the miniplayer keybinding in the help UI.

Layout and Mouse Support

  • Added miniplayer_playbar_area layout function to center and size the playbar appropriately in the miniplayer view, with tests for various terminal sizes.
  • Updated mouse event handling to support playbar interactions in the miniplayer view, including area calculation and focus management.

Event Handling and Playbar Logic

  • Added a dedicated handler for the miniplayer view, delegating key events to the playbar controls and supporting navigation.
  • Refactored playbar event handling to allow action keys to be triggered from the miniplayer view as well.

Tests

  • Added comprehensive tests for miniplayer navigation, keybinding configuration, and mouse interaction, ensuring robust behavior and no regressions.

LargeModGames and others added 2 commits May 19, 2026 19:59
Signed-off-by: LargeModGames <84450916+LargeModGames@users.noreply.github.com>
@LargeModGames LargeModGames merged commit c5acaa6 into main May 27, 2026
9 checks passed
@LargeModGames LargeModGames deleted the miniplayer-mode-#255 branch May 27, 2026 19:51
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