• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.gitlab/H27-Feb-2022-6242

LICENSES/H03-May-2022-

app/H03-May-2022-1,3611,196

cli/H03-May-2022-404347

cmake/H27-Feb-2022-11083

core/H03-May-2022-7,4935,170

daemon/H03-May-2022-249210

data/H03-May-2022-403398

declarativeplugin/H03-May-2022-2,1071,867

doc/H03-May-2022-5640

fileitemactionplugin/H03-May-2022-211172

icons/H03-May-2022-5048

indicator/H03-May-2022-1,189897

interfaces/H03-May-2022-2,5741,897

kcm/H03-May-2022-997885

kcmplugin/H03-May-2022-9248

kio/H03-May-2022-344244

nautilus-extension/H03-May-2022-12999

plasmoid/H03-May-2022-1,004857

plugins/H03-May-2022-19,65515,571

po/H01-Mar-2022-95,86579,328

runners/H27-Feb-2022-180176

settings/H03-May-2022-167140

smsapp/H03-May-2022-3,1832,462

tests/H03-May-2022-917604

urlhandler/H03-May-2022-366326

.editorconfigH A D27-Feb-2022176 119

.gitignoreH A D27-Feb-2022307 2825

.gitlab-ci.ymlH A D27-Feb-2022266 54

.kde-ci.ymlH A D27-Feb-2022962 3128

CONTRIBUTING.mdH A D27-Feb-2022659 105

KDEConnectMacros.cmakeH A D27-Feb-20221.2 KiB2924

README.mdH A D27-Feb-20225.1 KiB6947

pkg-plistH A D03-May-202236.4 KiB723722

README.md

1# KDE Connect - desktop app
2
3KDE Connect is a multi-platform app that allows your devices to communicate (eg: your phone and your computer).
4
5## (Some) Features
6- **Shared clipboard**: copy and paste between your phone and your computer (or any other device).
7- **Notification sync**: Read and reply to your Android notifications from the desktop.
8- **Share files and URLs** instantly from one device to another including some filesystem integration.
9- **Multimedia remote control**: Use your phone as a remote for Linux media players.
10- **Virtual touchpad**: Use your phone screen as your computer's touchpad and keyboard.
11- **Presentation remote**: Advance your presentation slides straight from your phone.
12
13All this is done completely wirelessly, utilising TLS encryption.
14
15## Supported platforms
16- Computers running Linux with Plasma 5, Gnome 3, Elementary OS... any distro with Qt5 support given a little work :)
17- Android, by installing the KDE Connect app from the [Play Store](https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp) or [F-Droid](https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp).
18
19## How to install
20These instructions explain how to install KDE Connect on your computer. You will also need to install it on your Android device and pair them together in the app before using this application. The Android app repository can be found [here](https://invent.kde.org/network/kdeconnect-android)
21
22### On Linux
23Look in your distribution repo for a package called `kdeconnect-kde`, `kdeconnect-plasma`, or just `kdeconnect`. If it's not there and you know how to build software from sources, you just found the repo :), instructions are [here](https://community.kde.org/KDEConnect#Building_KDE_Connect_.28Desktop.29)
24
25### On Mac or Windows
26Platforms other than Linux are not officially supported, as there has yet to be an official release of KDE Connect for MacOS or Windows. However, most of the features have already been ported to windows so you can compile KDE Connect for Windows using [Craft](https://community.kde.org/Craft). It hasn't yet been completely tested on MacOS, contributions and feedback are welcome!
27
28### On BSD
29It should work, but no promises :)
30
31## How does it work?
32KDE Connect consists of a UI-agnostic "core" library that exposes a series of DBus interfaces, and several UI components that consume these DBus interfaces. This way, new UI components can be added to integrate better with specific platforms or desktops, without having to reimplement the protocol or any of the internals. The core KDE Connect library is also divided into 4 big blocks:
33
34- **LinkProviders**: Are in charge of discovering other KDE Connect-enabled devices in the network and establishing a Link to them.
35- **Devices**: Represent a remote device, abstracting the specific Link that is being used to reach it.
36- **NetworkPackets**: JSON-serializable and self-contained pieces of information to be sent by the plugins between devices.
37- **Plugins**: Independent pieces of code that implement a specific feature. Plugins will use NetworkPackets to exchange information through the network with other Plugins on a remote Device.
38
39The basic structure of a NetworkPacket is the following:
40
41```
42{
43  "id": 123456789,
44  "type": "com.example.myplugin",
45  "body": {  },
46  "version": 5
47}
48```
49
50The content of the `"body"` section is defined by each Plugin. Hence, only the emitter and receiver plugins of a given packet type need agree on the contents of the body.
51
52NetworkPackets can also have binary data attached that can't be serialized to JSON. In this case, two new fields will be added:
53
54`"payloadSize"`: The size of the file, or -1 if it is a stream without known size.
55`"payloadTransferInfo"`: Another JSON object where the specific Link can add information so the Link in the remote end can establish a connection and receive the payload (eg: IP and port in a local network). It's up to the Link implementation to decide how to use this field.
56
57## Contributing
58
59To contribute patches, use [KDE Connect's GitLab](https://invent.kde.org/network/kdeconnect-kde). There you can also find a task list with stuff to do and links to other relevant resources. It is a good idea to also subscribe to the [KDE Connect mailing list](https://mail.kde.org/mailman/listinfo/kdeconnect). We can also be reached on IRC at #kdeconnect on irc.libera.chat or on [Telegram](https://t.me/joinchat/AOS6gA37orb2dZCLhqbZjg), contributions and feedback are warmly welcomed.
60
61For bug reporting, please use [KDE's Bugzilla](https://bugs.kde.org). Please do not use the issue tracker in GitLab since we want to keep everything in one place.
62
63Please know that all translations for all KDE apps are handled by the [localization team](https://l10n.kde.org/). If you would like to submit a translation, that should be done by working with the proper team for that language.
64
65## License
66[GNU GPL v2](https://www.gnu.org/licenses/gpl-2.0.html) and [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.html)
67
68If you are reading this from Github, you should know that this is just a mirror of the [KDE Project repo](https://invent.kde.org/network/kdeconnect-kde).
69