diff --git a/Assets/Translations/en.json b/Assets/Translations/en.json index 07f2aa2e3..6d8bb4591 100644 --- a/Assets/Translations/en.json +++ b/Assets/Translations/en.json @@ -1238,6 +1238,10 @@ "description": "Adjust the dock's background opacity.", "label": "Background opacity" }, + "border-radius": { + "description": "Adjust the dock's border radius.", + "label": "Border radius" + }, "colorize-icons": { "description": "Apply theme colors to dock app icons (non-focused apps only).", "label": "Colorize Icons" diff --git a/Commons/Settings.qml b/Commons/Settings.qml index 72c2f8312..2c03167c0 100644 --- a/Commons/Settings.qml +++ b/Commons/Settings.qml @@ -386,6 +386,7 @@ Singleton { property bool enabled: true property string displayMode: "always_visible" // "always_visible", "auto_hide", "exclusive" property real backgroundOpacity: 1.0 + property real radiusRatio: 0.1 property real floatingRatio: 1.0 property real size: 1 property bool onlySameOutput: true diff --git a/Modules/Dock/Dock.qml b/Modules/Dock/Dock.qml index e68ed433f..e787369d7 100644 --- a/Modules/Dock/Dock.qml +++ b/Modules/Dock/Dock.qml @@ -299,7 +299,7 @@ Loader { height: Math.round(iconSize * 1.5) color: Qt.alpha(Color.mSurface, Settings.data.dock.backgroundOpacity) anchors.centerIn: parent - radius: Style.radiusL + radius: height * 0.5 * Settings.data.dock.radiusRatio border.width: Style.borderS border.color: Qt.alpha(Color.mOutline, Settings.data.dock.backgroundOpacity) diff --git a/Modules/Panels/Settings/Tabs/DockTab.qml b/Modules/Panels/Settings/Tabs/DockTab.qml index 5ca75804d..5e88fa300 100644 --- a/Modules/Panels/Settings/Tabs/DockTab.qml +++ b/Modules/Panels/Settings/Tabs/DockTab.qml @@ -81,6 +81,25 @@ ColumnLayout { } } + ColumnLayout { + visible: Settings.data.dock.enabled + spacing: Style.marginXXS + Layout.fillWidth: true + NLabel { + label: I18n.tr("settings.dock.appearance.border-radius.label") + description: I18n.tr("settings.dock.appearance.border-radius.description") + } + NValueSlider { + Layout.fillWidth: true + from: 0 + to: 1 + stepSize: 0.01 + value: Settings.data.dock.radiusRatio + onMoved: value => Settings.data.dock.radiusRatio = value + text: Math.floor(Settings.data.dock.radiusRatio * 100) + "%" + } + } + ColumnLayout { visible: Settings.data.dock.enabled spacing: Style.marginXXS