spyophobia / shadowsocks-gtk-rs

A desktop GUI frontend for shadowsocks-rust client implemented with gtk-rs.
GNU General Public License v3.0
58 stars 7 forks source link

appindicator has been deprecated since Debian-11, need to use Ayatana Indicators instead #5

Open sprhawk opened 2 years ago

sprhawk commented 2 years ago

Failed to be compiled on Debian-11 due to missing of libappindicator3

Refs:

https://lists.debian.org/debian-devel/2018/03/msg00506.html https://wiki.debian.org/Ayatana/IndicatorsTransition

spyophobia commented 2 years ago

I'm aware of this deprecation and transition but I've never managed to get a solid grasp of the entire situation. I have several questions - if you (or anyone else for that matter) can clarify for me it would be great.

  1. Is AyatanaIndicator functionally a 1-to-1 replacement for AppIndicator? Are there added/removed features?
  2. Who or what initiated this motion to deprecate and for what reason?
  3. What is the scope of this deprecation (i.e. which distros have declared it deprecated)?
  4. Is there a generally accepted consensus within the broader Linux developer community (not just Debian and Ubuntu) that dependents should migrate? In other words, is there a possibility in the future that different distros may diverge in their recommended indicator library?

In the meantime I'm happy to support both AyatanaIndicator and AppIndicator as the tray icon backend. I don't immediately have time to work the issue but I'll try to produce an initial fix within a week or something.

sprhawk commented 2 years ago

I'm aware of this deprecation and transition but I've never managed to get a solid grasp of the entire situation. I have several questions - if you (or anyone else for that matter) can clarify for me it would be great.

1. Is `AyatanaIndicator` functionally a 1-to-1 replacement for `AppIndicator`? Are there added/removed features?

2. Who or what initiated this motion to deprecate and for what reason?

3. What is the scope of this deprecation (i.e. which distros have declared it deprecated)?

4. Is there a generally accepted consensus within the broader Linux developer community (not just Debian and Ubuntu) that dependents should migrate? In other words, is there a possibility in the future that different distros may diverge in their recommended indicator library?

In the meantime I'm happy to support both AyatanaIndicator and AppIndicator as the tray icon backend. I don't immediately have time to work the issue but I'll try to produce an initial fix within a week or something.

Please see https://lists.debian.org/debian-devel/2018/03/msg00506.html for your question 2, and ( from https://ayatanaindicators.github.io/about/ )

Why Ayatana Indicators?

Canonical announced the discontinuation of Unity on the desktop and mobile devices in April 2017. As Ubuntu shifts its focus to GNOME, which is dropping the panel indicator concept entirely, it is fair assumption that upstream maintainence of application indicators and related technologies will decline or come to end entirely.

There are a number of projects that are already using indicators and/or it's associated libraries such as MATE Desktop, XFCE and Arctica Greeter. The UBports project has also expressed interest. These projects all really like the indicator concept and wish to see it maintained and continued.

To better understand the origins of the project and the goals for the future you can hear it from the Ayatana Indicator project lead, Mike Gabriel, from his Ayatana Indicators talk at DebConf17.

In link https://wiki.debian.org/Ayatana/IndicatorsTransition , you can find patches for transitioned apps. The patches shows some modifications from appindicator to ayatana-appindicator , some apps only changed link flags, but some changed a lot more, like identifiers for example