fix volume panel closing: remove collapse timer, close on device select

This commit is contained in:
Damocles 2026-04-13 22:29:07 +02:00
parent 26de0d6c4f
commit 6f907fd027
2 changed files with 7 additions and 25 deletions

View file

@ -111,10 +111,7 @@ PanelWindow {
}
HoverHandler {
onHoveredChanged: {
console.log("[hoverpanel:" + root.panelNamespace + "] hovered →", hovered);
root.panelHovered = hovered;
}
onHoveredChanged: root.panelHovered = hovered
}
M.PopupBackground {

View file

@ -43,20 +43,8 @@ M.BarSection {
readonly property bool _anyHover: root._hovered || hoverPanel.panelHovered
readonly property bool _showPanel: _anyHover || _expanded || _osdActive
on_ShowPanelChanged: {
console.log("[vol] showPanel:", _showPanel, "| anyHover:", _anyHover, "| expanded:", _expanded, "| osd:", _osdActive);
if (!_showPanel)
_expanded = false;
}
on_ExpandedChanged: console.log("[vol] expanded →", _expanded)
on_AnyHoverChanged: {
console.log("[vol] anyHover →", _anyHover, "| barHover:", root._hovered, "| panelHover:", hoverPanel.panelHovered);
if (_anyHover)
_collapseTimer.stop();
else if (_expanded)
_collapseTimer.start();
}
on_ShowPanelChanged: if (!_showPanel)
_expanded = false
onVolumeChanged: _flashPanel()
onMutedChanged: _flashPanel()
@ -72,12 +60,6 @@ M.BarSection {
onTriggered: root._osdActive = false
}
Timer {
id: _collapseTimer
interval: 1500
onTriggered: root._expanded = false
}
M.BarIcon {
icon: root._volumeIcon
minIcon: "\uF028"
@ -313,7 +295,10 @@ M.BarSection {
}
TapHandler {
onTapped: Pipewire.preferredDefaultAudioSink = modelData
onTapped: {
Pipewire.preferredDefaultAudioSink = modelData;
root._expanded = false;
}
}
}
}