Project

General

Profile

Bug #1383

Quassel doesn't use blinking systray icon if you use Breeze or Oxygen icon theme.

Added by YamashitaRen about 3 years ago. Updated 6 months ago.

Status:
Assigned
Priority:
Normal
Assignee:
Category:
Quassel GUI (Qt)
Target version:
Start date:
09/29/2015
Due date:
% Done:

0%

Estimated time:
Version:
0.11-pre
OS:
Linux

Description

I'm using Cinnamon with the Breeze icon theme.
The icon used in the systray seems to be the same that the one in the menu.
It means that systray icon will not blink. It will start "full" and will stay "full" until you close the client.

Same problem with Oxygen.

It should start "empty"/"gray", become "full"/"blue" once connected and blink in red upon events.

Works perfectly with another icon theme like Zorin.

History

#1 Updated by YamashitaRen about 3 years ago

Same problem on LXQt with the indicator.

Found a quick fix :
ln -s status/quassel-inactive.png and status/quassel-message.png from hicolor to oxygen and breeze.

Guess :
Quassel is searching if it finds an icon in the current theme (here apps/quassel.png).
If it finds one, it uses exclusively the icons from the theme.
If it don't, it uses the hicolor ones.

#2 Updated by YamashitaRen about 2 years ago

Guess here is as good as anywhere else for making a memo...
New workaround (every time icon theme is updated):

# rm /usr/share/icons/breeze/apps/48/quassel.svg

#3 Updated by romibi over 1 year ago

should be fixed in git version

#4 Updated by YamashitaRen over 1 year ago

Nope.
I keep getting the unblinking Qt theme's icon here. (Breeze on LXQt)

#5 Updated by YamashitaRen over 1 year ago

Quassel release :
Starts without icon, then switch to unblinking breeze icon.

Quassel git :
Starts with grey "official" icon, then switch to unblinking breeze icon.

Expected :
Starts with grey "official" icon, then switch to blue "official icon" which can blink in red iirc.

#6 Updated by romibi 10 months ago

Two questions:
1) "Works perfectly with another icon theme like Zorin."
Is this still true in git version?

2) Was your Quassel built with or without the snore notification backend?

#7 Updated by romibi 10 months ago

Can you confirm that this fixes it for you?
https://github.com/quassel/quassel/pull/328

#8 Updated by YamashitaRen 10 months ago

Nothing fixed here. I'm not sure we're talking about the same issue...
https://pix.louiz.org/o/FuLqa.jpeg

Using quassel 0.12.0.465.gbbdaa4db-1 from romibi:fix-snore-disabling-tray-blinking
Built like that : https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=quassel

#9 Updated by romibi 10 months ago

ah … hm … how's this:
https://github.com/romibi/quassel/tree/fix-tray-blinking-with-kde

if this doesn't work … i don't know …

#10 Updated by YamashitaRen 9 months ago

1) Is still true, though it stays red instead of blinking (goes back blue once I have clicked on it).
2) Quassel have never been built with snore notification backend. I tried building it and playing with its configuration today but it doesn't change much...

I tried using quassel on Mate too. Seems to work as expected on Mate.

What I have found so far :
On LXQt, trayicon color changes to red on notification if I'm using another desktop icon theme than oxygen or breeze. No blinking.
Quassel icon theme configuration isn't honored for the trayicon. It will always use oxygen icon if I'm not using breeze desktop icon theme (then icon will be breeze's).

On Mate, trayicon always blink on notification.
Quassel icon theme configuration is honored for the trayicon. Trayicon will always use the same theme as the one configured in Quassel.

I tested this too : https://github.com/quassel/quassel/pull/327
Beautiful icons. Seems to work perfectly on Mate.
On LXQt, I don't have any trayicon anymore. Well the "trayicon" is there but it uses an "empty" icon. No issue inside of Quassel window.

Is this a Quassel bug or a LXQt bug ?

#11 Updated by Sputnick 6 months ago

  • Status changed from New to Assigned
  • Assignee set to Sputnick

So here's my assumptions:

- The version of Mate you tested with does not support StatusNotifierItem (SNI), i.e. Trayicon-via-DBus (a cursory Google search shows that SNI support was only very recently added to Mate, and may require a plugin/package to be installed). In this case, Quassel will fall back to its own legacy systray implementation, which uses normal icons and "manually" animates them (i.e., animation is controlled by Quassel). Hence, things work correctly there.

- LXQt supports SNI, so Quassel will use the DBus interface to set the tray icon. Now this is where it gets tricky... First of all, the icon is not sent as a pixmap, but as a name. That would explain why there's different behavior depending on theme and icon availability - I could imagine that SNI implementations fall back to blinking or making background red or whatever if they can't find the themed icon.

- Quassel never supported tray icon blinking via SNI. It does set an "attention icon", but I'm not quite sure what that actually does (looking at Qt's own SNI implementation, seems to be something other than one would expect - still investigating). Animation/blinking is only performed by Quassel when not using SNI.

- In Plasma (with SNI), the tray icon pulsates if there's pending highlights. This animation is controlled by the desktop, not by Quassel. I'm actually noy quite sure what precisely triggers this animation, since there's no actual trigger for this in the DBus interface. So it's either caused by showing a bubble, or by setting the attention icon. Will investigate this, too, to understand what exactly is going on.

- There's clearly issues with icon loading in your test setup (missing tray icon). This may account for some of the weirdness I can't explain right now. I have a new PR in the pipeline that should fix icon theme support and fallbacks; once this is merged, I'll ask you to retest things so we get a clearer picture of what's still amiss.

- I will look into enabling Quassel-controlled animation for SNI at a later point.

Also available in: Atom PDF