From 769dafb4282050925a57971f2a5f8b1c17a02d0a Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Tue, 23 Sep 2025 11:13:00 +0200 Subject: [PATCH] move adapted material scheme to new file --- .../common/models/AdaptedMaterialScheme.qml | 27 +++++++++++++++++++ .../modules/mediaControls/PlayerControl.qml | 19 +++---------- 2 files changed, 30 insertions(+), 16 deletions(-) create mode 100644 .config/quickshell/ii/modules/common/models/AdaptedMaterialScheme.qml diff --git a/.config/quickshell/ii/modules/common/models/AdaptedMaterialScheme.qml b/.config/quickshell/ii/modules/common/models/AdaptedMaterialScheme.qml new file mode 100644 index 000000000..6cc374c93 --- /dev/null +++ b/.config/quickshell/ii/modules/common/models/AdaptedMaterialScheme.qml @@ -0,0 +1,27 @@ +import QtQuick +import qs.modules.common +import qs.modules.common.functions + +/** + * Material color scheme adapted to a given color. It's incomplete but enough for what we need... + */ +QtObject { + id: root + required property color color + readonly property bool colorIsDark: color.hslLightness < 0.5 + + property color colLayer0: ColorUtils.mix(Appearance.colors.colLayer0, root.color, (colorIsDark && Appearance.m3colors.darkmode) ? 0.6 : 0.5) + property color colLayer1: ColorUtils.mix(Appearance.colors.colLayer1, root.color, 0.5) + property color colOnLayer0: ColorUtils.mix(Appearance.colors.colOnLayer0, root.color, 0.5) + property color colOnLayer1: ColorUtils.mix(Appearance.colors.colOnLayer1, root.color, 0.5) + property color colSubtext: ColorUtils.mix(Appearance.colors.colOnLayer1, root.color, 0.5) + property color colPrimary: ColorUtils.mix(ColorUtils.adaptToAccent(Appearance.colors.colPrimary, root.color), root.color, 0.5) + property color colPrimaryHover: ColorUtils.mix(ColorUtils.adaptToAccent(Appearance.colors.colPrimaryHover, root.color), root.color, 0.3) + property color colPrimaryActive: ColorUtils.mix(ColorUtils.adaptToAccent(Appearance.colors.colPrimaryActive, root.color), root.color, 0.3) + property color colSecondary: ColorUtils.mix(ColorUtils.adaptToAccent(Appearance.colors.colSecondary, root.color), root.color, 0.5) + property color colSecondaryContainer: ColorUtils.mix(Appearance.m3colors.m3secondaryContainer, root.color, 0.15) + property color colSecondaryContainerHover: ColorUtils.mix(Appearance.colors.colSecondaryContainerHover, root.color, 0.3) + property color colSecondaryContainerActive: ColorUtils.mix(Appearance.colors.colSecondaryContainerActive, root.color, 0.5) + property color colOnPrimary: ColorUtils.mix(ColorUtils.adaptToAccent(Appearance.m3colors.m3onPrimary, root.color), root.color, 0.5) + property color colOnSecondaryContainer: ColorUtils.mix(Appearance.m3colors.m3onSecondaryContainer, root.color, 0.5) +} diff --git a/.config/quickshell/ii/modules/mediaControls/PlayerControl.qml b/.config/quickshell/ii/modules/mediaControls/PlayerControl.qml index 01ca56068..5be82f09e 100644 --- a/.config/quickshell/ii/modules/mediaControls/PlayerControl.qml +++ b/.config/quickshell/ii/modules/mediaControls/PlayerControl.qml @@ -1,4 +1,5 @@ import qs.modules.common +import qs.modules.common.models import qs.modules.common.widgets import qs.services import qs.modules.common.functions @@ -82,22 +83,8 @@ Item { // Player instance rescaleSize: 1 // Rescale to 1x1 pixel for faster processing } - property bool backgroundIsDark: artDominantColor.hslLightness < 0.5 - property QtObject blendedColors: QtObject { - property color colLayer0: ColorUtils.mix(Appearance.colors.colLayer0, artDominantColor, (backgroundIsDark && Appearance.m3colors.darkmode) ? 0.6 : 0.5) - property color colLayer1: ColorUtils.mix(Appearance.colors.colLayer1, artDominantColor, 0.5) - property color colOnLayer0: ColorUtils.mix(Appearance.colors.colOnLayer0, artDominantColor, 0.5) - property color colOnLayer1: ColorUtils.mix(Appearance.colors.colOnLayer1, artDominantColor, 0.5) - property color colSubtext: ColorUtils.mix(Appearance.colors.colOnLayer1, artDominantColor, 0.5) - property color colPrimary: ColorUtils.mix(ColorUtils.adaptToAccent(Appearance.colors.colPrimary, artDominantColor), artDominantColor, 0.5) - property color colPrimaryHover: ColorUtils.mix(ColorUtils.adaptToAccent(Appearance.colors.colPrimaryHover, artDominantColor), artDominantColor, 0.3) - property color colPrimaryActive: ColorUtils.mix(ColorUtils.adaptToAccent(Appearance.colors.colPrimaryActive, artDominantColor), artDominantColor, 0.3) - property color colSecondaryContainer: ColorUtils.mix(Appearance.m3colors.m3secondaryContainer, artDominantColor, 0.15) - property color colSecondaryContainerHover: ColorUtils.mix(Appearance.colors.colSecondaryContainerHover, artDominantColor, 0.3) - property color colSecondaryContainerActive: ColorUtils.mix(Appearance.colors.colSecondaryContainerActive, artDominantColor, 0.5) - property color colOnPrimary: ColorUtils.mix(ColorUtils.adaptToAccent(Appearance.m3colors.m3onPrimary, artDominantColor), artDominantColor, 0.5) - property color colOnSecondaryContainer: ColorUtils.mix(Appearance.m3colors.m3onSecondaryContainer, artDominantColor, 0.5) - + property QtObject blendedColors: AdaptedMaterialScheme { + color: artDominantColor } StyledRectangularShadow {