AyatanaIndicators / ayatana-indicator-notifications

Ayatana Indicator Notifications Service
GNU General Public License v3.0
4 stars 5 forks source link

add XDG autostart file(?) #6

Closed sunweaver closed 4 years ago

sunweaver commented 4 years ago

Additionally to #5 we should add an XDG autostart file (for non-systemd platforms).

@tari01: feedback? comments?

tari01 commented 4 years ago

Hmm... The indicator base already sort-of depends on systemd. I know there are people out there that strongly oppose systemd and use init scripts in their custom OS-es, but aren't all stock builds nowadays shipping with systemd?

sunweaver commented 4 years ago

My special use case is MATE on non-Linux systems (e.g. Debian GNU/kFreeBSD and Debian GNU/Hurd). The goal for MATE in Debian is to be usable on really all architectures. As MATE with Indicators shall be a possible default in Debian, I'd like to have Ayatana Indicators available also on the non-Linux platforms

tari01 commented 4 years ago

In that case it's not even up for debate - XDG autostart files should be included (through conditional packaging?)

sunweaver commented 4 years ago

Hi,

On Di 11 Aug 2020 17:27:42 CEST, Robert Tari wrote:

In that case it's not even up for debate - XDG autostart files
should be included (through conditional packaging?)

my idea is to have XDG autostart .desktop files but have all services
disabled by default. The user can then enable the indicators that are
wanted via the autostart settings dialog of the desktop environment.

Feedback?

Mike --

DAS-NETZWERKTEAM c\o Technik- und Ökologiezentrum Eckernförde Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde mobile: +49 (1520) 1976 148 landline: +49 (4351) 850 8940

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de

tari01 commented 4 years ago

Sounds good to me. Perhaps I would enable the minimal defaults: session + datetime + sound + network + messages. Messages will not show up until an application register itself there.

sunweaver commented 4 years ago

The point is that most desktop envs should start system indicators via systemd. So, for builds with systemd, we need to disable all XDG autostarted indicators. If a desktop env does not have systemd support for AI yet (i.e. it does not request the new ayatana-indicators.target), then XDG autostart should be possible.

Once a desktop env has been switched to ayatana-indicators.target/systemd, then we should drop that desktop env from OnlyShowIn. See (for MATE): https://github.com/mate-desktop/mate-indicator-applet/issues/63

Unfortunately, MATE handles the disabling of autostart service in a non-portable way, see: https://github.com/mate-desktop/mate-session-manager/issues/260

Furthermore, all indicators have NoDisplay=true currently. With MATE 1.24 and later, such .desktop files will be hidden from the mate-session-properties dialog.

I still need to breed on this. How to best expose indicators via XDG autostart on non-systemd systems (certainly a build time thing) and how to handle the transition from XDG autostart to systemd/ayatana-indicators.target for desktop envs that still use XDG autostart. However, if systemd is unavailable, then XDG autostart should be the way to go for all desktop envs (that are able to run on non-systemd systems).

sunweaver commented 4 years ago

The notification indicator is not an NG indicator (which I always thought it is...). Thus, no autostart nor systemd start required.