From a1a8d0cf24b9ef8c5d5fb16d1a83f45b92b76ab1 Mon Sep 17 00:00:00 2001 From: Damocles Date: Sun, 12 Apr 2026 15:41:03 +0200 Subject: [PATCH] current app icon --- modules/WindowTitle.qml | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/modules/WindowTitle.qml b/modules/WindowTitle.qml index d4e7dca..8f56968 100644 --- a/modules/WindowTitle.qml +++ b/modules/WindowTitle.qml @@ -1,17 +1,23 @@ import QtQuick +import QtQuick.Effects +import Quickshell import Quickshell.Io +import Quickshell.Widgets import "." as M -M.BarLabel { +M.BarSection { id: root + spacing: M.Theme.moduleSpacing - label: root._title - color: M.Theme.base05 tooltip: root._appId ? root._appId + "\n" + root._title : root._title - elide: Text.ElideRight property string _title: "" property string _appId: "" + readonly property string _iconSource: { + if (!root._appId) return ""; + const entry = DesktopEntries.heuristicLookup(root._appId); + return entry ? Quickshell.iconPath(entry.icon) : ""; + } // Initial state — niri event-stream doesn't replay current focus Process { @@ -56,4 +62,23 @@ M.BarLabel { } } } + + IconImage { + visible: root._iconSource !== "" + source: root._iconSource + implicitSize: M.Theme.fontSize + 2 + anchors.verticalCenter: parent.verticalCenter + layer.enabled: true + layer.effect: MultiEffect { + colorization: 1.0 + colorizationColor: M.Theme.base05 + } + } + + M.BarLabel { + label: root._title + color: M.Theme.base05 + elide: Text.ElideRight + anchors.verticalCenter: parent.verticalCenter + } }