From f0926b6ce3eec4b1525da52a25a36c5677415941 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sat, 13 Dec 2025 22:08:30 +0100 Subject: [PATCH] waffles: bar: use listview for tasks --- .../ii/modules/waffle/bar/tasks/Tasks.qml | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/dots/.config/quickshell/ii/modules/waffle/bar/tasks/Tasks.qml b/dots/.config/quickshell/ii/modules/waffle/bar/tasks/Tasks.qml index f33c6e12a..a2670118e 100644 --- a/dots/.config/quickshell/ii/modules/waffle/bar/tasks/Tasks.qml +++ b/dots/.config/quickshell/ii/modules/waffle/bar/tasks/Tasks.qml @@ -9,8 +9,8 @@ MouseArea { id: root Layout.fillHeight: true - implicitHeight: row.implicitHeight - implicitWidth: row.implicitWidth + implicitHeight: appRow.implicitHeight + implicitWidth: appRow.implicitWidth hoverEnabled: true function showPreviewPopup(appEntry, button) { @@ -21,31 +21,31 @@ MouseArea { animation: Looks.transition.move.createObject(this) } - // Apps row - RowLayout { - id: row + WListView { + id: appRow anchors { top: parent.top bottom: parent.bottom } + orientation: Qt.Horizontal spacing: 0 + implicitWidth: contentWidth + clip: true + interactive: false + // TODO: Include only apps (and windows) in current workspace only | wait, does that even make sense in a Hyprland workflow? + model: ScriptModel { + objectProp: "appId" + values: TaskbarApps.apps.filter(app => app.appId !== "SEPARATOR") + } + delegate: TaskAppButton { + required property var modelData + appEntry: modelData - Repeater { - // TODO: Include only apps (and windows) in current workspace only | wait, does that even make sense in a Hyprland workflow? - model: ScriptModel { - objectProp: "appId" - values: TaskbarApps.apps.filter(app => app.appId !== "SEPARATOR") + onHoverPreviewRequested: { + root.showPreviewPopup(appEntry, this); } - delegate: TaskAppButton { - required property var modelData - appEntry: modelData - - onHoverPreviewRequested: { - root.showPreviewPopup(appEntry, this) - } - onHoverPreviewDismissed: { - previewPopup.close() - } + onHoverPreviewDismissed: { + previewPopup.close(); } } } @@ -56,5 +56,4 @@ MouseArea { tasksHovered: root.containsMouse anchor.window: root.QsWindow.window } - }