From d96cb88df20494374a41121e56e64113e61df622 Mon Sep 17 00:00:00 2001 From: lucy Date: Sun, 26 Jul 2026 15:24:46 +0200 Subject: [PATCH 01/10] make ipc handler to reload qs --- Colors.qml | 3 +-- modules/ipc/Ipc.qml | 3 +++ widgets/MaterialIcon.qml | 2 +- widgets/StyledText.qml | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Colors.qml b/Colors.qml index ed31b48..541f5b5 100644 --- a/Colors.qml +++ b/Colors.qml @@ -31,7 +31,7 @@ Singleton { watchChanges: true onAdapterUpdated: reload() onAdapterChanged: reload() - blockLoading: true // colors resolved before first paint, no flash of defaults + blockLoading: true property alias base00: palette.base00 property alias base01: palette.base01 property alias base02: palette.base02 @@ -51,7 +51,6 @@ Singleton { JsonAdapter { id: palette - // strings, not colors — QML coerces "#rrggbb" -> color at the readonly props above property string base00 property string base01 property string base02 diff --git a/modules/ipc/Ipc.qml b/modules/ipc/Ipc.qml index 3abb6eb..e7f74a4 100644 --- a/modules/ipc/Ipc.qml +++ b/modules/ipc/Ipc.qml @@ -36,6 +36,9 @@ IpcHandler { function floating(toggle: bool) { Config.floating = toggle } + function reload(hard: bool) { + Quickshell.reload(hard) + } function setWall(newWall: string) { if (newWall.startsWith("/")) { diff --git a/widgets/MaterialIcon.qml b/widgets/MaterialIcon.qml index c7e8a62..6db34c6 100644 --- a/widgets/MaterialIcon.qml +++ b/widgets/MaterialIcon.qml @@ -4,7 +4,7 @@ import QtQuick Text { font.family: "Material Symbols Rounded" - color: Colors.base07 + color: Colors.base05 font.pixelSize: Config.iconSize property bool fill: true renderType: Text.NativeRendering diff --git a/widgets/StyledText.qml b/widgets/StyledText.qml index 6ee74f2..8f3cd00 100644 --- a/widgets/StyledText.qml +++ b/widgets/StyledText.qml @@ -5,5 +5,5 @@ import qs.settings Text { font.family: Config.font font.pixelSize: Config.fontSize - color: Colors.base07 + color: Colors.base05 } From 8e4c0fed9c96334dc12a433ded0c0b68a8d66f46 Mon Sep 17 00:00:00 2001 From: lucy Date: Sun, 26 Jul 2026 15:33:29 +0200 Subject: [PATCH 02/10] fix clock showing single digit seconds --- modules/bar/Clock.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/bar/Clock.qml b/modules/bar/Clock.qml index f706fb7..75f9192 100644 --- a/modules/bar/Clock.qml +++ b/modules/bar/Clock.qml @@ -19,6 +19,6 @@ Rectangle { StyledText { id: clockText anchors.centerIn: root - text: Qt.formatDateTime(clock.date, "d.M.yy - hh:mm:s") + text: Qt.formatDateTime(clock.date, "d.M.yy - hh:mm:ss") } } From 3c744a0156b9415ac984cf52c38eea974d9b43ad Mon Sep 17 00:00:00 2001 From: lucy Date: Sun, 26 Jul 2026 19:45:52 +0200 Subject: [PATCH 03/10] add wallpaper picker --- modules/bar/Bar.qml | 21 +++-- modules/corners/ScreenCorners.qml | 8 +- modules/wallpaper/WallpaperPicker.qml | 124 ++++++++++++++++++++++++++ settings/Config.qml | 4 +- shell.qml | 1 + 5 files changed, 148 insertions(+), 10 deletions(-) create mode 100644 modules/wallpaper/WallpaperPicker.qml diff --git a/modules/bar/Bar.qml b/modules/bar/Bar.qml index c694e2e..ee72501 100644 --- a/modules/bar/Bar.qml +++ b/modules/bar/Bar.qml @@ -5,6 +5,7 @@ import Quickshell.Wayland import qs import qs.settings +import qs.modules.wallpaper Variants { model: Quickshell.screens @@ -45,13 +46,17 @@ Variants { moduleHeight: root.moduleHeight } } - - RowLayout { - id: centerLayout + Item { + id: middleItem anchors.centerIn: parent - spacing: 5 - Clock { - moduleHeight: root.moduleHeight + implicitWidth: centerLayout.width + implicitHeight: centerLayout.height + RowLayout { + id: centerLayout + spacing: 5 + Clock { + moduleHeight: root.moduleHeight + } } } @@ -73,6 +78,10 @@ Variants { Tray { moduleHeight: root.moduleHeight } + WallpaperPicker { + moduleHeight: root.moduleHeight + screenHeight: root.modelData.height + } } } } diff --git a/modules/corners/ScreenCorners.qml b/modules/corners/ScreenCorners.qml index 2fae0a9..9d524c8 100644 --- a/modules/corners/ScreenCorners.qml +++ b/modules/corners/ScreenCorners.qml @@ -14,7 +14,7 @@ import qs.settings */ Variants { model: Quickshell.screens - delegate: PanelWindow { + delegate: WlrLayershell { id: root required property ShellScreen modelData screen: modelData @@ -24,9 +24,11 @@ Variants { left: true right: true } - margins.top: Config.floating ? 0 : Config.barHeight + margins { + top: Config.floating ? 0 : Config.barHeight + } mask: Region { - item: root + item: Item {} } color: 'transparent' exclusionMode: ExclusionMode.Ignore diff --git a/modules/wallpaper/WallpaperPicker.qml b/modules/wallpaper/WallpaperPicker.qml new file mode 100644 index 0000000..2b9039b --- /dev/null +++ b/modules/wallpaper/WallpaperPicker.qml @@ -0,0 +1,124 @@ +pragma ComponentBehavior: Bound +import Quickshell +import Quickshell.Wayland +import Quickshell.Widgets +import Quickshell.Hyprland +import QtQuick +import Qt.labs.folderlistmodel 2.11 + +import qs +import qs.settings +import qs.widgets + +Rectangle { + id: main + required property real moduleHeight + required property int screenHeight + color: Colors.base01 + radius: Config.rounding + implicitWidth: moduleHeight + implicitHeight: moduleHeight + MaterialIcon { + anchors.centerIn: main + text: "\ue1bc" + } + MouseArea { + id: clickHandler + anchors.fill: main + acceptedButtons: Qt.LeftButton + cursorShape: Qt.PointingHandCursor + onClicked: { + wallPicker.visible = !wallPicker.visible; + } + } + WlrLayershell { + id: wallPicker + visible: false + exclusionMode: ExclusionMode.Ignore + keyboardFocus: WlrKeyboardFocus.OnDemand + implicitHeight: 300 + color: 'transparent' + anchors { + bottom: true + left: true + right: true + } + margins { + bottom: 20 + left: 20 + right: 20 + } + HyprlandFocusGrab { + id: grabber + active: wallPicker.visible + windows: [wallPicker] + onCleared: wallPicker.visible = false + } + onVisibleChanged: { + if (wallPicker.visible) + container.forceActiveFocus(); + } + ClippingRectangle { + id: container + focus: true + Keys.onEscapePressed: { + wallPicker.visible = false; + } + anchors.fill: parent + color: Colors.base02 + radius: Config.rounding + border.width: 2 + border.color: Colors.base0D + clip: true + GridView { + id: wallpaperLayout + clip: true + snapMode: GridView.SnapOneRow + flow: GridView.FlowTopToBottom + width: parent.width - 10 + height: parent.height - 10 + anchors.centerIn: parent + model: wallpaperList + cellWidth: ((wallPicker.width - wallPicker.margins.left * 2) / 5) + 5 + cellHeight: (wallPicker.height - wallPicker.margins.bottom / 2) + delegate: ClippingWrapperRectangle { + id: wallTile + margin: 10 + required property var modelData + color: 'transparent' + radius: Config.rounding - 4 + implicitWidth: (wallPicker.width - wallPicker.margins.left * 2) / 5 + implicitHeight: wallPicker.height - wallPicker.margins.bottom / 2 + child: ClippingRectangle { + id: wpRounder + color: 'transparent' + radius: Config.rounding + Image { + id: wallpaper + anchors.fill: parent + source: wallTile.modelData.filePath + sourceSize.width: 16 * 30 + sourceSize.height: 9 * 30 + asynchronous: true + cache: true + } + MouseArea { + id: wpClickHandler + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + acceptedButtons: Qt.LeftButton + onClicked: { + Config.wallpaper = wallTile.modelData.filePath; + } + } + } + } + } + FolderListModel { + id: wallpaperList + folder: Config.wallDir + nameFilters: ["*.png"] + } + } + } +} diff --git a/settings/Config.qml b/settings/Config.qml index 135ac96..329982a 100644 --- a/settings/Config.qml +++ b/settings/Config.qml @@ -5,7 +5,7 @@ import Quickshell Singleton { id: root - property string font: "Adwaita Mono Nerd Font Propo" + property string font: "Maple Mono" property int fontSize: 12 property int iconSize: 14 property int barHeight: 30 @@ -14,6 +14,7 @@ Singleton { property bool floating: false property double opacity: 1.0 property string primaryMon: "eDP-1" + property string wallDir: "file://" + Quickshell.env("HOME") + "/.walls" Settings { location: Qt.resolvedUrl("file:///home/lucy/.config/quickshell/settings/settings.ini") @@ -25,5 +26,6 @@ Singleton { property alias opacity: root.opacity property alias primaryMon: root.primaryMon property alias floating: root.floating + property alias wallDir: root.wallDir } } diff --git a/shell.qml b/shell.qml index ebaff3f..7c4816d 100644 --- a/shell.qml +++ b/shell.qml @@ -12,4 +12,5 @@ ShellRoot { Ipc {} Wallpaper {} NotiPopup {} + WallpaperPicker {} } From 759cdb87cc584bc00d3f580446f612d9fb92cca6 Mon Sep 17 00:00:00 2001 From: lucy Date: Sun, 26 Jul 2026 20:02:43 +0200 Subject: [PATCH 04/10] remove debug logs from notifications --- modules/notifications/NotiPopup.qml | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/notifications/NotiPopup.qml b/modules/notifications/NotiPopup.qml index 24798cd..ac509e8 100644 --- a/modules/notifications/NotiPopup.qml +++ b/modules/notifications/NotiPopup.qml @@ -13,7 +13,6 @@ WlrLayershell { for (let i = 0; i < Quickshell.screens.length; i++) { current = Quickshell.screens[i]; if (Hyprland.monitorFor(current) == Hyprland.focusedMonitor) { - console.log(current.name); return current; } } From 0405e2d3dc8ee4e1dc3dde06e86910e5395b8655 Mon Sep 17 00:00:00 2001 From: lucy Date: Sun, 26 Jul 2026 20:34:26 +0200 Subject: [PATCH 05/10] add drop shadow to wp selector --- modules/wallpaper/WallpaperPicker.qml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/modules/wallpaper/WallpaperPicker.qml b/modules/wallpaper/WallpaperPicker.qml index 2b9039b..cc5e19b 100644 --- a/modules/wallpaper/WallpaperPicker.qml +++ b/modules/wallpaper/WallpaperPicker.qml @@ -5,6 +5,7 @@ import Quickshell.Widgets import Quickshell.Hyprland import QtQuick import Qt.labs.folderlistmodel 2.11 +import QtQuick.Effects import qs import qs.settings @@ -65,7 +66,7 @@ Rectangle { wallPicker.visible = false; } anchors.fill: parent - color: Colors.base02 + color: Colors.base01 radius: Config.rounding border.width: 2 border.color: Colors.base0D @@ -74,15 +75,25 @@ Rectangle { id: wallpaperLayout clip: true snapMode: GridView.SnapOneRow + anchors.fill: parent flow: GridView.FlowTopToBottom width: parent.width - 10 height: parent.height - 10 anchors.centerIn: parent model: wallpaperList - cellWidth: ((wallPicker.width - wallPicker.margins.left * 2) / 5) + 5 - cellHeight: (wallPicker.height - wallPicker.margins.bottom / 2) + cellWidth: ((wallPicker.width) / 5) - 2 + cellHeight: wallPicker.height delegate: ClippingWrapperRectangle { id: wallTile + layer.enabled: true + layer.effect: MultiEffect { + id: dropShadow + source: wallTile + shadowEnabled: true + shadowHorizontalOffset: 10 + shadowVerticalOffset: 10 + shadowColor: "#020202" + } margin: 10 required property var modelData color: 'transparent' @@ -107,6 +118,7 @@ Rectangle { anchors.fill: parent cursorShape: Qt.PointingHandCursor acceptedButtons: Qt.LeftButton + hoverEnabled: true onClicked: { Config.wallpaper = wallTile.modelData.filePath; } From 6f1ed99e24ccaf4983a8dbe695d0ebf984d9df21 Mon Sep 17 00:00:00 2001 From: lucy Date: Mon, 27 Jul 2026 00:37:33 +0200 Subject: [PATCH 06/10] use lighter bg for bar modules --- modules/bar/ActiveWindow.qml | 2 +- modules/bar/Bat.qml | 3 +-- modules/bar/Clock.qml | 2 +- modules/bar/Mpris.qml | 3 +-- modules/bar/Pw.qml | 2 +- modules/bar/Tray.qml | 2 +- modules/wallpaper/WallpaperPicker.qml | 4 +++- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/bar/ActiveWindow.qml b/modules/bar/ActiveWindow.qml index 39e8ede..59b42fb 100644 --- a/modules/bar/ActiveWindow.qml +++ b/modules/bar/ActiveWindow.qml @@ -11,7 +11,7 @@ Rectangle { required property double moduleHeight implicitHeight: moduleHeight implicitWidth: titleLayout.width + 32 - color: Colors.base01 + color: Colors.base02 radius: Config.rounding RowLayout { id: titleLayout diff --git a/modules/bar/Bat.qml b/modules/bar/Bat.qml index 1803202..58b52d1 100644 --- a/modules/bar/Bat.qml +++ b/modules/bar/Bat.qml @@ -1,4 +1,3 @@ -import Quickshell.Widgets import Quickshell.Services.UPower import QtQuick import QtQuick.Layouts @@ -9,7 +8,7 @@ import qs.settings Rectangle { id: root clip: true - color: Colors.base01 + color: Colors.base02 visible: UPower.displayDevice.isLaptopBattery property double percent: UPower.displayDevice.percentage * 100 property bool hasBattery: UPower.displayDevice.isLaptopBattery diff --git a/modules/bar/Clock.qml b/modules/bar/Clock.qml index 75f9192..0b6be4c 100644 --- a/modules/bar/Clock.qml +++ b/modules/bar/Clock.qml @@ -10,7 +10,7 @@ Rectangle { required property double moduleHeight implicitHeight: moduleHeight implicitWidth: clockText.implicitWidth + 32 - color: Colors.base01 + color: Colors.base02 radius: Config.rounding SystemClock { id: clock diff --git a/modules/bar/Mpris.qml b/modules/bar/Mpris.qml index 02026e6..8295400 100644 --- a/modules/bar/Mpris.qml +++ b/modules/bar/Mpris.qml @@ -1,5 +1,4 @@ import Quickshell.Services.Mpris -import Quickshell.Widgets import QtQuick import QtQuick.Layouts import qs @@ -20,7 +19,7 @@ Rectangle { } visible: spotify !== null && spotify.playbackState === MprisPlaybackState.Playing clip: true - color: Colors.base01 + color: Colors.base02 radius: Config.rounding RowLayout { id: songLayout diff --git a/modules/bar/Pw.qml b/modules/bar/Pw.qml index 9b24542..a89b9c6 100644 --- a/modules/bar/Pw.qml +++ b/modules/bar/Pw.qml @@ -8,7 +8,7 @@ import qs.settings Rectangle { id: root - color: clickHandler.containsMouse ? Colors.base02 : Colors.base01 + color: clickHandler.containsMouse ? Colors.base03 : Colors.base02 property PwNode defaultAudio: Pipewire.ready ? Pipewire.defaultAudioSink : null property bool mute: Pipewire.ready ? defaultAudio?.audio.muted : null radius: Config.rounding diff --git a/modules/bar/Tray.qml b/modules/bar/Tray.qml index 83f8668..c7d36a5 100644 --- a/modules/bar/Tray.qml +++ b/modules/bar/Tray.qml @@ -14,7 +14,7 @@ Rectangle { required property double moduleHeight implicitHeight: moduleHeight implicitWidth: iconlayout.width + 16 - color: Colors.base01 + color: Colors.base02 radius: Config.rounding RowLayout { diff --git a/modules/wallpaper/WallpaperPicker.qml b/modules/wallpaper/WallpaperPicker.qml index cc5e19b..4bff440 100644 --- a/modules/wallpaper/WallpaperPicker.qml +++ b/modules/wallpaper/WallpaperPicker.qml @@ -15,13 +15,15 @@ Rectangle { id: main required property real moduleHeight required property int screenHeight - color: Colors.base01 + color: Colors.base02 radius: Config.rounding implicitWidth: moduleHeight implicitHeight: moduleHeight MaterialIcon { anchors.centerIn: main text: "\ue1bc" + font.pixelSize: 16 + font.bold: true } MouseArea { id: clickHandler From 2f4e12b078a84a6f1be742037c1b8320bc0586b7 Mon Sep 17 00:00:00 2001 From: lucy Date: Mon, 27 Jul 2026 17:00:02 +0200 Subject: [PATCH 07/10] change wallpicker cell dimension logic --- modules/wallpaper/WallpaperPicker.qml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/modules/wallpaper/WallpaperPicker.qml b/modules/wallpaper/WallpaperPicker.qml index 4bff440..3ad644e 100644 --- a/modules/wallpaper/WallpaperPicker.qml +++ b/modules/wallpaper/WallpaperPicker.qml @@ -39,7 +39,7 @@ Rectangle { visible: false exclusionMode: ExclusionMode.Ignore keyboardFocus: WlrKeyboardFocus.OnDemand - implicitHeight: 300 + implicitHeight: 250 color: 'transparent' anchors { bottom: true @@ -77,14 +77,13 @@ Rectangle { id: wallpaperLayout clip: true snapMode: GridView.SnapOneRow - anchors.fill: parent flow: GridView.FlowTopToBottom - width: parent.width - 10 - height: parent.height - 10 + cellHeight: container.height + cellWidth: container.width / 6 + width: parent.width + height: parent.height anchors.centerIn: parent model: wallpaperList - cellWidth: ((wallPicker.width) / 5) - 2 - cellHeight: wallPicker.height delegate: ClippingWrapperRectangle { id: wallTile layer.enabled: true @@ -100,8 +99,8 @@ Rectangle { required property var modelData color: 'transparent' radius: Config.rounding - 4 - implicitWidth: (wallPicker.width - wallPicker.margins.left * 2) / 5 - implicitHeight: wallPicker.height - wallPicker.margins.bottom / 2 + implicitWidth: (wallPicker.width - wallPicker.margins.left * 2) / 6 + implicitHeight: wallPicker.height - wallPicker.margins.bottom / 4 child: ClippingRectangle { id: wpRounder color: 'transparent' From 83c84b68803ea9cc0d68701cdac7e986b7079269 Mon Sep 17 00:00:00 2001 From: lucy Date: Tue, 28 Jul 2026 09:01:27 +0200 Subject: [PATCH 08/10] fix wallpaper picker spacing --- modules/wallpaper/WallpaperPicker.qml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/wallpaper/WallpaperPicker.qml b/modules/wallpaper/WallpaperPicker.qml index 3ad644e..7919da9 100644 --- a/modules/wallpaper/WallpaperPicker.qml +++ b/modules/wallpaper/WallpaperPicker.qml @@ -39,7 +39,7 @@ Rectangle { visible: false exclusionMode: ExclusionMode.Ignore keyboardFocus: WlrKeyboardFocus.OnDemand - implicitHeight: 250 + implicitHeight: main.screenHeight / 8 color: 'transparent' anchors { bottom: true @@ -79,7 +79,7 @@ Rectangle { snapMode: GridView.SnapOneRow flow: GridView.FlowTopToBottom cellHeight: container.height - cellWidth: container.width / 6 + cellWidth: container.width / 8 width: parent.width height: parent.height anchors.centerIn: parent @@ -99,8 +99,8 @@ Rectangle { required property var modelData color: 'transparent' radius: Config.rounding - 4 - implicitWidth: (wallPicker.width - wallPicker.margins.left * 2) / 6 - implicitHeight: wallPicker.height - wallPicker.margins.bottom / 4 + implicitWidth: wallPicker.width / 8 + implicitHeight: wallPicker.height child: ClippingRectangle { id: wpRounder color: 'transparent' From a0de1f29c65d4a7a32fd310099ccad2584fcc517 Mon Sep 17 00:00:00 2001 From: lucy Date: Fri, 31 Jul 2026 12:50:24 +0200 Subject: [PATCH 09/10] fix spacing and rounding issues in wallpaperpicker --- modules/wallpaper/WallpaperPicker.qml | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/modules/wallpaper/WallpaperPicker.qml b/modules/wallpaper/WallpaperPicker.qml index 7919da9..ec2203d 100644 --- a/modules/wallpaper/WallpaperPicker.qml +++ b/modules/wallpaper/WallpaperPicker.qml @@ -72,39 +72,27 @@ Rectangle { radius: Config.rounding border.width: 2 border.color: Colors.base0D - clip: true GridView { id: wallpaperLayout clip: true snapMode: GridView.SnapOneRow flow: GridView.FlowTopToBottom cellHeight: container.height - cellWidth: container.width / 8 - width: parent.width - height: parent.height - anchors.centerIn: parent + cellWidth: container.width / 8 + anchors.fill: parent + anchors.rightMargin: 10 model: wallpaperList delegate: ClippingWrapperRectangle { id: wallTile - layer.enabled: true - layer.effect: MultiEffect { - id: dropShadow - source: wallTile - shadowEnabled: true - shadowHorizontalOffset: 10 - shadowVerticalOffset: 10 - shadowColor: "#020202" - } margin: 10 required property var modelData color: 'transparent' - radius: Config.rounding - 4 implicitWidth: wallPicker.width / 8 implicitHeight: wallPicker.height child: ClippingRectangle { id: wpRounder color: 'transparent' - radius: Config.rounding + radius: Config.rounding / 1.5 Image { id: wallpaper anchors.fill: parent From 44ec5354f9cc8b08e7163d92144973c95b0f5813 Mon Sep 17 00:00:00 2001 From: lucy Date: Sun, 2 Aug 2026 21:30:24 +0200 Subject: [PATCH 10/10] add shadows to bar modules --- modules/bar/ActiveWindow.qml | 12 ++++++++++++ modules/bar/Bar.qml | 2 +- modules/bar/Bat.qml | 11 +++++++++++ modules/bar/Clock.qml | 12 ++++++++++++ modules/bar/Mpris.qml | 12 ++++++++++++ modules/bar/Pw.qml | 12 ++++++++++++ modules/bar/Tray.qml | 11 +++++++++++ modules/wallpaper/WallpaperPicker.qml | 11 +++++++++++ 8 files changed, 82 insertions(+), 1 deletion(-) diff --git a/modules/bar/ActiveWindow.qml b/modules/bar/ActiveWindow.qml index 59b42fb..389cf47 100644 --- a/modules/bar/ActiveWindow.qml +++ b/modules/bar/ActiveWindow.qml @@ -1,3 +1,4 @@ +pragma ComponentBehavior: Bound import Quickshell.Widgets import Quickshell.Hyprland import QtQuick @@ -5,10 +6,21 @@ import QtQuick.Layouts import qs import qs.widgets import qs.settings +import QtQuick.Effects Rectangle { id: root required property double moduleHeight + layer.enabled: true + layer.effect: MultiEffect { + id: dropShadow + source: root + shadowEnabled: true + shadowHorizontalOffset: 4 + shadowVerticalOffset: 2 + shadowOpacity: 0.5 + shadowColor: "#020202" + } implicitHeight: moduleHeight implicitWidth: titleLayout.width + 32 color: Colors.base02 diff --git a/modules/bar/Bar.qml b/modules/bar/Bar.qml index ee72501..ef05e9d 100644 --- a/modules/bar/Bar.qml +++ b/modules/bar/Bar.qml @@ -64,7 +64,7 @@ Variants { id: rightLayout anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter - spacing: 5 + spacing: 15 anchors.rightMargin: Config.floating ? (Config.barHeight - root.moduleHeight) / 2 : Config.rounding Mpris { moduleHeight: root.moduleHeight diff --git a/modules/bar/Bat.qml b/modules/bar/Bat.qml index 58b52d1..3c2e751 100644 --- a/modules/bar/Bat.qml +++ b/modules/bar/Bat.qml @@ -1,12 +1,23 @@ import Quickshell.Services.UPower import QtQuick import QtQuick.Layouts +import QtQuick.Effects import qs import qs.widgets import qs.settings Rectangle { id: root + layer.enabled: true + layer.effect: MultiEffect { + id: dropShadow + source: root + shadowEnabled: true + shadowHorizontalOffset: 4 + shadowVerticalOffset: 2 + shadowOpacity: 0.5 + shadowColor: "#020202" + } clip: true color: Colors.base02 visible: UPower.displayDevice.isLaptopBattery diff --git a/modules/bar/Clock.qml b/modules/bar/Clock.qml index 0b6be4c..94251cf 100644 --- a/modules/bar/Clock.qml +++ b/modules/bar/Clock.qml @@ -1,11 +1,23 @@ +pragma ComponentBehavior: Bound import Quickshell import QtQuick +import QtQuick.Effects import qs import qs.widgets import qs.settings Rectangle { id: root + layer.enabled: true + layer.effect: MultiEffect { + id: dropShadow + source: root + shadowEnabled: true + shadowHorizontalOffset: 4 + shadowVerticalOffset: 2 + shadowOpacity: 0.5 + shadowColor: "#020202" + } clip: true required property double moduleHeight implicitHeight: moduleHeight diff --git a/modules/bar/Mpris.qml b/modules/bar/Mpris.qml index 8295400..4fec34b 100644 --- a/modules/bar/Mpris.qml +++ b/modules/bar/Mpris.qml @@ -1,12 +1,24 @@ +pragma ComponentBehavior: Bound import Quickshell.Services.Mpris import QtQuick import QtQuick.Layouts +import QtQuick.Effects import qs import qs.widgets import qs.settings Rectangle { id: root + layer.enabled: true + layer.effect: MultiEffect { + id: dropShadow + source: root + shadowEnabled: true + shadowHorizontalOffset: 4 + shadowVerticalOffset: 2 + shadowOpacity: 0.5 + shadowColor: "#020202" + } required property double moduleHeight implicitHeight: moduleHeight implicitWidth: songLayout.implicitWidth + 32 diff --git a/modules/bar/Pw.qml b/modules/bar/Pw.qml index a89b9c6..3094f2e 100644 --- a/modules/bar/Pw.qml +++ b/modules/bar/Pw.qml @@ -1,13 +1,25 @@ +pragma ComponentBehavior: Bound import Quickshell.Services.Pipewire import Quickshell.Io import QtQuick import QtQuick.Layouts +import QtQuick.Effects import qs import qs.widgets import qs.settings Rectangle { id: root + layer.enabled: true + layer.effect: MultiEffect { + id: dropShadow + source: root + shadowEnabled: true + shadowHorizontalOffset: 4 + shadowVerticalOffset: 2 + shadowOpacity: 0.5 + shadowColor: "#020202" + } color: clickHandler.containsMouse ? Colors.base03 : Colors.base02 property PwNode defaultAudio: Pipewire.ready ? Pipewire.defaultAudioSink : null property bool mute: Pipewire.ready ? defaultAudio?.audio.muted : null diff --git a/modules/bar/Tray.qml b/modules/bar/Tray.qml index c7d36a5..03ccc03 100644 --- a/modules/bar/Tray.qml +++ b/modules/bar/Tray.qml @@ -4,11 +4,22 @@ import Quickshell.Services.SystemTray import Quickshell.Widgets import QtQuick import QtQuick.Layouts +import QtQuick.Effects import qs import qs.settings Rectangle { id: root + layer.enabled: true + layer.effect: MultiEffect { + id: dropShadow + source: root + shadowEnabled: true + shadowHorizontalOffset: 4 + shadowVerticalOffset: 2 + shadowOpacity: 0.5 + shadowColor: "#020202" + } visible: iconRepeater.count != 0 Layout.fillHeight: true required property double moduleHeight diff --git a/modules/wallpaper/WallpaperPicker.qml b/modules/wallpaper/WallpaperPicker.qml index ec2203d..c510645 100644 --- a/modules/wallpaper/WallpaperPicker.qml +++ b/modules/wallpaper/WallpaperPicker.qml @@ -13,6 +13,17 @@ import qs.widgets Rectangle { id: main + + layer.enabled: true + layer.effect: MultiEffect { + id: dropShadow + source: main + shadowEnabled: true + shadowHorizontalOffset: 4 + shadowVerticalOffset: 2 + shadowOpacity: 0.5 + shadowColor: "#020202" + } required property real moduleHeight required property int screenHeight color: Colors.base02