f1843cb492
Better patch to replace !218. - Auto and quick detection of previous D-Bus instance; - Remove private D-Bus compile definition, only use it on macOS without an existing D-Bus instance; - Safe reboot after crashes because the indicator is not relating on the kdeconnectd to run a D-Bus session; - Safe exit after clicking on `Quit` in the systray. More details in commit logs: Only enable private D-Bus on macOS because the other platforms do not need them. The app should be able to easily detect the session bus from the env DBUS_LAUNCHD_SESSION_BUS_SOCKET from launchd through launchctl. Because https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/dbus/dbus-sysdeps-unix.c#L4392 shows that it is the only probing method on macOS with launchd. The D-Bus session bus can be easily found from launchd/launchctl with DBUS_LAUNCHD_SESSION_BUS_SOCKET env. It can be an external one (installed from HomeBrew) or an internal one (launched by a previous instance followed by a crash). The indicator helper on macOS can now automatically detect whether we can use a potentially (with launchd/launchctl env set, or KDE Connect macOS private_bus_address set) existed and usable session bus. If previous bus is usable, just try to launch the kdeconnectd with us. Otherwise, launch a private D-Bus daemon, export the launchd/launchctl env, and run a kdeconnectd instance. Everything works better and quicker now :) |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
kdeconnect_pausemusic.json | ||
kdeconnect_pausemusic_config.qml | ||
org.mpris.MediaPlayer2.Player.xml | ||
pausemusic_config.cpp | ||
pausemusic_config.h | ||
pausemusic_config.ui | ||
pausemusicplugin-win.cpp | ||
pausemusicplugin-win.h | ||
pausemusicplugin.cpp | ||
pausemusicplugin.h | ||
README |
This simple plugin will just listen to "kdeconnect.telephony" like the telephony plugin does. It reads the field "event", to see if it is "ringing" or "talking" and then pauses all the music/video players reachable through MPRIS. When the same kind of package is received but the boolean "isCancel" is set to true, it will resume the playback of all the paused sources.