nheko icon indicating copy to clipboard operation
nheko copied to clipboard

Tray icon category is incorrect

Open wongandj opened this issue 8 months ago • 3 comments

Describe the bug

Currently, the "Category" of Nheko's system tray icon under Linux is reported to be ApplicationStatus. This causes Nheko's icon to be sorted incorrectly and appear in the wrong places in system trays. It should be Communications instead: see the Freedesktop specification for tray items.

To Reproduce

  1. Start Nheko with the tray icon enabled.
  2. Use D-Feet (or other preferred D-Bus debugging tool) and query Nheko's /StatusNotifierItem/org.kde.StatusNotifierItem:Category.
  3. Observe how it is reported as ApplicationStatus, not Communications.

What happened?

/StatusNotifierItem/org.kde.StatusNotifierItem:Category is reported to be ApplicationStatus. It is placed among apps like Cantata (music player) and KeepassXC (password manager), instead of apps like Quassel (IRC client).

Expected behavior

/StatusNotifierItem/org.kde.StatusNotifierItem:Category should be Communications, so that it is placed in the right location.

Screenshots

No response

Version

0.12.0

Operating system

Linux

Installation method

Some repository (AUR, homebrew, distribution repository, PPA, etc)

Qt version

6.7.2

C++ compiler

No response

Desktop Environment

Hyprland (Wayland)

Did you use profiles?

  • [ ] Profiles used?

Relevant log output


Backtrace


wongandj avatar Mar 28 '25 04:03 wongandj

It seems Qt doesn't provide implementation of StatusNotifierItem.

Integral-Tech avatar Mar 29 '25 04:03 Integral-Tech

What do you mean? Quassel is an example of a Qt app that has a tray icon with the "Communications" category, if it helps.

wongandj avatar Mar 29 '25 07:03 wongandj

@brosasaki I mean Qt doesn't provide API of changing category of StatusNotifierItem.

Quassel uses code from KStatusNotifierItem (KDE Implementation of StatusNotifierItems): https://github.com/quassel/quassel/blob/master/src/qtui/statusnotifieritem.cpp

This contains code from KStatusNotifierItem, part of the KDE libs

Integral-Tech avatar Mar 29 '25 07:03 Integral-Tech