Code Monkey home page Code Monkey logo

gnome-shell-extension-mconnect's Introduction

KDE Connect/MConnect integration for Gnome Shell

SMS window, Nautilus integration, Device Indicator & Menu

This extension provides integration for KDE Connect/MConnect in Gnome Shell, in the most native way possible.

KDE Connect uses an Android app and a desktop server to securely exchange data, allowing file sharing, notification sharing, sending of text messages and many other features.

MConnect is a KDE Connect protocol implementation in Vala/C.

Features

  • Send SMS messages with optional Google Contacts auto-completion

  • Find devices by causing them to ring until found

  • Mount and browse folders on your devices

  • Send files to devices with optional Nautilus integration

  • Monitor battery level and charging state

  • Supports KDE Connect and MConnect (WIP) as service providers

Installation

The extension will appear on the official website once it has been reviewed. Stable builds are available for download in the Releases page, or you may build and install from git with Meson:

git clone https://github.com/andyholmes/gnome-shell-extension-mconnect.git
meson gnome-shell-extension-mconnect/ build
cd build
ninja install-zip

Dependencies

The extension is known to work with Gnome Shell 3.24.x, but other recent versions may also work. Additionally, either KDE Connect or MConnect must be installed. Optional features and their requirements include:

Google Contacts Auto-complete in SMS Application

  • Gnome Online Accounts with at least one Google account
  • Gnome Online Accounts GIR (gir1.2-goa-1.0)
  • GData GIR (gir-gdata-0.0)

Nautilus Integration

  • Nautilus Python Bindings (python-nautilus)
  • Nautilus GIR (gir1.2-nautilus-3.0)

MConnect

As of August 2017, MConnect is in an early stage of development. If you have experience with Vala, consider contributing to the project. Currently MConnect supports:

  • Pairing with devices (but not unpairing)
  • Sending and receiving notifications (automatically handled by MConnect)
  • Monitoring battery level and charging state

MConnect support relies on the dbus-support branch and must be built from git. See the repository for dependencies.

git clone -b bboozzoo/dbus-support https://github.com/bboozzoo/mconnect.git
cd mconnect
autoreconf -if 
./configure --prefix=/usr
make

If MConnect is in your PATH, it can either be started from the User Menu or the extension can be configured to start it automatically. Once you have run make you may install it cleanly as a package if checkinstall is available:

sudo checkinstall --type=<slackware|rpm|debian>

Otherwise you may run MConnect from the build directory:

./mconnect -d

KDE Connect

KDE Connect support is far more complete but still has a few issues and missing features:

  • Mounting a Device can cause Gnome Shell to hang for a short period (~30s)
  • Encryption information is not available in the extension
  • Pinging devices is not possible in the extension
  • If device goes offline, there is no way to initiate discovery or reconnection
  • Some textual elements are retrieved from the service programmatically that may not be translatable

KDE Connect should be installed through normal, stable distribution channels.

Preferences

The following options are available in the extension preferences:

  • Device Visibility

    In what states a device will be made visible to the user. Paired, online devices will always be shown.

  • Nautilus Integration

    If true, a submenu will be added to the Nautilus context menu to allow sending files to devices directly from the file browser.

  • Service Autostart

    If true, the service will be automatically started and restarted if it stops. Otherwise the extension will wait for the service to be started.

  • Service Provider

    Whether to use KDE Connect or MConnect to provide access to devices.

  • Debug Mode

    If true, the extension will print verbosely to the log. See 'journalctl /usr/bin/gnome-shell -f -o cat' for output.

Credits and Acknowledgements

@albertvaka and friends for creating KDE Connect, and @bboozzoo for developing MConnect based on their protocol.

@Bajoja and the indicator-kdeconnect developers, for advice and code I frequently referenced.

A special mention goes to @ptomato for the large amount of work and the bright future he has contributed to GJS, as well as help on StackOverflow.

gnome-shell-extension-mconnect's People

Contributors

andyholmes avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.