diff --git a/core/internal/server/themes/list_installed.go b/core/internal/server/themes/list_installed.go index 4f956174..49be81b4 100644 --- a/core/internal/server/themes/list_installed.go +++ b/core/internal/server/themes/list_installed.go @@ -92,21 +92,13 @@ func HandleListInstalled(conn net.Conn, req models.Request) { return } - registry, err := themes.NewRegistry() - if err != nil { - models.RespondError(conn, req.ID, fmt.Sprintf("failed to create registry: %v", err)) - return - } - - allThemes, err := registry.List() - if err != nil { - models.RespondError(conn, req.ID, fmt.Sprintf("failed to list themes: %v", err)) - return - } - themeMap := make(map[string]themes.Theme) - for _, t := range allThemes { - themeMap[t.ID] = t + if registry, err := themes.NewRegistry(); err == nil { + if allThemes, err := registry.List(); err == nil { + for _, t := range allThemes { + themeMap[t.ID] = t + } + } } result := make([]ThemeInfo, 0, len(installedIDs)) diff --git a/quickshell/Modules/Settings/ThemeColorsTab.qml b/quickshell/Modules/Settings/ThemeColorsTab.qml index 84075e78..bd48828d 100644 --- a/quickshell/Modules/Settings/ThemeColorsTab.qml +++ b/quickshell/Modules/Settings/ThemeColorsTab.qml @@ -818,9 +818,12 @@ Item { DankButtonGroup { id: flavorButtonGroup anchors.horizontalCenter: parent.horizontalCenter - buttonPadding: parent.width < 400 ? Theme.spacingS : Theme.spacingL - minButtonWidth: parent.width < 400 ? 44 : 64 - textSize: parent.width < 400 ? Theme.fontSizeSmall : Theme.fontSizeMedium + property int _count: variantSelector.flavorNames.length + property real _maxPerItem: _count > 1 ? (parent.width - (_count - 1) * spacing) / _count : parent.width + buttonPadding: _maxPerItem < 55 ? Theme.spacingXS : (_maxPerItem < 75 ? Theme.spacingS : Theme.spacingL) + minButtonWidth: Math.min(_maxPerItem < 55 ? 28 : (_maxPerItem < 75 ? 44 : 64), Math.max(28, Math.floor(_maxPerItem))) + textSize: _maxPerItem < 55 ? Theme.fontSizeSmall - 2 : (_maxPerItem < 75 ? Theme.fontSizeSmall : Theme.fontSizeMedium) + checkEnabled: _maxPerItem >= 55 property int pendingIndex: -1 model: variantSelector.flavorNames currentIndex: pendingIndex >= 0 ? pendingIndex : variantSelector.flavorIndex @@ -926,9 +929,12 @@ Item { DankButtonGroup { id: variantButtonGroup anchors.horizontalCenter: parent.horizontalCenter - buttonPadding: parent.width < 400 ? Theme.spacingS : Theme.spacingL - minButtonWidth: parent.width < 400 ? 44 : 64 - textSize: parent.width < 400 ? Theme.fontSizeSmall : Theme.fontSizeMedium + property int _count: variantSelector.variantNames.length + property real _maxPerItem: _count > 1 ? (parent.width - (_count - 1) * spacing) / _count : parent.width + buttonPadding: _maxPerItem < 55 ? Theme.spacingXS : (_maxPerItem < 75 ? Theme.spacingS : Theme.spacingL) + minButtonWidth: Math.min(_maxPerItem < 55 ? 28 : (_maxPerItem < 75 ? 44 : 64), Math.max(28, Math.floor(_maxPerItem))) + textSize: _maxPerItem < 55 ? Theme.fontSizeSmall - 2 : (_maxPerItem < 75 ? Theme.fontSizeSmall : Theme.fontSizeMedium) + checkEnabled: _maxPerItem >= 55 property int pendingIndex: -1 model: variantSelector.variantNames currentIndex: pendingIndex >= 0 ? pendingIndex : variantSelector.selectedIndex