Dash-to-panel: Progress on icons (merge from dash-to-dock)

Created on 19 Mar 2017  路  31Comments  路  Source: home-sweet-gnome/dash-to-panel

One of the things that I used to love about windows is showing the progress on the icons and I believe that this will be a great addition to this beautiful extension!
ex

enhancement help wanted

Most helpful comment

So......... I've merged in/adapted the code from dash-to-dock in the feature-launcher-api branch, but the result is pretty disappointing because the support from applications for this seem rather poor at this point.

This implements the Unity LauncherEntry API. Many people seem to assume this is dead, even though it doesn't require Unity to write to the bus using their spec. For example, the Mozilla developers seemed to have removed the functionality from Firefox and Thunderbird.

The only applications I can find that actually update the badge counts are Geary and Telegram.
Screenshot from 2020-01-25 22-37-58

I can't find ANY applications still sending out progress events, though I am able to simulate it by sending out the dbus signal via python Unity module.
Screenshot from 2020-01-25 22-59-33

I'm tempted to merge this into master with hopes other applications will make use of it, but it doesn't seem worth investing time in customization options at this point.

If anyone know of other applications that implement this spec, or other specs that are being utilized to handle launcher notifications, please share. I did find a similar dbus spec for badge counts (DockManager), but it seems to be deprecated. Ultimately, it seems like it would make the most sense for someone to rename the Unity spec to something more generic, and create modules with wrappers in a few different languages.

All 31 comments

Nice idea! I haven't looked into this but I'm not currently aware of a consistent way of progress being reported back to the shell, so I'm not sure if this is possible.

There is the Unity launcher DBus API for progress bars and badges. I think it is also used by Unity, KDE Plasma and the Plank dock.

@robrobinbin Now we can have badges as well!

@robrobinbin don't we need javascript bindings for this? And if so, do we have them? :)

@robrobinbin Nice! Do you have any idea if many apps actually implement this or if it is just specific patched packages in ubuntu?

@franglais125 This looks like it _might_ provide a lead: https://github.com/rgcjonas/gnome-shell-extension-appindicator

What would the progress look like if you had the transparent top bar extension? If your panel is transparent, then wouldn't adding a green progress rectangle to some icon (Like in the first post) make it look weird?

@jderose9 for the badges it's just using dbus with libunity. so maybe just a check whenever the extension is loaded to see if the dbus server is up or not. and decide wether to show the badges or not :)

I've been doing some thinking and come up with 4 layouts for a progress bar.
bar_progress_brainstorming

Also how does plank implement progress bars?

It looks like the Ubuntu team has worked on the badge icons for dash-to-dock so that can likely be merged in. The PR seems to indicate that they will be working on the progress in the future as well.

https://github.com/micheleg/dash-to-dock/pull/590

Canonical forked Dask to Dock to make their own version that's closer to the launcher back in Unity; however they did say they also worked directly upstream to improve the extension.

I opened another issue #269 to address badge counts. I think, for the progress indicator, it will make sense to wait until canonical implements this in dash-to-dock and then pull that implementation in.

Looks like this was actually already done for dash-to-dock in the PR referenced above, so we just need to merge.

@jderose9 It appears the latest version of dash-to-dock with the unity launchers API was released not too long ago.

v62: new release available introducing support for GNOME Shell 3.26

It is open..

Has this feature been merged from dash-to-dock as of yet?

Bump ! It would be great to have unread emails counter badge for Thunderbird, e.g., or progress bars.

@jderose9 any progress in this case?

Haven't looked into it yet, but I would like to see this get done and will try to work on it soon.

I think it would be a good idea to change the title of this issue to mention badges

I would love to see unread message badges on Discord or Discord Canary! I missed so many messages from friends because the badges aren't there.

I want to contribute with some new info about this issue. There is a blog post of an Ubuntu contributor explaining what they did to get that funcionality on dash-to-dock v62 and how it looks.

Would absolutely love to use this extension but no notification badges means no go - what remains to be done and where can I start?

So......... I've merged in/adapted the code from dash-to-dock in the feature-launcher-api branch, but the result is pretty disappointing because the support from applications for this seem rather poor at this point.

This implements the Unity LauncherEntry API. Many people seem to assume this is dead, even though it doesn't require Unity to write to the bus using their spec. For example, the Mozilla developers seemed to have removed the functionality from Firefox and Thunderbird.

The only applications I can find that actually update the badge counts are Geary and Telegram.
Screenshot from 2020-01-25 22-37-58

I can't find ANY applications still sending out progress events, though I am able to simulate it by sending out the dbus signal via python Unity module.
Screenshot from 2020-01-25 22-59-33

I'm tempted to merge this into master with hopes other applications will make use of it, but it doesn't seem worth investing time in customization options at this point.

If anyone know of other applications that implement this spec, or other specs that are being utilized to handle launcher notifications, please share. I did find a similar dbus spec for badge counts (DockManager), but it seems to be deprecated. Ultimately, it seems like it would make the most sense for someone to rename the Unity spec to something more generic, and create modules with wrappers in a few different languages.

Hi @jderose9! Is the this the Jason DeRose from Novacut days? Nice to make your acquaintance again. Rapid Photo Downloader uses both the badge counts and the progress events. I'm just updating the code now so that it will send updates regardless of which desktop is installed as long as the unity GObject introspection bits are in place (it previously did so only if it detected Ubuntu Unity or Gnome were running).

One downside is that because Rapid Photo Downloader is using the Qt 5 toolkit, the application has to be first added as a favorite, otherwise the badge / progress bars don't appear. And then it has its launcher/icon show up twice when it's actually launched (it seems all Qt 5 apps do this)!! And compounding matters, there is no way to add the program as a favorite except from the icon grid of all the applications (the main app menu, I forget what Gnome calls that). Something is clearly wrong with Gnome Shell and Qt 5 apps.
rapid-photo-downloader-pop-os

@damonlynch Didn't ring any bells, so I googled just in case my memory had gotten really bad, and it seems to be a different guy :)

Generally, when there is a 2nd icon created like that, it means that the StartupWMClass property in the application's .desktop file is missing/incorrect. I would recommend trying to correct that value manually, and then we can go from there. You can use xprop or another tool to get the WM_CLASS property for the running window to assign to that property.

Ahh regarding your namesake it seems so!

You were exactly right about the missing property StartupWMClass. It was missing because I had no idea about it. That's a great fix to apply to the program, thanks for sharing your insight about it.

fixed

@damonlynch did that resolve all of the issues you were observing?

@jderose9 yes it certainly did, thank you so much. Packaging applications is difficult. There is so much to learn and so much that can go wrong.

@jderose9 Any progress on this? Trying to get it to work on POP_OS 20.04 with Discord.

Was this page helpful?
0 / 5 - 0 ratings