Commit graph

158 commits

Author SHA1 Message Date
Weixuan Xiao
f1843cb492 Improve D-Bus implementation on macOS
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 :)
2022-04-12 05:40:03 +00:00
l10n daemon script
c630a3de90 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-11-04 01:16:42 +00:00
l10n daemon script
4462b74866 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-11-03 01:25:15 +00:00
l10n daemon script
a3792aa75f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-09-20 01:22:57 +00:00
l10n daemon script
977c58dcf8 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-09-14 01:21:55 +00:00
l10n daemon script
a3082de593 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-07-28 01:18:37 +00:00
Alexander Lohnau
30d895d868
Clean up unneeded JSON parameter in kcoreaddons_add_plugin
The moc process already rebuilds the plugin when the JSON file changes, consequently the additional parameter is not needed.

Task: https://phabricator.kde.org/T14649
2021-06-28 20:33:52 +02:00
Piyush Aggarwal
d71af0134e mpriscontrolplugin-win: add nullptr check for autoRepeatMode and isShuffleActive 2021-06-24 15:29:43 +05:30
Piyush Aggarwal
ee19722eea mpriscontrolplugin-win: add support for loopStatus and shuffle control 2021-06-22 10:43:34 +05:30
Piyush Aggarwal
a59ea0e9b8 mpriscontrolplugin-win: send -1 volume to show per-app volume control is not supported 2021-06-22 08:17:23 +05:30
Łukasz Patron
fb8646b309 Expose LoopStatus and Shuffle control over mpris control plugin
This allows us to read and write these to fields from KDE Connect client.
2021-06-21 17:38:05 +00:00
Piyush Aggarwal
a6de73d437 add compilation check for WIN_SDK_VERSION 2021-06-15 18:06:03 +05:30
Piyush Aggarwal
d11f15a3e6 mpriscontrolplugin: resolve AUMID to display name of the media app when possible 2021-06-15 17:17:52 +05:30
l10n daemon script
46a19ac6cf SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-04-19 01:18:23 +00:00
l10n daemon script
e57fd79f26 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-09-19 06:10:24 +02:00
l10n daemon script
b7bdc75ff9 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-09-17 06:15:05 +02:00
Piyush Aggarwal
1204da7944 add missing header to fix build with MSVC 14.27 2020-08-18 13:36:32 +05:30
Nicolas Fella
87db95b22f Convert license headers to SPDX expressions 2020-08-17 09:48:10 +00:00
l10n daemon script
e44e4a4c19 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-20 05:10:40 +02:00
l10n daemon script
653a708727 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-18 05:39:20 +02:00
l10n daemon script
e873eddcde SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-17 14:06:59 +02:00
Jun Bo Bi
4c011458c2 Add real support for mpriscontrol on Windows 2020-05-31 15:50:56 -04:00
Antonio Larrosa
1d36164230 Use ecm_qt_declare_logging_category to declare the logging categories
This automatizes the generation of logging categories so a
kdeconnect-kde.categories is generated and installed to
/usr/share/qlogging-categories5/ so kdebugsettings can use it.

Also, sets the default logging level to Warning. So now the logs
of users won't be filled with debug messages but they can
modify the configuration easily with kdebugsettings.
2020-05-26 18:55:47 +02:00
Max Rumpf
fbadf09fb5 mpriscontrol plugin should ignore playerctld
playerctld (https://github.com/altdesktop/playerctl/issues/161) is a proxy daemon for the currently active player by playerctl, which facilitates managing mpris players, forwarding requests to the currently active/last active player, and sorting out troubles with selecting the correct player manually.
Unfortunately, it also creates an annoying issue with kdeconnect: when playing media on the phone, kdeconnect publishes the state to the computer through the mprisremote plugin - then, playerctld picks it up as active player, and registers its own mpris media player. As a result, the mpriscontrol plugin sees this as a running media player, and in turn, publishes the state back to the phone, essentially creating another media session on the phone, resulting in two notifications. As playerctld is _always_ only a proxy to another media player (or kdeconnect), it can safely be ignored, just like kdeconnect itself already is. This commit adds an if check doing exactly that.
2020-05-20 21:12:33 +00:00
l10n daemon script
0e04769a43 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-04-07 06:11:40 +02:00
Albert Vaca Cintora
9feb4e5510 Merge branch 'strace/kdeconnect-kde-seamless_playback' 2020-03-21 00:24:49 +01:00
Matthijs Tijink
f7b7cdbfd5 Adds an MPRIS server for controlling other device's MPRIS services
By creating a DBus connection per player, we are able to support
multiple remote players.

The album art is not yet supported.
2020-03-15 22:38:03 +00:00
Nicolas Fella
f28ea834e1 Use generated DBus interface in mpriscontrol 2020-01-20 17:36:44 +01:00
Soul Trace
1829c89235 Apply suggestion to plugins/mpriscontrol/mpriscontrolplugin.cpp 2020-01-18 17:26:16 +00:00
Soul Trace
d80e48f4c7 Let user open in the PC browser media URL to Android device [2/2]
Let kdeconnect-kde send xesam:url field to renote device in "url" field.
2020-01-18 16:28:05 +03:00
Yuri Chornoivan
01c4d0411b Fix minor EBN issues 2019-12-22 09:49:55 +02:00
Baptiste Ashka
8aca11e102 Use URL as title and album in MPRIS plugin
Summary:
The current behavior in plasma-workspace's mediacontroller is to get the
title and the album info from the URL contained in the MPRIS metadata,
if it is dealing with a local file and missing title and artist. This
commit aligns the behavior to the one mediacontroller has.

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D26097
2019-12-19 18:11:12 +01:00
l10n daemon script
b830c8f33b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-12-19 05:49:03 +01:00
Nicolas Fella
0d7c504cf0 Rename DbusHelper => DBusHelper 2019-08-14 17:36:19 +02:00
l10n daemon script
b14009afd5 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-08-09 05:25:21 +02:00
l10n daemon script
2d2cf7444a SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-08-07 05:00:07 +02:00
l10n daemon script
cedd6f0c8b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-06-29 05:17:17 +02:00
Nicolas Fella
7bdfd3863a Remove trailing whitespace 2019-06-12 22:17:16 +02:00
Nicolas Fella
5c16bfda5d Use K_PLUGIN_CLASS_WITH_JSON 2019-06-12 22:16:54 +02:00
Nicolas Fella
e601755644 Force usage of QStringLiteral and port remaining offenders 2019-06-10 14:40:28 +00:00
Weixuan Xiao
5431073844 Add wrapper for macos dbus connection 2019-06-09 15:28:49 +00:00
l10n daemon script
2c49558f32 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-04-22 05:58:13 +02:00
l10n daemon script
e1618b1ad8 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-03-24 05:23:24 +01:00
Nicolas Fella
0c5a8e5a1e More https 2019-03-23 17:38:09 +01:00
Nicolas Fella
3b8fedea1a Replace http GNU urls with https 2019-03-23 17:29:26 +01:00
Jun Bo Bi
f4c7e12ea6 [mpriscontrol] add primitive windows support
Summary: Added primitive support for the mpriscontrol plugin on Windows by simulating VK_MEDIA key presses. I took a look into `ISystemMediaTransportControls`, but there doesn't seem to query it since it's per app. Leaving simulating key presses our only option for now. Completes T10000

Reviewers: kdeconnect, #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka

Tags: #kde_connect, #windows

Maniphest Tasks: T10000

Differential Revision: https://phabricator.kde.org/D17702
2018-12-21 19:24:06 +01:00
l10n daemon script
6879cf14cd SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-10-24 05:55:51 +02:00
l10n daemon script
0057c44a30 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-06-21 05:33:36 +02:00
l10n daemon script
e40312bf5e SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-06-18 05:27:46 +02:00
Matthijs Tijink
33c2a100b1 Support file url album art - Desktop
Summary: If the android code sees a file url, and album art is needed, it will start a request to transfer the album art. This code does some sanity checks to prevent abuse and then transfers the album art.

Test Plan: Art is transferred succesfully.

Reviewers: #kde_connect, nicolasfella, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: nicolasfella, albertvaka

Differential Revision: https://phabricator.kde.org/D11017
2018-03-25 13:45:01 +02:00