From 4afe2d844864ca0130cab7a6cbba1e021c490447 Mon Sep 17 00:00:00 2001 From: Juve Date: Wed, 10 Sep 2025 12:55:50 +0800 Subject: [PATCH 1/2] Screen Corners use gerneral radius ratio of settings --- Modules/Background/ScreenCorners.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/Background/ScreenCorners.qml b/Modules/Background/ScreenCorners.qml index ae1709e..187120f 100644 --- a/Modules/Background/ScreenCorners.qml +++ b/Modules/Background/ScreenCorners.qml @@ -20,8 +20,8 @@ Loader { screen: modelData property color cornerColor: Qt.alpha(Color.mSurface, Settings.data.bar.backgroundOpacity) - property real cornerRadius: 20 * scaling - property real cornerSize: 20 * scaling + property real cornerRadius: Style.radiusL * scaling + property real cornerSize: Style.radiusL * scaling Connections { target: ScalingService From f0733f19dd3e2ffa94857e9bc3a89a1ffce0d47c Mon Sep 17 00:00:00 2001 From: Juve Date: Thu, 11 Sep 2025 10:11:01 +0800 Subject: [PATCH 2/2] add a separate configuration item for edge of screen --- Commons/Settings.qml | 1 + Commons/Style.qml | 3 ++ Modules/Background/ScreenCorners.qml | 4 +-- Modules/SettingsPanel/Tabs/GeneralTab.qml | 39 ++++++++++++++++++++--- 4 files changed, 40 insertions(+), 7 deletions(-) diff --git a/Commons/Settings.qml b/Commons/Settings.qml index 224dbd3..4f963a6 100644 --- a/Commons/Settings.qml +++ b/Commons/Settings.qml @@ -317,6 +317,7 @@ Singleton { property bool dimDesktop: false property bool showScreenCorners: false property real radiusRatio: 1.0 + property real screenRadiusRatio: 1.0 // Animation speed multiplier (0.1x - 2.0x) property real animationSpeed: 1.0 } diff --git a/Commons/Style.qml b/Commons/Style.qml index 61f243c..1a232ba 100644 --- a/Commons/Style.qml +++ b/Commons/Style.qml @@ -35,6 +35,9 @@ Singleton { property int radiusM: 16 * Settings.data.general.radiusRatio property int radiusL: 20 * Settings.data.general.radiusRatio + //screen Radii + property int screenRadius: 20 * Settings.data.general.screenRadiusRatio + // Border property int borderS: 1 property int borderM: 2 diff --git a/Modules/Background/ScreenCorners.qml b/Modules/Background/ScreenCorners.qml index 187120f..79acb00 100644 --- a/Modules/Background/ScreenCorners.qml +++ b/Modules/Background/ScreenCorners.qml @@ -20,8 +20,8 @@ Loader { screen: modelData property color cornerColor: Qt.alpha(Color.mSurface, Settings.data.bar.backgroundOpacity) - property real cornerRadius: Style.radiusL * scaling - property real cornerSize: Style.radiusL * scaling + property real cornerRadius: Style.screenRadius * scaling + property real cornerSize: Style.screenRadius * scaling Connections { target: ScalingService diff --git a/Modules/SettingsPanel/Tabs/GeneralTab.qml b/Modules/SettingsPanel/Tabs/GeneralTab.qml index fe4dbcd..d8511cf 100644 --- a/Modules/SettingsPanel/Tabs/GeneralTab.qml +++ b/Modules/SettingsPanel/Tabs/GeneralTab.qml @@ -56,6 +56,13 @@ ColumnLayout { Layout.bottomMargin: Style.marginS * scaling } + NToggle { + label: "Dim Desktop" + description: "Dim the desktop when panels or menus are open." + checked: Settings.data.general.dimDesktop + onToggled: checked => Settings.data.general.dimDesktop = checked + } + NToggle { label: "Show Corners" description: "Display rounded corners on the edge of the screen." @@ -63,11 +70,33 @@ ColumnLayout { onToggled: checked => Settings.data.general.showScreenCorners = checked } - NToggle { - label: "Dim Desktop" - description: "Dim the desktop when panels or menus are open." - checked: Settings.data.general.dimDesktop - onToggled: checked => Settings.data.general.dimDesktop = checked + ColumnLayout { + spacing: Style.marginXXS * scaling + Layout.fillWidth: true + + NLabel { + label: "Screen edge radius" + description: "Adjust the rounded corners of the screen." + } + + RowLayout { + NSlider { + Layout.fillWidth: true + from: 0 + to: 1 + stepSize: 0.01 + value: Settings.data.general.screenRadiusRatio + onMoved: Settings.data.general.screenRadiusRatio = value + cutoutColor: Color.mSurface + } + + NText { + text: Math.floor(Settings.data.general.screenRadiusRatio * 100) + "%" + Layout.alignment: Qt.AlignVCenter + Layout.leftMargin: Style.marginS * scaling + color: Color.mOnSurface + } + } } ColumnLayout {