summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/BarConfig.qml2
-rw-r--r--modules/background/Border.qml116
-rw-r--r--modules/launcher/Launcher.qml7
-rw-r--r--modules/osd/Osd.qml7
-rw-r--r--widgets/LayerShadow.qml9
-rw-r--r--widgets/VerticalSlider.qml2
6 files changed, 102 insertions, 41 deletions
diff --git a/config/BarConfig.qml b/config/BarConfig.qml
index 18eaf23..345aac9 100644
--- a/config/BarConfig.qml
+++ b/config/BarConfig.qml
@@ -19,7 +19,7 @@ Singleton {
property int totalHeight: height
property int height: 40
property int innerHeight: 30
- property int floatingGap: 10 + BackgroundConfig.border.thickness
+ property int floatingGap: 15
property int maxLabelWidth: 600
property int maxLabelHeight: 400
}
diff --git a/modules/background/Border.qml b/modules/background/Border.qml
index 752a814..a11c565 100644
--- a/modules/background/Border.qml
+++ b/modules/background/Border.qml
@@ -4,54 +4,96 @@ import Quickshell
import QtQuick
import QtQuick.Effects
-StyledWindow {
- id: win
+Scope {
+ id: root
- name: "border"
- exclusionMode: ExclusionMode.Ignore
+ required property ShellScreen screen
- mask: Region {
- x: BackgroundConfig.border.thickness
- y: BackgroundConfig.border.thickness
- width: win.screen.width - BackgroundConfig.border.thickness * 2
- height: win.screen.height - BackgroundConfig.border.thickness * 2
- intersection: Intersection.Xor
- }
+ StyledWindow {
+ id: win
- anchors.top: true
- anchors.bottom: true
- anchors.left: true
- anchors.right: true
+ screen: root.screen
+ name: "border"
+ exclusionMode: ExclusionMode.Ignore
- StyledRect {
- id: rect
+ mask: Region {
+ x: BackgroundConfig.border.thickness
+ y: BackgroundConfig.border.thickness
+ width: win.screen.width - BackgroundConfig.border.thickness * 2
+ height: win.screen.height - BackgroundConfig.border.thickness * 2
+ intersection: Intersection.Xor
+ }
- anchors.fill: parent
- color: Appearance.alpha(Appearance.colours.m3surface, false)
- visible: false
- }
+ anchors.top: true
+ anchors.bottom: true
+ anchors.left: true
+ anchors.right: true
- Item {
- id: mask
+ StyledRect {
+ id: rect
+
+ anchors.fill: parent
+ color: Appearance.alpha(Appearance.colours.m3surface, false)
+ visible: false
+ }
+
+ Item {
+ id: mask
+
+ anchors.fill: parent
+ layer.enabled: true
+ visible: false
+
+ Rectangle {
+ anchors.fill: parent
+ anchors.margins: BackgroundConfig.border.thickness
+ radius: BackgroundConfig.border.rounding
+ }
+ }
- anchors.fill: parent
- layer.enabled: true
- visible: false
+ MultiEffect {
+ id: effect
- Rectangle {
+ visible: false
anchors.fill: parent
- anchors.margins: BackgroundConfig.border.thickness
- radius: BackgroundConfig.border.rounding
+ maskEnabled: true
+ maskInverted: true
+ maskSource: mask
+ source: rect
+ maskThresholdMin: 0.5
+ maskSpreadAtMin: 1
}
+
+ LayerShadow {
+ source: effect
+ }
+ }
+
+ ExclusionZone {
+ anchors.left: false
+ }
+
+ ExclusionZone {
+ anchors.top: false
}
- MultiEffect {
- anchors.fill: parent
- maskEnabled: true
- maskInverted: true
- maskSource: mask
- source: rect
- maskThresholdMin: 0.5
- maskSpreadAtMin: 1
+ ExclusionZone {
+ anchors.right: false
+ }
+
+ ExclusionZone {
+ anchors.bottom: false
+ }
+
+ component ExclusionZone: StyledWindow {
+ screen: root.screen
+ name: "border-exclusion"
+ width: BackgroundConfig.border.thickness
+ height: BackgroundConfig.border.thickness
+
+ anchors.top: true
+ anchors.left: true
+ anchors.bottom: true
+ anchors.right: true
}
}
diff --git a/modules/launcher/Launcher.qml b/modules/launcher/Launcher.qml
index 26549f5..e0b002b 100644
--- a/modules/launcher/Launcher.qml
+++ b/modules/launcher/Launcher.qml
@@ -25,7 +25,6 @@ Scope {
item: wrapper
}
- margins.bottom: BackgroundConfig.border.thickness
anchors.top: true
anchors.left: true
anchors.bottom: true
@@ -34,6 +33,8 @@ Scope {
Background {
id: bg
+ visible: false
+
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
@@ -41,6 +42,10 @@ Scope {
realWrapperHeight: Math.min(wrapper.height, content.height)
}
+ LayerShadow {
+ source: bg
+ }
+
Wrapper {
id: wrapper
diff --git a/modules/osd/Osd.qml b/modules/osd/Osd.qml
index d173a44..009eb2f 100644
--- a/modules/osd/Osd.qml
+++ b/modules/osd/Osd.qml
@@ -64,7 +64,6 @@ Variants {
item: wrapper
}
- margins.right: BackgroundConfig.border.thickness
anchors.left: true
anchors.right: true
height: wrapper.height
@@ -72,6 +71,8 @@ Variants {
Background {
id: bg
+ visible: false
+
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
@@ -79,6 +80,10 @@ Variants {
realWrapperWidth: Math.min(wrapper.width, content.width)
}
+ LayerShadow {
+ source: bg
+ }
+
Wrapper {
id: wrapper
diff --git a/widgets/LayerShadow.qml b/widgets/LayerShadow.qml
new file mode 100644
index 0000000..1694a8e
--- /dev/null
+++ b/widgets/LayerShadow.qml
@@ -0,0 +1,9 @@
+import "root:/config"
+import Qt5Compat.GraphicalEffects
+
+DropShadow {
+ anchors.fill: source
+ color: Qt.alpha(Appearance.colours.m3shadow, 0.7)
+ radius: 10
+ samples: 1 + radius * 2
+}
diff --git a/widgets/VerticalSlider.qml b/widgets/VerticalSlider.qml
index 68fa359..1dbe3f2 100644
--- a/widgets/VerticalSlider.qml
+++ b/widgets/VerticalSlider.qml
@@ -57,7 +57,7 @@ Slider {
animate: true
text: root.icon
- color: Appearance.colours.m3onInverseSurface
+ color: Appearance.colours.m3inverseOnSurface
anchors.centerIn: parent
states: State {