Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Indicator tray icon regression in Cinnamon 4.6.1 #9328

Open
mmirg opened this issue May 22, 2020 · 9 comments
Open

Indicator tray icon regression in Cinnamon 4.6.1 #9328

mmirg opened this issue May 22, 2020 · 9 comments
Labels

Comments

@mmirg
Copy link

mmirg commented May 22, 2020

  • Cinnamon version (cinnamon --version) 4.6.1
  • Distribution - Funtoo 1.4
  • Intel HD Graphics P530 xf86-video-intel-2.99.917_p20190301
  • 64 bit
  • xsession-errors.log

Issue
Indicator tray icon for signal-desktop (electron 8.2.5) no longer appears in the system tray.

Steps to reproduce
Run signal-desktop with --use-tray-icon flag.

Expected behaviour
Tray icon for signal-desktop appears in the system tray. linuxmint/xapp@0a27c6a

Other information
The icon previously appeared if "Enable Support for Indicators" was activated in cinnamon 4.4.x as seen in issue #9176.

Upstream reference: signalapp/Signal-Desktop#3974

@mtwebster
Copy link
Member

mtwebster commented May 22, 2020

This works ok for me here.

Is the xapp-sn-watcher process running?

image

@mmirg
Copy link
Author

mmirg commented May 22, 2020

No, the xapp-sn-watcher process was not running. When I did run it and then opened signal-desktop the following happened:

/usr/libexec/xapps/sn-watcher/xapp-sn-watcher

(xapp-sn-watcher:21436): GLib-GObject-CRITICAL **: 02:13:17.355: g_object_set: assertion 'G_IS_OBJECT (object)' failed

(xapp-sn-watcher:21436): GLib-GIO-CRITICAL **: 02:13:17.355: g_dbus_interface_skeleton_flush: assertion 'G_IS_DBUS_INTERFACE_SKELETON (interface_)' failed

(xapp-sn-watcher:21436): GLib-GObject-WARNING **: 02:13:17.355: invalid (NULL) pointer instance

(xapp-sn-watcher:21436): GLib-GObject-CRITICAL **: 02:13:17.355: g_signal_emit_by_name: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(xapp-sn-watcher:21436): GLib-CRITICAL **: 02:13:17.355: g_hash_table_foreach: assertion 'hash_table != NULL' failed

(xapp-sn-watcher:21436): GLib-GObject-CRITICAL **: 02:13:17.355: g_object_set: assertion 'G_IS_OBJECT (object)' failed

(xapp-sn-watcher:21436): GLib-GIO-CRITICAL **: 02:13:17.355: g_dbus_interface_skeleton_flush: assertion 'G_IS_DBUS_INTERFACE_SKELETON (interface_)' failed

xapps 1.8.5 is installed. Those errors don't seem to be directly related to the running of signal-desktop (or any other electron application) but they happen relatively frequently and xapp-sn-watcher will stop running.

@mtwebster
Copy link
Member

Can you try it again but do the following first:

gsettings set org.x.apps.statusicon sn-watcher-debug true

This will print debugging lines, and maybe allow me to narrow down where things are going wrong.

Thanks

@mmirg
Copy link
Author

mmirg commented May 22, 2020

gsettings set org.x.apps.statusicon sn-watcher-debug true
/usr/libexec/xapps/sn-watcher/xapp-sn-watcher

(process:29018): dconf-DEBUG: 02:42:13.588: unwatch_fast: "/org/x/apps/statusicon/" (active: 0, establishing: 1)
(xapp-sn-watcher:29018): dconf-DEBUG: 02:42:13.595: watch_established: "/org/x/apps/statusicon/" (establishing: 0)
(xapp-sn-watcher:29018): GLib-GIO-DEBUG: 02:42:13.608: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(xapp-sn-watcher:29018): Gtk-DEBUG: 02:42:13.691: Connecting to session manager
(xapp-sn-watcher:29018): Gtk-DEBUG: 02:42:13.691: Failed to get the GNOME screensaver proxy: The name org.gnome.ScreenSaver is not owned
(xapp-sn-watcher:29018): Gtk-DEBUG: 02:42:13.691: Registering client 'org.x.StatusNotifierWatcher' ''
(xapp-sn-watcher:29018): Gtk-DEBUG: 02:42:13.692: Registered client at '/org/gnome/SessionManager/Client54'
(xapp-sn-watcher:29018): dconf-DEBUG: 02:42:13.694: watch_fast: "/org/x/apps/statusicon/" (establishing: 0, active: 0)
** (xapp-sn-watcher:29018): DEBUG: 02:42:13.694: XAppSnWatcher: Adding NameOwnerChanged listener for status monitor existence
(xapp-sn-watcher:29018): XApp-DEBUG: 02:42:13.694: XAppStatusIcon: any_monitors: Looking for status monitors
(xapp-sn-watcher:29018): dconf-DEBUG: 02:42:13.694: watch_established: "/org/x/apps/statusicon/" (establishing: 1)
(xapp-sn-watcher:29018): XApp-DEBUG: 02:42:13.694: XAppStatusIcon: any_monitors: FALSE
** (xapp-sn-watcher:29018): DEBUG: 02:42:13.694: No active monitors, exiting in 30s
** (xapp-sn-watcher:29018): DEBUG: 02:42:21.580: XAppSnWatcher: NameOwnerChanged signal received (n: :1.212, old: :1.212, new: 
** (xapp-sn-watcher:29018): DEBUG: 02:42:21.606: XAppSnWatcher: NameOwnerChanged signal received (n: :1.206, old: :1.206, new: 
** (xapp-sn-watcher:29018): DEBUG: 02:42:26.288: XAppSnWatcher: NameOwnerChanged signal received (n: :1.216, old: , new: :1.216
** (xapp-sn-watcher:29018): DEBUG: 02:42:29.958: XAppSnWatcher: NameOwnerChanged signal received (n: :1.217, old: , new: :1.217
** (xapp-sn-watcher:29018): DEBUG: 02:42:29.959: XAppSnWatcher: NameOwnerChanged signal received (n: :1.217, old: :1.217, new: 
(xapp-sn-watcher:29018): dconf-DEBUG: 02:42:43.707: unwatch_fast: "/org/x/apps/statusicon/" (active: 1, establishing: 0)

(xapp-sn-watcher:29018): GLib-GObject-CRITICAL **: 02:42:43.708: g_object_set: assertion 'G_IS_OBJECT (object)' failed

(xapp-sn-watcher:29018): GLib-GIO-CRITICAL **: 02:42:43.708: g_dbus_interface_skeleton_flush: assertion 'G_IS_DBUS_INTERFACE_SKELETON (interface_)' failed

(xapp-sn-watcher:29018): GLib-GObject-WARNING **: 02:42:43.708: invalid (NULL) pointer instance

(xapp-sn-watcher:29018): GLib-GObject-CRITICAL **: 02:42:43.708: g_signal_emit_by_name: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(xapp-sn-watcher:29018): GLib-CRITICAL **: 02:42:43.708: g_hash_table_foreach: assertion 'hash_table != NULL' failed

(xapp-sn-watcher:29018): GLib-GObject-CRITICAL **: 02:42:43.708: g_object_set: assertion 'G_IS_OBJECT (object)' failed

(xapp-sn-watcher:29018): GLib-GIO-CRITICAL **: 02:42:43.708: g_dbus_interface_skeleton_flush: assertion 'G_IS_DBUS_INTERFACE_SKELETON (interface_)' failed
(xapp-sn-watcher:29018): dconf-DEBUG: 02:42:43.708: sync

@mtwebster
Copy link
Member

Is the xapp status applet running on a panel (and not the normal tray applet)? One easy way to tell is the icons in the xapp applet highlight when you hover over them. The tray applet icons do not.

@mmirg
Copy link
Author

mmirg commented May 22, 2020

No, the xapp status applet does not appear to be running. I get the old style tray applet icons for those applications that support both (jami, dropbox, nextcloud). When indicators were enabled in 4.4.x I would see different icons for those applications.

I see the XApp Status Applet in the list of applets though and can add it to the panel. If I add it to the panel then xapp-sn-watcher appears to run withotu error but I still don't see icons in the tray (even after restarting Cinnamon).

/usr/libexec/xapps/sn-watcher/xapp-sn-watcher
(process:18393): dconf-DEBUG: 12:02:13.568: unwatch_fast: "/org/x/apps/statusicon/" (active: 0, establishing: 1)
(xapp-sn-watcher:18393): dconf-DEBUG: 12:02:13.573: watch_established: "/org/x/apps/statusicon/" (establishing: 0)
(xapp-sn-watcher:18393): dconf-DEBUG: 12:02:13.578: sync

@mtwebster
Copy link
Member

Try logging out and back in after enabling the xapp applet, some programs are unable to switch between styles (such as dropbox).

Can you install the 'd-feet' program, when you open it, choose the 'session bus' and search for org.kde.StatusNotifierWatcher - this should be owned by xapp-sn-watcher.

@mmirg
Copy link
Author

mmirg commented May 22, 2020

After adding the xapp applet, logging out and logging back in I see that org.kde.StatusNotifierWatcher is owned by xapp-sn-watcher. I also saw that my Nextcloud icon changed to the libindicator icon. However, there appears to be some kind of timing issue though insofar as I have signal-desktop and dropbox set to autostart and the icons were missing. If I exit and re-start signal-desktop (and dropbox) then the icon appears.
Screenshot from 2020-05-22 13-11-30

This is what I see immediately after restarting:

Screenshot from 2020-05-22 13-16-26

However, there is no icon for signal-desktop or dropbox in the tray.

The Xapp applet also seems to periodically restart at which time only the Nextcloud icon returns. About ten minutes after restarting my signal-desktop, dropbox and riot-desktop icons disappeared again.

Screenshot from 2020-05-22 13-38-05

Screenshot from 2020-05-22 13-39-18

@mmirg
Copy link
Author

mmirg commented May 31, 2020

The culprit causing the XApp applet error appears to be related to hp-systray (part of hplip). As soon as the HP icon appears in the tray area, the other icons (Dropbox, Signal, Riot) disappear. Only Nextcloud appears to survive (it briefly disappears and re-appears.)

Screenshot from 2020-05-31 22-11-11

After hp-systray is hidden:
Screenshot from 2020-05-31 22-45-16

Screenshot from 2020-06-01 01-25-58

hplip workaround is available here: https://bugs.launchpad.net/ubuntu/+source/mate-panel/+bug/1810745

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants