Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge

From: Ship Mints <[email-masked]>
Date: Wed, 9 Apr 2025 09:53:17 -0400

On Tue, Apr 8, 2025 at 5:51 PM Björn Bidar via Bug reports for GNU Emacs,
the Swiss army knife of text editors <[email-masked]> wrote:

> Ship Mints <[email-masked]> writes:
>
> > On Fri, Apr 4, 2025 at 7:44 AM Eli Zaretskii <[email-masked]> wrote:
> >
> >> > From: Ship Mints <[email-masked]>
> >> > Date: Fri, 4 Apr 2025 07:37:57 -0400
> >> > Cc: [email-masked]
> >> >
> >> >  P.S. All this doesn't change the fact that we can only install this
> >> >  feature when it can be made available on free systems.
> >> >
> >> > This feature exists in GNUstep.  Is this not sufficiently free?
> >>
> >> I mean the underlying OS.
> >>
> >
> > GNUstep on Linux would do.
> >
> >> If you think we really need complete parity with Linux desktop systems
> >> beyond GNUstep, based on some
> >> > research this morning, we may be able to leverage dbus messages for
> >> desktops that support for "count"
> >> > (numeric only, sheesh) / "count-visible".  This functionality appears
> >> not to be tied to the running process as on
> >> > macOS/GNUstep but to a "URL" like "application://{appname}.desktop"
> >> where I guess appname would be
> >> > emacs or Emacs, I dunno yet how this really works when there are more
> >> than one running copies of an app
> >> > process.  I'll experiment and see if I can tease this out.
> >> >
> >> > If this seems easy and you're 100% adamant that GNUstep is
> >> insufficiently free, I can try to craft a more
> >> > generic API that supports numeric counts for Linux desktop shells, and
> >> text labels for macOS/GNUstep.
> >>
> >> I'd be surprised if X and/or GTK don't have a comparable feature.  So
> >> yes, I think we should have something similar on GNU/Linux.
> >>
> >
> > Seems not.  Seems to be a feature of desktop shells.
> >
> > Not getting any love from trying 'gdbus' to force an app badge.  I'm
> surely
> > just an ignorant boob with dbus.
> >
> > For anyone interested in helping out, this is the hack I'm trying, which,
> > if it worked, we'd model in Emacs invoking dbus directly vs. via command
> > line.
> >
>
> Which desktop environment do you use? It seems that at least KDE Plasma
> and Unity support this API. I assume that also applies to GNOME Shell at
> least under Ubuntu.
>

I've been experimenting with Ubuntu.  The app icon badge protocol is
implemented in the gnome-shell dock extension (this is a brittle
methodology in several ways but that's what we have to work with).  I have
been unable to make it work, however.  It seems that despite the gjs dock
code appearing to contain the dbus subscriptions, d-spy doesn't show the
endpoint and dbus command-line tools also suggest the subscription isn't
working.  I ain't no dbus expert and this has been a tad frustrating, to
say the least.  That there is no "BDFL" in the Linux desktop ecosystem
definitely shows.

Does your gnome-shell dock properly react to
com.canonical.Unity.LauncherEntry.Update signals?