diff options
Diffstat (limited to 'modules/bar')
| -rw-r--r-- | modules/bar/popouts/ActiveWindow.qml | 46 |
1 files changed, 36 insertions, 10 deletions
diff --git a/modules/bar/popouts/ActiveWindow.qml b/modules/bar/popouts/ActiveWindow.qml index 547c019..a5975ce 100644 --- a/modules/bar/popouts/ActiveWindow.qml +++ b/modules/bar/popouts/ActiveWindow.qml @@ -2,6 +2,7 @@ import "root:/widgets" import "root:/services" import "root:/utils" import "root:/config" +import Quickshell import Quickshell.Widgets import Quickshell.Wayland import QtQuick @@ -9,7 +10,7 @@ import QtQuick Item { id: root - implicitWidth: child.implicitWidth + implicitWidth: Hyprland.activeClient ? child.implicitWidth : 0 implicitHeight: child.implicitHeight Column { @@ -18,18 +19,37 @@ Item { anchors.centerIn: parent spacing: Appearance.spacing.normal - StyledText { - text: Hyprland.activeClient?.title ?? "" + Row { + id: detailsRow - elide: Text.ElideRight - width: preview.implicitWidth - } + spacing: Appearance.spacing.normal + + IconImage { + id: icon + + implicitSize: details.implicitHeight + source: Quickshell.iconPath(DesktopEntries.applications.values.find(a => a.id === Hyprland.activeClient?.wmClass.toLowerCase())?.icon, "image-missing") + } + + Column { + id: details - StyledText { - text: Hyprland.activeClient?.wmClass ?? "" + StyledText { + text: Hyprland.activeClient?.title ?? "" + font.pointSize: Appearance.font.size.normal - elide: Text.ElideRight - width: preview.implicitWidth + elide: Text.ElideRight + width: preview.implicitWidth - icon.implicitWidth - detailsRow.spacing + } + + StyledText { + text: Hyprland.activeClient?.wmClass ?? "" + color: Colours.palette.m3onSurfaceVariant + + elide: Text.ElideRight + width: preview.implicitWidth - icon.implicitWidth - detailsRow.spacing + } + } } ClippingWrapperRectangle { @@ -47,4 +67,10 @@ Item { } } } + + component Anim: NumberAnimation { + duration: Appearance.anim.durations.normal + easing.type: Easing.BezierSpline + easing.bezierCurve: Appearance.anim.curves.emphasized + } } |