summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-09 17:33:16 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-09 17:33:16 +1000
commitbf558cfe83c48b0020485ddc001adebdd93ca248 (patch)
treeb1f07860ffb625d279d20990464a7ac11e59d440
parentpicker: fix clients for special ws (diff)
downloadcaelestia-shell-bf558cfe83c48b0020485ddc001adebdd93ca248.tar.gz
caelestia-shell-bf558cfe83c48b0020485ddc001adebdd93ca248.tar.bz2
caelestia-shell-bf558cfe83c48b0020485ddc001adebdd93ca248.zip
bar: better scroll actions
Also fix workspaces interaction area
-rw-r--r--modules/bar/Bar.qml4
-rw-r--r--modules/bar/components/ActiveWindow.qml30
-rw-r--r--modules/drawers/Interactions.qml20
3 files changed, 21 insertions, 33 deletions
diff --git a/modules/bar/Bar.qml b/modules/bar/Bar.qml
index 7ed733e..22f21dd 100644
--- a/modules/bar/Bar.qml
+++ b/modules/bar/Bar.qml
@@ -97,8 +97,8 @@ Item {
CustomMouseArea {
anchors.fill: parent
- anchors.leftMargin: -Config.border.thickness
- anchors.rightMargin: -Config.border.thickness
+ anchors.leftMargin: -Math.max(Appearance.padding.smaller, Config.border.thickness)
+ anchors.rightMargin: -Math.max(Appearance.padding.smaller, Config.border.thickness)
function onWheel(event: WheelEvent): void {
const activeWs = Hyprland.activeToplevel?.workspace?.name;
diff --git a/modules/bar/components/ActiveWindow.qml b/modules/bar/components/ActiveWindow.qml
index de4202d..de0f0ad 100644
--- a/modules/bar/components/ActiveWindow.qml
+++ b/modules/bar/components/ActiveWindow.qml
@@ -1,7 +1,6 @@
pragma ComponentBehavior: Bound
import qs.components
-import qs.components.controls
import qs.services
import qs.utils
import qs.config
@@ -17,35 +16,6 @@ Item {
implicitWidth: child.implicitWidth
implicitHeight: child.implicitHeight
- CustomMouseArea {
- anchors.top: parent.top
- anchors.bottom: child.top
- anchors.left: parent.left
- anchors.right: parent.right
-
- function onWheel(event: WheelEvent): void {
- if (event.angleDelta.y > 0)
- Audio.incrementVolume();
- else if (event.angleDelta.y < 0)
- Audio.decrementVolume();
- }
- }
-
- CustomMouseArea {
- anchors.top: child.bottom
- anchors.bottom: parent.bottom
- anchors.left: parent.left
- anchors.right: parent.right
-
- function onWheel(event: WheelEvent): void {
- const monitor = root.monitor;
- if (event.angleDelta.y > 0)
- monitor.setBrightness(monitor.brightness + 0.1);
- else if (event.angleDelta.y < 0)
- monitor.setBrightness(monitor.brightness - 0.1);
- }
- }
-
Item {
id: child
diff --git a/modules/drawers/Interactions.qml b/modules/drawers/Interactions.qml
index 1cd1736..6b276a0 100644
--- a/modules/drawers/Interactions.qml
+++ b/modules/drawers/Interactions.qml
@@ -1,3 +1,4 @@
+import qs.components.controls
import qs.services
import qs.config
import qs.modules.bar.popouts as BarPopouts
@@ -5,7 +6,7 @@ import qs.modules.osd as Osd
import Quickshell
import QtQuick
-MouseArea {
+CustomMouseArea {
id: root
required property ShellScreen screen
@@ -42,6 +43,23 @@ MouseArea {
return y > root.height - Config.border.thickness - panel.height - Config.border.rounding && withinPanelWidth(panel, x, y);
}
+ function onWheel(event: WheelEvent): void {
+ if (event.x < bar.implicitWidth) {
+ if (event.y < screen.height / 2) {
+ if (event.angleDelta.y > 0)
+ Audio.incrementVolume();
+ else if (event.angleDelta.y < 0)
+ Audio.decrementVolume();
+ } else {
+ const monitor = Brightness.getMonitorForScreen(screen);
+ if (event.angleDelta.y > 0)
+ monitor.setBrightness(monitor.brightness + 0.1);
+ else if (event.angleDelta.y < 0)
+ monitor.setBrightness(monitor.brightness - 0.1);
+ }
+ }
+ }
+
anchors.fill: parent
hoverEnabled: true