tray: use more descriptive text for tooltip and update on entry

The systray id is intended for programmatic use rather than frontend
presentation. It is recommended to use the tooltipTitle and title
attributes when available, and these should be updated upon entry, as
their values may change dynamically.
This commit is contained in:
Moeta Yuko 2025-08-31 14:50:24 +08:00
parent b6e6997e7c
commit f3de317ddd
2 changed files with 8 additions and 5 deletions

View file

@ -29,6 +29,12 @@ MouseArea {
} }
event.accepted = true; event.accepted = true;
} }
onEntered: {
tooltip.content = item.tooltipTitle.length > 0 ? item.tooltipTitle
: (item.title.length > 0 ? item.title : item.id);
if (item.tooltipDescription.length > 0) tooltip.content += " • " + item.tooltipDescription;
if (Config.options.bar.tray.showItemId) tooltip.content += "\n[" + item.id + "]";
}
QsMenuAnchor { QsMenuAnchor {
id: menu id: menu
@ -71,11 +77,7 @@ MouseArea {
} }
StyledToolTip { StyledToolTip {
content: { id: tooltip
let c = root.item.id
if (root.item.tooltipDescription.length > 0) c += " • " + root.item.tooltipDescription
return c;
}
extraVisibleCondition: root.containsMouse extraVisibleCondition: root.containsMouse
alternativeVisibleCondition: extraVisibleCondition alternativeVisibleCondition: extraVisibleCondition
} }

View file

@ -172,6 +172,7 @@ Singleton {
} }
property JsonObject tray: JsonObject { property JsonObject tray: JsonObject {
property bool monochromeIcons: true property bool monochromeIcons: true
property bool showItemId: false
property bool invertPinnedItems: false // Makes the below a whitelist for the tray and blacklist for the pinned area property bool invertPinnedItems: false // Makes the below a whitelist for the tray and blacklist for the pinned area
property list<string> pinnedItems: [ "Fcitx" ] property list<string> pinnedItems: [ "Fcitx" ]
} }