diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..99ae693 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +./Colors.qml diff --git a/Colors.qml b/Colors.qml deleted file mode 100644 index d19e861..0000000 --- a/Colors.qml +++ /dev/null @@ -1,29 +0,0 @@ -pragma Singleton -import QtQuick -import Quickshell - -Singleton { - id: customColors - // Core Backgrounds - readonly property color background: "#0E1019" - readonly property color foreground: "#FFFAF4" - readonly property color cursor: "#FFFAF4" - - // The 16 Colors of the Apocalypse - readonly property color color0: "#232323" - readonly property color color1: "#FF000F" - readonly property color color2: "#8CE10B" - readonly property color color3: "#FFB900" - readonly property color color4: "#008DF8" - readonly property color color5: "#6D43A6" - readonly property color color6: "#00D8EB" - readonly property color color7: "#FFFFFF" - readonly property color color8: "#444444" - readonly property color color9: "#FF2740" - readonly property color color10: "#ABE15B" - readonly property color color11: "#FFD242" - readonly property color color12: "#0092FF" - readonly property color color13: "#9A5FEB" - readonly property color color14: "#67FFF0" - readonly property color color15: "#FFFFFF" -} diff --git a/modules/wallpaper/:w b/modules/wallpaper/:w new file mode 100644 index 0000000..81b10af --- /dev/null +++ b/modules/wallpaper/:w @@ -0,0 +1,28 @@ +import QtQuick +import QtQuick.Shapes +import Quickshell + +Item { + id: root + property var paddingWidth + property color paddingColor + Shape { + ShapePath { + id: leftPadding + fillColor: root.paddingColor + startX: root.paddingWidth + startY: root.paddingWidth + strokeWidth: root.paddingWidth * 2 + strokeColor: root.paddingColor + PathLine { + x: 0 + root.paddingWidth + y: 1200 + } + + PathLine { + relativeY: 0 + relativeX: 1900 + } + } + } +} diff --git a/modules/wallpaper/Overlay.qml b/modules/wallpaper/Overlay.qml index 058e071..976f8af 100644 --- a/modules/wallpaper/Overlay.qml +++ b/modules/wallpaper/Overlay.qml @@ -7,6 +7,7 @@ import "." WlrLayershell { id: overlayRoot required property var modelData + property var padding: 10 // 1. Fill the entire screen anchors { @@ -28,13 +29,13 @@ WlrLayershell { mask: Region {} // 5. Load the corners! + ScreenPadding { + paddingWidth: overlayRoot.padding + paddingColor: Colors.background + } ScreenCorners { // Adjust these to match your screen's aesthetic - cornerRadius: 25 + cornerRadius: 20 cornerColor: Colors.background - shouldShow: true - - // Ensure it stays on top of any other items in this window - z: 999 } } diff --git a/modules/wallpaper/ScreenCorners.qml b/modules/wallpaper/ScreenCorners.qml index fc1d500..6c41e0b 100644 --- a/modules/wallpaper/ScreenCorners.qml +++ b/modules/wallpaper/ScreenCorners.qml @@ -42,9 +42,9 @@ Item { // Margins (Leave 0 unless your bar overlaps) readonly property real topMargin: 0 - readonly property real bottomMargin: 0 - readonly property real leftMargin: 0 - readonly property real rightMargin: 0 + readonly property real bottomMargin: 10 + readonly property real leftMargin: 10 + readonly property real rightMargin: 10 readonly property real screenWidth: cornersShape.width readonly property real screenHeight: cornersShape.height diff --git a/modules/wallpaper/ScreenPadding.qml b/modules/wallpaper/ScreenPadding.qml new file mode 100644 index 0000000..b914748 --- /dev/null +++ b/modules/wallpaper/ScreenPadding.qml @@ -0,0 +1,67 @@ +import QtQuick +import QtQuick.Shapes +import Quickshell + +Item { + id: root + + // Make sure this fills the screen! + anchors.fill: parent + + property real paddingWidth // Example default + property color paddingColor + + Shape { + anchors.fill: parent + + // 1. LEFT PADDING (Your existing one, cleaned up) + ShapePath { + strokeWidth: root.paddingWidth * 2 + strokeColor: root.paddingColor + fillColor: "transparent" // We only want the stroke + + // Start at Top-Left (x=0, y=0) + // We use '0' to align center with edge, so half is in, half is out + startX: 0 + startY: 0 + + PathLine { + x: root.paddingWidth - root.paddingWidth + y: root.height + root.paddingWidth// Go to Bottom-Left + } + } + + // 2. RIGHT PADDING + ShapePath { + strokeWidth: root.paddingWidth * 2 + strokeColor: root.paddingColor + fillColor: "transparent" + + // Start at Top-Right + startX: root.width + startY: 0 + + PathLine { + x: root.width + y: root.height // Go to Bottom-Right + } + } + + // 3. BOTTOM PADDING (The one you wanted!) + ShapePath { + strokeWidth: root.paddingWidth * 2 + strokeColor: root.paddingColor + fillColor: "transparent" + + // Start at Bottom-Left + startX: 0 + startY: root.height + + PathLine { + // Draw to Bottom-Right + x: root.width + y: root.height + } + } + } +} diff --git a/modules/wallpaper/qmldir b/modules/wallpaper/qmldir index 7fd49a0..0d4258d 100644 --- a/modules/wallpaper/qmldir +++ b/modules/wallpaper/qmldir @@ -2,3 +2,4 @@ Wallpaper 1.0 Wallpaper.qml WallSwitcher 1.0 WallSwitcher.qml Overlay 1.0 Overlay.qml ScreenCorners 1.0 ScreenCorners.qml +ScreenPadding 1.0 ScreenPadding.qml