From f7cf249e773ff27d26d9ee91e009c354a37cb588 Mon Sep 17 00:00:00 2001 From: c0mpile Date: Thu, 18 Dec 2025 21:55:51 -0500 Subject: [PATCH 1/2] feat: add aspect ratio filter to Wallhaven wallpaper settings --- Assets/Translations/en.json | 4 ++ Assets/settings-default.json | 1 + Commons/Settings.qml | 1 + .../Wallpaper/WallhavenSettingsPopup.qml | 43 +++++++++++++++++++ 4 files changed, 49 insertions(+) diff --git a/Assets/Translations/en.json b/Assets/Translations/en.json index f4d5a665d..593ffdf3b 100644 --- a/Assets/Translations/en.json +++ b/Assets/Translations/en.json @@ -2730,6 +2730,10 @@ "sfw": "SFW", "sketchy": "Sketchy" }, + "ratios": { + "any": "Any", + "label": "Aspect Ratio" + }, "resolution": { "atleast": "At least", "exact": "Exact", diff --git a/Assets/settings-default.json b/Assets/settings-default.json index d3bc30c3f..dfddf8199 100644 --- a/Assets/settings-default.json +++ b/Assets/settings-default.json @@ -163,6 +163,7 @@ "wallhavenOrder": "desc", "wallhavenCategories": "111", "wallhavenPurity": "100", + "wallhavenRatios": "", "wallhavenResolutionMode": "atleast", "wallhavenResolutionWidth": "", "wallhavenResolutionHeight": "" diff --git a/Commons/Settings.qml b/Commons/Settings.qml index c40d21440..3d5f12e54 100644 --- a/Commons/Settings.qml +++ b/Commons/Settings.qml @@ -342,6 +342,7 @@ Singleton { property string wallhavenOrder: "desc" property string wallhavenCategories: "111" // general,anime,people property string wallhavenPurity: "100" // sfw only + property string wallhavenRatios: "" property string wallhavenResolutionMode: "atleast" // "atleast" or "exact" property string wallhavenResolutionWidth: "" property string wallhavenResolutionHeight: "" diff --git a/Modules/Panels/Wallpaper/WallhavenSettingsPopup.qml b/Modules/Panels/Wallpaper/WallhavenSettingsPopup.qml index c578250df..1f2931f5b 100644 --- a/Modules/Panels/Wallpaper/WallhavenSettingsPopup.qml +++ b/Modules/Panels/Wallpaper/WallhavenSettingsPopup.qml @@ -270,6 +270,48 @@ Popup { } } + // Aspect Ratio + RowLayout { + Layout.fillWidth: true + spacing: Style.marginM + + NText { + text: I18n.tr("wallpaper.panel.ratios.label") + color: Color.mOnSurface + pointSize: Style.fontSizeM + Layout.preferredWidth: implicitWidth + } + + NComboBox { + id: ratioComboBox + Layout.fillWidth: true + Layout.minimumWidth: 200 + model: [ + { "key": "", "name": I18n.tr("wallpaper.panel.ratios.any") }, + { "key": "16x9", "name": "16x9" }, + { "key": "16x10", "name": "16x10" }, + { "key": "21x9", "name": "21x9" }, + { "key": "32x9", "name": "32x9" }, + { "key": "48x9", "name": "48x9" }, + { "key": "9x16", "name": "9x16" }, + { "key": "10x16", "name": "10x16" }, + { "key": "9x18", "name": "9x18" }, + { "key": "1x1", "name": "1x1" }, + { "key": "3x2", "name": "3x2" }, + { "key": "4x3", "name": "4x3" }, + { "key": "5x4", "name": "5x4" } + ] + currentKey: Settings.data.wallpaper.wallhavenRatios || "" + onSelected: key => { + Settings.data.wallpaper.wallhavenRatios = key; + if (typeof WallhavenService !== "undefined") { + WallhavenService.ratios = key; + WallhavenService.search(Settings.data.wallpaper.wallhavenQuery || "", 1); + } + } + } + } + // Categories RowLayout { Layout.fillWidth: true @@ -657,6 +699,7 @@ Popup { WallhavenService.purity = Settings.data.wallpaper.wallhavenPurity; WallhavenService.sorting = Settings.data.wallpaper.wallhavenSorting; WallhavenService.order = Settings.data.wallpaper.wallhavenOrder; + WallhavenService.ratios = Settings.data.wallpaper.wallhavenRatios; // Update resolution settings (without triggering search) updateResolution(false); From 55c467ccb89010dc6652c7cd0e2a146d65f04011 Mon Sep 17 00:00:00 2001 From: Lemmy Date: Fri, 19 Dec 2025 10:19:40 -0500 Subject: [PATCH 2/2] Taskbar: bigger icons, no more inactive scaling. --- Modules/Bar/Widgets/Taskbar.qml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Modules/Bar/Widgets/Taskbar.qml b/Modules/Bar/Widgets/Taskbar.qml index 3b90c657c..b9c6f2fe7 100644 --- a/Modules/Bar/Widgets/Taskbar.qml +++ b/Modules/Bar/Widgets/Taskbar.qml @@ -23,7 +23,7 @@ Rectangle { readonly property string barPosition: Settings.data.bar.position readonly property bool isVerticalBar: barPosition === "left" || barPosition === "right" readonly property string density: Settings.data.bar.density - readonly property real itemSize: (density === "compact") ? Style.capsuleHeight * 0.9 : Style.capsuleHeight * 0.8 + readonly property real itemSize: (density === "compact") ? Style.capsuleHeight * 1.0 : Style.capsuleHeight * 0.9 property var widgetMetadata: BarWidgetRegistry.widgetMetadata[widgetId] property var widgetSettings: { @@ -420,14 +420,14 @@ Rectangle { if (isVerticalBar) return Style.capsuleHeight; - var calculatedWidth = showTitle ? Math.round(taskbarLayout.implicitWidth) : Math.round(taskbarLayout.implicitWidth + Style.marginM * 2); + var calculatedWidth = showTitle ? taskbarLayout.implicitWidth : taskbarLayout.implicitWidth + Style.marginM * 2; // Apply maximum width constraint when smartWidth is enabled if (smartWidth && maxTaskbarWidth > 0) { return Math.min(calculatedWidth, maxTaskbarWidth); } - return calculatedWidth; + return Math.round(calculatedWidth); } implicitHeight: visible ? (isVerticalBar ? Math.round(taskbarLayout.implicitHeight + Style.marginM * 2) : Style.capsuleHeight) : 0 radius: Style.radiusM @@ -473,7 +473,7 @@ Rectangle { readonly property color titleBgColor: (isHovered || isFocused) ? Color.mHover : Style.capsuleColor readonly property color titleFgColor: (isHovered || isFocused) ? Color.mOnHover : Color.mOnSurface - Layout.preferredWidth: root.showTitle ? contentWidth + Style.marginM * 2 : contentWidth // Add margins for both pinned and running apps + Layout.preferredWidth: root.showTitle ? Math.round(contentWidth + Style.marginM * 2) : Math.round(contentWidth) // Add margins for both pinned and running apps Layout.preferredHeight: root.itemSize Layout.alignment: Qt.AlignCenter @@ -517,7 +517,6 @@ Rectangle { source: ThemeIcons.iconForAppId(taskbarItem.modelData.appId) smooth: true asynchronous: true - scale: taskbarItem.isFocused ? 1.0 : 0.8 // Apply dock shader to all taskbar icons layer.enabled: widgetSettings.colorizeIcons !== false