Skip to content

feat: mini player improvements (wheel volume, close menu, top-edge expansion) - #166

Open
zebus3d wants to merge 3 commits into
noFAYZ:mainfrom
zebus3d:feat/mini-player-improvements
Open

zebus3d wants to merge 3 commits into
noFAYZ:mainfrom
zebus3d:feat/mini-player-improvements

Conversation

@zebus3d

@zebus3d zebus3d commented Oct 9, 2026

Copy link
Copy Markdown

What and why

Three small improvements to the mini player, one commit each, so any of them can be taken on its own:

  1. Mouse wheel changes the volume on the classic skin. The other skins already do this, but on the classic capsule the only way to change volume was to switch the hover bar from song position to volume in Settings, which gives up seeking. The wheel now controls volume with the same proportional step as the skins, and the artist line briefly shows Volume N% as feedback.
  2. "Don't show again" option. Closing the mini player only hides it until the main window is next backgrounded. That is right for "not now", but the only way to say "never" was the switch in Settings > Window. A right-click menu now offers Hide for now and Don't show again. On the classic skin it opens from the close button, because a right-click anywhere else on the capsule drags the window; the other skins open it from anywhere. Don't show again only flips the existing mini-player-enabled setting, and the main window reacts exactly as when the switch is turned off.
  3. Classic capsule expands downward near the top of the screen. The classic window is always as tall as the expanded capsule, with the capsule anchored to the bottom so it grows upward. In the top half of the screen that spare room sits above the pill and keeps it from reaching the top edge. The capsule now anchors to whichever half of the monitor the window is in, and the Windows-only hover hit-test follows the same anchor.

How it was checked

  • npm run verify passes
  • Ran the app and used the affected screen: EndeavourOS, KDE Plasma 6.7.5 (X11/XWayland, as the AppImage runs). Wheel volume, the right-click menu on the classic close button, and the top-half expansion all work.
  • Screenshot or clip below (UI changes)

Notes for the reviewer

Tested on Linux only. The hit-test change for the top anchor is in the Windows-only hover poll, so it would be worth a quick look on Windows. The native menu uses @tauri-apps/api/menu, covered by core:default.

The skinned mini players already turn the wheel into volume, but the classic
capsule ignored it. Its only way to change volume was to switch the hover bar
from song position to volume in Settings, which means giving up seeking.

The wheel now controls volume on the classic skin too, with the same
proportional step as the skins. The artist line briefly shows the new level,
so a wheel turn has feedback even when the hover bar is the song position.
Closing the mini player only hides it until the main window is next
backgrounded. That is right for "not now", but the only way to say "never" was
the switch in Settings > Window, which is hard to find from the mini player.

A right-click menu now offers both "Hide for now" and "Don't show again". On
the classic skin it opens from the close button, because a right-click
anywhere else on the capsule drags the window; the other skins open it from
anywhere. "Don't show again" only flips the existing setting, and the main
window reacts to that as it does when the switch is turned off in Settings.
The mini player window is always as tall as the expanded capsule, and the
capsule sits at the bottom of it and grows upward. That suits the default spot
near the bottom of the screen. In the top half, though, the spare room sits
above the pill and keeps it from reaching the top edge.

The capsule now anchors to whichever half of the monitor the window is in. In
the top half it sits at the top of the window and grows downward. The
Windows-only hover hit-test follows the same anchor.
@vercel

vercel Bot commented Oct 9, 2026

Copy link
Copy Markdown

@zebus3d is attempting to deploy a commit to the Faizan Asad's projects Team on Vercel.

A member of the Team first needs to authorize it.

This branch has not been deployed

No deployments
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