[GH-ISSUE #1305] Volume: hover and scroll to adjust volume #3210

Open
opened 2026-05-22 23:54:50 +01:00 by JakeStanger · 2 comments
Owner

Originally created by @Diax170 on GitHub (Dec 26, 2025).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1305

Is your feature request related to a problem? Please describe.
I would like to be able to hover my mouse over the volume module and scroll to adjust easily without having to open the popup

Describe the solution you'd like
I think this is easy to implement
config options:

  • scroll: type bool, true by default; determines if hovering over the module and adjusting the volume by scrolling is allowed
  • scroll-invert: type bool, false by default; normally scrolling up raises the volume and scrolling down lowers it. Setting this to true inverts the scrolling direction so scrolling up lowers the volume and scrolling down raises it
  • scroll-step: type integer, 5 by default; determines the scroll step (i.e. the amount of volume added/subtracted on a single wheel scroll)

Describe alternatives you've considered
Windows taskbar supports this.
Waybar supports this for both wireplumber and pulseaudio modules.

Originally created by @Diax170 on GitHub (Dec 26, 2025). Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1305 **Is your feature request related to a problem? Please describe.** I would like to be able to hover my mouse over the volume module and scroll to adjust easily without having to open the popup **Describe the solution you'd like** I think this is easy to implement config options: - `scroll`: type `bool`, `true` by default; determines if hovering over the module and adjusting the volume by scrolling is allowed - `scroll-invert`: type `bool`, `false` by default; normally scrolling up raises the volume and scrolling down lowers it. Setting this to `true` inverts the scrolling direction so scrolling up lowers the volume and scrolling down raises it - `scroll-step`: type `integer`, `5` by default; determines the scroll step (i.e. the amount of volume added/subtracted on a single wheel scroll) **Describe alternatives you've considered** Windows taskbar supports this. Waybar supports this for both [wireplumber](https://man.archlinux.org/man/waybar-wireplumber.5.en) and [pulseaudio](https://man.archlinux.org/man/waybar-pulseaudio.5.en) modules.
Author
Owner

@JakeStanger commented on GitHub (Dec 26, 2025):

To note, you can use the on_scroll_up and on_scroll_down properties to achieve this currently:

$volume = { 
  type = "volume" 
  on_scroll_up = "pactl set-sink-volume @DEFAULT_SINK@ +1%" 
  on_scroll_down = "pactl set-sink-volume @DEFAULT_SINK@ -1%"
}

Agreed it would be good to have as a (overridable) native behaviour rather than spawning a shell. An implementation similar to the tray's on_click_* options would be preferable.

<!-- gh-comment-id:3692963425 --> @JakeStanger commented on GitHub (Dec 26, 2025): To note, you can use the `on_scroll_up` and `on_scroll_down` properties to achieve this currently: ```corn $volume = { type = "volume" on_scroll_up = "pactl set-sink-volume @DEFAULT_SINK@ +1%" on_scroll_down = "pactl set-sink-volume @DEFAULT_SINK@ -1%" } ``` Agreed it would be good to have as a (overridable) native behaviour rather than spawning a shell. An implementation similar to the tray's `on_click_*` options would be preferable.
Author
Owner

@Diax170 commented on GitHub (Dec 26, 2025):

thx I'll try that

<!-- gh-comment-id:3693166250 --> @Diax170 commented on GitHub (Dec 26, 2025): thx I'll try that
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
JakeStanger/ironbar#3210
No description provided.