summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-03 17:48:12 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-03 17:48:12 +1000
commit58adddbe0b6f87736de02d69984eecae0c0e564e (patch)
tree1ef078924370f53ea80ddcffb17ab0cb3eb3c4f5
parentbar: save cpu usage (diff)
downloadcaelestia-shell-58adddbe0b6f87736de02d69984eecae0c0e564e.tar.gz
caelestia-shell-58adddbe0b6f87736de02d69984eecae0c0e564e.tar.bz2
caelestia-shell-58adddbe0b6f87736de02d69984eecae0c0e564e.zip
bar: better active window popout
Add icon, style better
-rw-r--r--modules/bar/popouts/ActiveWindow.qml46
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
+ }
}