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

Pausing (stopping?) TopIcons-Plus #91

Closed
phocean opened this issue Sep 21, 2017 · 37 comments
Closed

Pausing (stopping?) TopIcons-Plus #91

phocean opened this issue Sep 21, 2017 · 37 comments

Comments

@phocean
Copy link
Owner

phocean commented Sep 21, 2017

Hi all,

I am sorry but I am going to take some distance with the development of this extension.

It is motivated by several things.

  1. I have not used the extension myself recently. I use less and less extensions that use it. And among them, none of them breaks or looses functionality without the status icon.

  2. The Gnome project does not give a shit about it and made it public. They even don't point to this extension but to an outdated, unmaintained one. Besides, Ubuntu, after making a survey, also moves on with its own extension.

  3. Anyway, the API is dying. It will be dropped in the future with GTK updates. Documentation is sparse, so development requires considerable efforts for not much.
    As it is now, the API is also buggy and incomplete, so it is impossible to make a reliable extension or really enhance it. Of course, it will never be fixed.

  4. TopIcons-Plus then became a magnet for claims (and exigences) that would better be addressed to the Gnome project. People fail to understand that the extension depends on an API and is not capable / intended to fix Gnome-Shell device. It is extremely exhausting.

  5. The Gnome extension website is awful, as there is almost no maintainer there and validation takes sometimes weeks... Meanwhile, I get issues from disgrunted users...

So, I came to the conclusion, being also very busy with my job and my life, that the hassle is not worth it.
Especially when it requires considerable effort because of the sparse documentation.

Status icons are dead with Gnome-Shell. Move on and enjoy Gnome-Shell (as I am doing), or switch your desktop environment.


EDIT:

I received a lot of nice messages, so, first, many thanks ! Community is great and made that work a pleasure.

However, I see a lot of people worrying or talking of TopIcons-Plus as a dead thing that needs instant replacement.

The code is here, rather clean, and it is going to work for a while.
I may also make one or two releases if/when it is really necessary.
Just don't expect new features or great bug hunting.

Somehow, that has always been the point of TopIcons-Plus: filling the gap between nothing and long term solutions which will require code changes in many applications (AppIndicator or, better in my opinion, following the Gnome design with a daemon and notifications).

@davcri
Copy link

davcri commented Sep 24, 2017

Thank you for your great work, I loved this extension 😄

@harry-cpp
Copy link

Ubuntu, after making a survey, also moves on with its own extension.

Its moving with the appindicator extension, which existed for a long long time now.

@csoriano1618
Copy link

The Gnome extension website is awful, as there is almost no maintainer there and validation takes sometimes weeks... Meanwhile, I get issues from disgrunted users...

I just reviewed & accepted your last revision. If you have any problem for a timely review of this extension in an eventual future revision, feel free to ping me.

@ghost
Copy link

ghost commented Sep 24, 2017

It's really sad that this extension is going down now. I hope that you resume development in future or that someone else continues the project. Maybe we can all convince the GNOME developers to just get a little saner? I'm sure something can be worked out.

But I respect your decision and wish you all the best. I hope that sometime in the future we can make this work out again as the only other alternative extension is really really really really really buggy and practically doesn't work for any icons I use!

@r3b311i0n
Copy link

Oh well, it was great while it lasted. Thanks for all the hard work you did.

@phocean
Copy link
Owner Author

phocean commented Sep 25, 2017

@ALL : Thank you for your feedbacks and encouragements !

See my EDIT for an answer.

@csoriano1618 : Thank you :-)

@ghost
Copy link

ghost commented Sep 25, 2017

@phocean i think you are feeling the same as how I feel more-less about the recently change of gnome. In my case is worse i think, because my extension won't have support in wayland and some user think that i can fix this type of things, but none of them claim what they want directly to gnome, so i suppose also the gnome people will never do something as apparently the users won't want the features. I'm tired of reporting things, of which I have lost hope that they will be fixed.

Thanks for your hard work, is really a shame, but you can not take the role of a distro or a desktop, you are only one person.

Also to comment that one nautilus developer recommend to me the usage of your extension, if that count, some of then know about the hard and well done work that you make.

@parkerlreed
Copy link

screenshot from 2017-09-25 01-37-53

Love what you have done with this project and wish you all the best!

@neffo
Copy link

neffo commented Sep 25, 2017

@phocean thank you so much for this extension and the work you put in. It's always been one of the first installed after a fresh install.

@csoriano1618 is there a way to streamline the review process without adding too much risk to users? I'm aware that some changes are automatically approved (presumably adding languages, maybe UI). I think code review is important, but could this process be opened up to include reviews from the other extension developers as well? (With vetting.) Perhaps multiple reviewers per update?

@ghost
Copy link

ghost commented Sep 25, 2017

@neffo maybe also add an attribute like urgent, medium, not transcendental, to then be possible get more priority to the urgent updates, because some peoples add sometime more than one update per day, and is clear that this is not easy to follow.

@neffo
Copy link

neffo commented Sep 25, 2017

Yes, that is true. The moderators seem to review in reverse order though (and reject the older unapproved versions).

@sramkrishna
Copy link

@neffo I think we would be open for more people to participate in extension review. Ideally, I would like to see extension writer coalesce into forming a community and police themselves, provide documentation, tips and so forth. If someone wants to volunteer to be a community manager for GNOME extensions I would be happy to work with them.

@phocean referring to your second point, was there something we could have done better? We did reach out with a patch sometime prior to the announcement to get your feedback. I think on reddit, you said you could port it to Topicons Plus. Your feedback would be welcome.

As for point three - I have in fact talked with shell developers on documentation last GUADEC. But I need a volunteer who is willing to manage the extension community, ideally, if we can get extension writers together and help write the documentation that would help a lot. GNOME Shell/Mutter is a very complex codebase and requires a lot of care as you can imagine. I rather they focus on making Mutter/Shell the best it can be.

@csoriano1618
Copy link

@neffo oh this is the case already, reviewers are basically some of the extensions authors. You can imagine with 60 revisions from one day to another to review we have to be thankful for those extensions authors/reviewers doing the amount of work they are doing.

If you want to get involved, just go around #gnome-shell irc and ask some of those reviewers, after some time and trust you can become also a reviewer.

I agree we would be better if we had the infrastructure and process Fedora/Firefox/Chrome etc have for extensions or packages, but you can imagine it's not feasible for us...

@phocean
Copy link
Owner Author

phocean commented Sep 25, 2017

@sramkrishna,

I did not mean the attitude, as indeed @fmuellner kindly contributed with a patch
It is true that at some point I was shocked that Allan pointed only to the legacy and unmaintained extension, but that's really a detail.

It is rather that the design choice, with the API clearly not being much maintained and going to disappear in future gtk version. It does not seem that the Gnome project is going to roll back with this decision.

So I am still thinking there is not much future for this extension.

Otherwise, your idea of developing the community, letting it with some autonomy, sounds great.
It may indeed solves many problems, letting Gnome developers focus on core issues.

@sramkrishna
Copy link

@phocean ah, yes.. indeed in the future we hope that app developers use the other paths that were created to do notifications. I agree there might not be such a thing. But I'm a bit confused as I thought you actually supported the move?

Trying to build a community and finding someone willing to do this will be a challenge.

@phocean
Copy link
Owner Author

phocean commented Sep 25, 2017

@sramkrishna,

I am not contradicting myself.
I believe that TopIcons was justified and that is why I worked on it.

I am just thinking that the Gnome project should have better handled it, with more transition, a better API, etc. This brutal drop is disliked by many users and damages a lot the Gnome project popularity.

On a pure design consideration, yes, I am supporting the move. And, considering the current status, I encourage people to move on.

But, again, the manner, the communication and the absence of a solid alternative for people who still don't want to follow the move (yet) is a disaster.

@phocean
Copy link
Owner Author

phocean commented Sep 25, 2017

@lestcape ,

Thank you for your message, and yes:

you can not take the role of a distro or a desktop, you are only one person.

Well said, I am exactly feeling that way with many user claims.

(probably it is easier to report bugs in github than in Bugzilla)

@ghost
Copy link

ghost commented Sep 25, 2017

@phocean I don't know what occurred with you exactly, but you can see that i understand:
https://github.com/lestcape/Gnome-Global-AppMenu/issues/56

I have not problem to help when the things depend to me, but when not, what can i do really? Look i don't have any problem to send users/developers to the right place to fire/fix his bugs, and i say what i think not matter what or who, but at same time come the time when you are tired of the same thing.

In my opinion you have the absolute reason when you say your extension will ending on nothing and a very good point to discontinue it, is a fact, things die. If you are not the killer, why you need to shoulder the blame?

Make always the best of you (not matter if you are against the world), or if the world is against you. What should never happen is that you ending be hypocritical with yourself.

You have won my admiration anyway. I know what it feels like when you're forced to leave something to which you've put a lot of effort into it for a long time.

@ghost
Copy link

ghost commented Sep 25, 2017

@phocean and if you want help on something, just make a ping to me. I have a little experience with the status icons, because I was the one who merged the appindicator inside the status icon extension of Cinnamon. Therefore I had to deal with both behaviours at the same time, making an hybrid tray. That was in that way, because the both api's have a lot of problems and a hybrid was the best solution to the user, so base on his application he can select what to used, If there are not an available appindicator, an status icons was raised to the place. Probably this will be the future of your extension, if you want to continuously supporting status icons.

@beanaroo
Copy link

screenshot from 2017-09-29 21-22-56
Thank you for your work and filling a much needed gap in my daily desktop experience.

@harry-cpp
Copy link

Its moving with the appindicator extension, which existed for a long long time now.

I'll just add this link for my comment, probably should have included it when I posted it before: https://github.com/ubuntu/gnome-shell-extension-appindicator/graphs/contributors

@phocean
Copy link
Owner Author

phocean commented Sep 29, 2017

@cra0zy Appindicator does not solve everything, as application support is required.
So applications will have the choice between the Gnome way and appindicator TopIcons was feeling the gap.

@harry-cpp
Copy link

@phocean My point is just that the extension they are using is not an extension that Ubuntu developed, they just made a fork of an extension that has been out there for as long as topicons.... your line was incorrect:

Ubuntu, after making a survey, also moves on with its own extension.

@fmuellner
Copy link

Appindicator does not solve everything, as application support is required.

Worse, unlike traditional status icons, AppIndicator doesn't tell the app whether an indicator is actually shown. In other words, if an application wants to support both plain GNOME and GNOME with topIcons/statusNotifier extensions, then it's out of luck if it uses libappindicator ...

@ghost
Copy link

ghost commented Sep 29, 2017

@fmuellner Yes, appindicator don't warranty anything, non from the side of the server and non from the side of the client, just this depend of the good intentions of both.

My question is how do something only when is possible could be worse than do nothing and how could be better force the linux developers, to find a solution to integrate his application in the right way, not matter the environment (the shell) or the type (if is a service in the cloud or a messaging service app or an application to monitor your system constantly).

How much time you think, could take to provide a good universal way with a very good design to be implemented to all client? If that take more than 5 years is this really the way to go?

@fmuellner
Copy link

Yes, appindicator don't warranty anything, non from the side of the server and non from the side of the > client, just this depend of the good intentions of both.

That's not the point. The point I'm making is that it simply assumes that there is a server in the first place.

@ghost
Copy link

ghost commented Sep 29, 2017

Ok, for that reason i say anything (wherever, it's included in anything).

Base on your last comment then, it can only be wrong if really there are not a server like occurs on gnome shell right now. Nice.

@ghost
Copy link

ghost commented Sep 30, 2017

For who want more information about the issue where clients assumes that there is a server and are not really watching: ubuntu/gnome-shell-extension-appindicator#75

That specially occurs for Qt applications and sure will be fixed: https://bugreports.qt.io/browse/QTBUG-63065

Is easy to understand the cause, some clients are not connected to the dbus session own_name. So, if they are watching when the service appear and disappear, this will not represent a problem anymore. There are also a workarounds like never destroy the server that can be implemented in gnome shell upstream (https://bugzilla.gnome.org/show_bug.cgi?id=781760) or directly in the extension code, like can be see in the first link.

@fmuellner
Copy link

For who want more information about the issue where clients assumes that there is a server and are not really watching: ubuntu/gnome-shell-extension-appindicator#75

That's not what I meant though. I'm talking about applications that can use a status icon, but don't want to expose that functionality when the operating system doesn't support them - after all, showing a dialog to ask whether the application should minimize to the tray is not useful when there is no tray to begin with. Or worse, just hide themselves until the (non-existent) status icon is clicked ...

Xembed is old and clumsy, but it does allow applications to address this, for example with the corresponding GTK+ API. Last time I checked, libappindicator didn't expose any API for achieving something similar, so apps have to pick between:

  • not caring about systems without status notifier/icon support - bad (with my GNOME hat on)
  • detecting whether it's running under GNOME, and assume that there's no status icon support - but then users who install top-icons or ubuntu-appindicator end up with no icon/indicator as well, so that's bad as well.

@ghost
Copy link

ghost commented Oct 1, 2017

Ups, now i understand your point, you have a good point and yes, there are not an specific API as to do a thing like that, so, there are not something similar to gtk_status_icon_is_embedded. Most you can do is delegate all the responsibility of the decision to the client. The client would suppose if in the session there are a KStatusNotifier service, is because there are a responsive tray and it will supposed the tray will not hide his icon (but yes, is a supposition). So, it will export the icon and will have to trust that it will be visible, but really it can not know if his icon is embedded or not.

Anyway, a developer that are creating his application to be running in kde or if it's a qt application or if it know about of appindicator and want to used it, will not check the gnome-shell version, but instead it will just check if the service is or not available.

So, i think you can not only limitted that to have two options, client can do:
1 - If have appindicator use the appindicator api.
2 - If have not appindicator, but have status items, use the status items.
3 - In other case use notifications (the case of gnome shell).

Why some one will check a version of the shell to take a desition like that on a shell with support for extensions, where the user could probably have an extension to handled that?

@ghost
Copy link

ghost commented Oct 1, 2017

Anyway, my opinion is that linux is a chaos, kde developers take decisions, gnome developers take decisions, i personally take decisions and all decision have a repercussion of course.

I really want to see the day where all decision will be taking to be possible have a better linux and not a chaos as actually is.

@simonbru
Copy link

simonbru commented Oct 1, 2017

About programs only compatible with the XEmbed protocol, couldn't we reuse the workaround developed for Plasma?
It may be as easy as starting the xembedsniproxy executable with the session, which users or distributions could do by themselves.

EDIT: I tried running xembedsniproxy and it kind of works on gnome-shell 3.26, but it is very buggy.

@hubick
Copy link

hubick commented Nov 29, 2018

All I know is, if my boss asks me to come to his office in Slack, or whatever, and I miss the brief Gnome notification, this extension lets me see in the tray that I have a message waiting, and not get fired. I came here to thank the developer for making Gnome usable for me. (p.s. your website has bad http cert and chrome won't connect ;-)

@rkmax
Copy link

rkmax commented Feb 7, 2019

Thank you for your great work and today your extension stills work pretty good on Gnome 3.20.2

@neilmayhew
Copy link

I'm so thankful for the work people are doing to keep this extension compatible with new gnome-shell releases. The appindicator extension isn't a solution for me because it shows only half of my background applications. Unfortunately, a lot of closed-source cross-platform applications that I'm forced to use for work (Slack, Teams, Keybase, Dropbox) still require "tray" functionality to be available.

@rbreaves
Copy link

rbreaves commented Oct 30, 2020

This extension is still working very well on the current 3.36 release and I've tested it with my Kinto.sh app which benefits greatly from having a system tray! I really do think the Gnome team is making a serious mistake by dropping future support for system trays in general and APIs needed to maintain them.

I really appreciate your work and hope others find it useful for a long while to come, despite whatever the Gnome team may do in the future.

image

@kofemann
Copy link
Contributor

With small tweaks (see pr #155 ) the extension works under gnome 40 with wayland.

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

No branches or pull requests