feat: Improve hidemode logic for ActiveWindow and MediaMini widgets

This commit is contained in:
loner
2025-10-12 06:27:50 +08:00
parent f843086603
commit 4ed3dad69d
3 changed files with 7 additions and 7 deletions
+4 -4
View File
@@ -31,7 +31,7 @@ Item {
return {}
}
readonly property bool hasActiveWindow: CompositorService.getFocusedWindowTitle() !== ""
readonly property bool hasFocusedWindow: CompositorService.getFocusedWindow() !== null
readonly property string windowTitle: CompositorService.getFocusedWindowTitle() || "No active window"
readonly property string fallbackIcon: "user-desktop"
@@ -40,7 +40,7 @@ Item {
// Widget settings - matching MediaMini pattern
readonly property bool showIcon: (widgetSettings.showIcon !== undefined) ? widgetSettings.showIcon : widgetMetadata.showIcon
readonly property string hideMode: (widgetSettings.hideMode !== undefined) ? widgetSettings.hideMode : "hidden" // "visible", "hidden", "transparent"
readonly property string hideMode: (widgetSettings.hideMode !== undefined) ? widgetSettings.hideMode : widgetMetadata.hideMode
readonly property string scrollingMode: (widgetSettings.scrollingMode !== undefined) ? widgetSettings.scrollingMode : (widgetMetadata.scrollingMode !== undefined ? widgetMetadata.scrollingMode : "hover")
readonly property int widgetWidth: (widgetSettings.width !== undefined) ? widgetSettings.width : Math.max(widgetMetadata.width, screen.width * 0.06)
@@ -48,8 +48,8 @@ Item {
implicitWidth: visible ? ((barPosition === "left" || barPosition === "right") ? Math.round(Style.baseWidgetSize * 0.8 * scaling) : (widgetWidth * scaling)) : 0
// "visible": Always Visible, "hidden": Hide When Empty, "transparent": Transparent When Empty
visible: hideMode !== "hidden" || hasActiveWindow
opacity: hideMode !== "transparent" || hasActiveWindow ? 1.0 : 0
visible: hideMode !== "hidden" || hasFocusedWindow
opacity: hideMode !== "transparent" || hasFocusedWindow ? 1.0 : 0
Behavior on opacity {
NumberAnimation {
duration: Style.animationNormal
+1 -1
View File
@@ -42,7 +42,7 @@ Item {
// Fixed width - no expansion
readonly property real widgetWidth: Math.max(145, screen.width * 0.06)
readonly property bool hasActivePlayer: MediaService.currentPlayer !== null && getTitle() !== ""
readonly property bool hasActivePlayer: MediaService.currentPlayer !== null
readonly property string placeholderText: I18n.tr("bar.widget-settings.media-mini.no-active-player")
readonly property string tooltipText: {
+2 -2
View File
@@ -41,7 +41,7 @@ Singleton {
"ActiveWindow": {
"allowUserSettings": true,
"showIcon": true,
"autoHide": false,
"hideMode": "hidden", // "visible", "hidden", "transparent"
"scrollingMode": "hover",
"width": 145
},
@@ -83,7 +83,7 @@ Singleton {
},
"MediaMini": {
"allowUserSettings": true,
"autoHide": false,
"hideMode": "hidden", // "visible", "hidden", "transparent"
"scrollingMode": "hover",
"showAlbumArt": false,
"showVisualizer": false,