mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-30 15:07:49 -04:00
notifications: no selection ring on modal open clipboard: match the notification header and add a settings butto
settings/interface: explicit window radius match option cc: restore dim in edit mode fixes #3623
This commit is contained in:
1 parent
f025a8d7b4
commit
5cfda4ebe7
9 files changed
+132
-63
No files matched your search
@@ -47,13 +47,14 @@ Item {
|
||||
|
||||
readonly property bool tall: height >= CcMetrics.gridRowUnit * 2
|
||||
readonly property bool hasIconBox: (showExpand || opensPage || expanded) && !compact
|
||||
readonly property bool showsActive: active && interactive
|
||||
readonly property real restRadius: {
|
||||
if (active)
|
||||
if (showsActive)
|
||||
return Math.min(CcMetrics.tileActiveRadius, width / 2, height / 2);
|
||||
return tall ? Math.min(CcMetrics.tallTileRadius, width / 2, height / 2) : Theme.fullRadius(width, height);
|
||||
}
|
||||
readonly property bool acceptsInput: interactive && enabled
|
||||
readonly property bool bodyActive: active && !hasIconBox
|
||||
readonly property bool bodyActive: showsActive && !hasIconBox
|
||||
readonly property color bodyColor: {
|
||||
if (!enabled)
|
||||
return Theme.onSurface_12;
|
||||
@@ -73,20 +74,20 @@ Item {
|
||||
if (!enabled)
|
||||
return Theme.onSurface_38;
|
||||
if (hasIconBox)
|
||||
return active ? CcMetrics.tileActiveContent : CcMetrics.tileInactiveContent;
|
||||
return showsActive ? CcMetrics.tileActiveContent : CcMetrics.tileInactiveContent;
|
||||
return bodyActive ? CcMetrics.tileActiveContent : root.restIconColor;
|
||||
}
|
||||
readonly property color iconBoxColor: {
|
||||
if (!enabled)
|
||||
return Theme.onSurface_12;
|
||||
return active ? CcMetrics.tileActiveColor : CcMetrics.iconBoxInactiveColor;
|
||||
return showsActive ? CcMetrics.tileActiveColor : CcMetrics.iconBoxInactiveColor;
|
||||
}
|
||||
|
||||
property real bodyRadius: bodyLayer.pressed ? Math.min(Theme.cornerRadiusM, width / 2, height / 2) : restRadius
|
||||
property real iconBoxRadius: {
|
||||
if (boxLayer.pressed)
|
||||
return Math.min(Theme.cornerRadiusS, CcMetrics.iconBoxSize / 2);
|
||||
if (active)
|
||||
if (showsActive)
|
||||
return Math.min(CcMetrics.iconBoxActiveRadius, CcMetrics.iconBoxSize / 2);
|
||||
return Theme.fullRadius(CcMetrics.iconBoxSize, CcMetrics.iconBoxSize);
|
||||
}
|
||||
@@ -198,7 +199,7 @@ Item {
|
||||
name: root.iconName
|
||||
size: CcMetrics.tileIconSize
|
||||
color: root.iconColor
|
||||
filled: root.active
|
||||
filled: root.showsActive
|
||||
rotation: root.iconRotation
|
||||
visible: root.compact
|
||||
|
||||
@@ -260,7 +261,7 @@ Item {
|
||||
name: root.iconName
|
||||
size: root.hasIconBox ? CcMetrics.iconBoxIconSize : CcMetrics.tileIconSize
|
||||
color: root.iconColor
|
||||
filled: root.active
|
||||
filled: root.showsActive
|
||||
rotation: root.iconRotation
|
||||
|
||||
DankBlink {
|
||||
|
||||
@@ -103,6 +103,7 @@ Item {
|
||||
id: notificationHeader
|
||||
|
||||
objectName: "notificationHeader"
|
||||
historyView: historyList
|
||||
transientSurfaceTracker: root.host.transientSurfaceTracker ?? null
|
||||
onHeightChanged: root.cachedHeaderHeight = height
|
||||
onSettingsRequested: {
|
||||
|
||||
@@ -8,9 +8,11 @@ Item {
|
||||
id: root
|
||||
|
||||
property var keyboardController: null
|
||||
property var historyView: null
|
||||
property int currentTab: 0
|
||||
property var transientSurfaceTracker: null
|
||||
property bool modal: false
|
||||
readonly property var hintsOwner: currentTab === 1 && historyView ? historyView : keyboardController
|
||||
readonly property string currentLabel: {
|
||||
const count = NotificationService.notifications.length;
|
||||
if (count === 0)
|
||||
@@ -75,11 +77,15 @@ Item {
|
||||
}
|
||||
|
||||
DankActionButton {
|
||||
visible: root.keyboardController !== null
|
||||
readonly property bool hintsShown: root.hintsOwner?.showKeyboardHints ?? false
|
||||
|
||||
visible: root.hintsOwner !== null
|
||||
iconName: "info"
|
||||
buttonSize: Theme.buttonHeightXS
|
||||
backgroundColor: hintsShown ? Theme.secondaryContainer : "transparent"
|
||||
iconColor: hintsShown ? Theme.onSecondaryContainer : Theme.onSurfaceVariant
|
||||
tooltipText: I18n.tr("Keyboard shortcuts")
|
||||
onClicked: root.keyboardController.showKeyboardHints = !root.keyboardController.showKeyboardHints
|
||||
onClicked: root.hintsOwner.showKeyboardHints = !hintsShown
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -257,13 +257,25 @@ Column {
|
||||
onSliderValueChanged: newValue => SettingsData.set("fixedRadius", newValue)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
tab: "theme"
|
||||
tags: ["window", "corner", "radius", "match", "follow", "link", "strength", "compositor"]
|
||||
settingKey: "windowRadiusMatch"
|
||||
text: I18n.tr("Match corner style", "toggle: window radius follows the corner style setting")
|
||||
visible: root.windowRadiusKey !== ""
|
||||
resetKeys: root.windowRadiusKey !== "" ? [root.windowRadiusKey] : []
|
||||
checked: Theme.compositorRadiusOverride < 0
|
||||
onToggled: checked => SettingsData.set(root.windowRadiusKey, checked ? -1 : Math.round(Theme.windowRadius))
|
||||
}
|
||||
|
||||
SettingsSliderRow {
|
||||
tab: "theme"
|
||||
tags: ["window", "corner", "radius", "rounded", "popout", "menu", "modal", "compositor", "niri", "hyprland", "mango"]
|
||||
settingKey: "windowRadius"
|
||||
text: I18n.tr("Window radius")
|
||||
visible: root.windowRadiusKey !== ""
|
||||
resetKeys: root.windowRadiusKey !== "" ? [root.windowRadiusKey] : []
|
||||
enabled: Theme.compositorRadiusOverride >= 0
|
||||
resetKeys: []
|
||||
value: Theme.windowRadius
|
||||
minimum: 0
|
||||
maximum: 64
|
||||
|
||||
Reference in new issue
Block a user