A native KDE Connect implementation for the COSMIC Desktop, written in Rust.
  • Rust 96.4%
  • Fluent 2.3%
  • Just 1.3%
Find a file
Piotr c32be4177d
Merge pull request #46 from M4L-C0ntent/tele
Add plugin Telephony - Update Dependencies - Other Fixes
2026-05-01 22:34:20 +02:00
.github init 2025-11-07 16:03:03 +01:00
cosmic-ext-connect-applet Update dependencies with fixes 2026-04-30 19:11:06 -05:00
kdeconnect-core fix(telephony): hold Player objects across pause/resume to fix media not resuming after call 2026-04-28 20:38:10 -05:00
kdeconnect-dbus-client feat(runcommand): implement run command plugin 2026-04-04 13:28:45 -05:00
kdeconnect-service fix: add single-instance guard to prevent multi-spawn race condition 2026-04-27 19:55:21 -05:00
resources Update applet screenshot 2026-04-21 19:37:32 -05:00
.gitignore chore: add flatpak extenstion to ignore list 2026-04-06 15:59:02 -05:00
cargo-sources.json Update dependencies with fixes 2026-04-30 19:11:06 -05:00
Cargo.lock Update dependencies 2026-04-30 18:08:56 -05:00
Cargo.toml Update dependencies 2026-04-30 18:08:56 -05:00
io.github.hepp3n.kdeconnect.json feat system vol 2026-04-18 19:57:57 -05:00
justfile chore: reload daemon after installing service 2026-04-30 19:46:55 -05:00
LICENSE Import of new applet 2026-02-28 15:44:02 -06:00
README.md Update dependencies with fixes 2026-04-30 19:11:06 -05:00

⚠️ WORK IN PROGRESS

A native KDE Connect implementation for the COSMIC Desktop, written in Rust.
Many features are working but you may encounter bugs — please report them via GitHub Issues.


KDE Connect applet on COSMIC desktop environment

Supported Features
  • Device Pairing / Unpairing
  • Battery Monitor
  • Clipboard Sync (bidirectional)
  • Connectivity Report (signal strength / network type)
  • Contacts Sync
  • Find My Phone
  • MPRIS / Media Control (exposed via D-Bus MPRIS2 to COSMIC panel)
  • Notifications (receive, action, reply)
  • Ping
  • Run Commands
  • Share Files & URLs (send files, receive files and URLs)
  • SMS (conversations, send/receive)
  • Plugin Enable / Disable per device
  • System Volume (Partial support - May not work on certain devices - Known Mobile App Bug)
  • Telephony (Know bug - Media does not resume when Ending/Canceling Call)
🚧 Features Not Yet Supported
  • MousePad / Remote Input
  • Presenter Mode
  • SFTP / Browse Device
  • Virtual Display

Installing from COSMIC Flatpak Repository

flatpak remote-add --if-not-exists --user cosmic https://apt.pop-os.org/cosmic/cosmic.flatpakrepo
flatpak install --user io.github.hepp3n.kdeconnect

Building from Source

Prerequisites

  • rustup.rs
  • libxkbcommon-dev (required on some distros — if the build fails, install this first)
  • just command runner

Quick Start

git clone https://github.com/hepp3n/kdeconnect.git
cd kdeconnect
just build
just install

The service starts automatically on next login via D-Bus activation and XDG autostart.

Optional: Systemd Integration

For journalctl logging and systemctl control instead of D-Bus activation:

just install-systemd
just enable-service

Note: You may need to log out and back in for the applet to appear in the COSMIC panel. Once logged back in, go to COSMIC Settings → Desktop → Panel → Configure Panel Applets and add KDE Connect.

Debug Install

Full logging for both the service and panel applet:

just install-debug
  • Service logs → /tmp/kdeconnect-service.log
  • Applet logs → /tmp/kdeconnect-applet.log

Restore to standard install with just install.


Uninstalling

just uninstall

Building as Flatpak

Requires flatpak-builder:

flatpak-builder --force-clean --user --install-deps-from=flathub --repo=repo --install builddir io.github.hepp3n.kdeconnect.json

Troubleshooting

Some distributions enables Firewall by default. Or you are enabled it by yourself. In this case, check what firewall you are using. And allow 1714-1764 port range for TCP and UDP connections.

For UFW firewall:

sudo ufw allow 1714:1764/udp
sudo ufw allow 1714:1764/tcp
sudo ufw reload

For Firewalld:

sudo firewall-cmd --permanent --zone=home --add-service=kdeconnect
sudo firewall-cmd --reload

For IPTables:

sudo iptables -I INPUT -i <yourinterface> -p udp --dport 1714:1764 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -I INPUT -i <yourinterface> -p tcp --dport 1714:1764 -m state --state NEW,ESTABLISHED -j ACCEPT

sudo iptables -A OUTPUT -o <yourinterface> -p udp --sport 1714:1764 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -o <yourinterface> -p tcp --sport 1714:1764 -m state --state NEW,ESTABLISHED -j ACCEPT

For more, directly from official KDEConnect userbase: KDEConnect Firewall