diff --git a/modules/bar/Workspaces.qml b/modules/bar/Workspaces.qml index 699185a9..97a19343 100644 --- a/modules/bar/Workspaces.qml +++ b/modules/bar/Workspaces.qml @@ -41,6 +41,18 @@ Item { } } + MouseArea { + anchors.fill: parent + + onPressed: event => Hyprland.dispatch(`workspace ${layout.childAt(event.x, event.y).index + 1}`) + onWheel: event => { + if (event.angleDelta.y < 0) + Hyprland.dispatch(`workspace r+1`); + else if (event.angleDelta.y > 0 && Hyprland.activeWorkspace.id > 1) + Hyprland.dispatch(`workspace r-1`); + } + } + Rectangle { id: active diff --git a/widgets/BoxLayout.qml b/widgets/BoxLayout.qml index da68409f..2540c728 100644 --- a/widgets/BoxLayout.qml +++ b/widgets/BoxLayout.qml @@ -47,6 +47,10 @@ Rectangle { return pad; } + function childAt(x: real, y: real): Item { + return layout.childAt(x, y); + } + color: "transparent" implicitWidth: layout.implicitWidth + paddingX