From 7abfe7dfb91e1cddb61d39da31d192843b57cc8d Mon Sep 17 00:00:00 2001 From: Hannes Schulze <haschu0103@gmail.com> Date: Sun, 27 Jan 2019 11:35:52 +0100 Subject: [PATCH] Update README.md --- README.md | 190 ++++++++++++++++++------------------------------------ 1 file changed, 62 insertions(+), 128 deletions(-) diff --git a/README.md b/README.md index 14e004c..ed653d2 100644 --- a/README.md +++ b/README.md @@ -1,139 +1,73 @@ -## Important note - -2019-01-04 - Since I don't own anymore an android device, I'm not able to develop it... so, developpement is stopped so far. - - -## EOSConnect - -It's a KDEConnect client using GTK+ written in Vala, based on [mconnect](https://github.com/kevinselvaprasanna/mconnect). -The application is designed for elementary OS. (but should works on other distributions, perhaps.) - -A note on [mconnect](https://github.com/kevinselvaprasanna/mconnect). First version of EOSConnect used a custom fork of mconnect, extending his DBus API, so used as a backend, started by EOSConnect at startup. But I encoutered lot's of issues with async DBus calls in order to setup mconnect backend correctly, and EOSConnect began to have too much files and abstractions classes - in order to be able to change the backend later. So I decided to integrate directly mconnect code into EOSConnect, removing his DBus API. It removed lot's of code in EOSConnect and I was able to setup and adapt mconnect like I want easily. - -### Warning - -It's a Work In Progess, not intented for daily use. - -### Screenshots -#### Main window - - -#### SMS tab - - -#### Send a SMS without using SMS tab - -It's searching in available adressbooks, or you can use a custom phone number. - - - - -#### Send file(s) to device - -You can send files to device from Files's context menu. (or from the Dock's quick list.) - -") - -#### Dock integration - - +<div align="center"> + <h1 align="center">Conecto</h1> + <h3 align="center">Integrate your Android-phone with your PC - a GTK client for KDEConnect.</h3> +</div> + +<br/> + +<p align="center"> + <a href="https://github.com/hannesschulze/conecto/blob/master/COPYING"> + <img src="https://img.shields.io/badge/License-GPL--2.0-blue.svg"> + </a> + <a href="https://github.com/hannesschulze/conecto/releases"> + <img src="https://img.shields.io/badge/Release-v%201.0.0-orange.svg"> + </a> +</p> + +<p align="center"> + <a href="https://github.com/hannesschulze/conecto/issues/new">Report a problem!</a> +</p> + +## Installation + +### Dependencies +These dependencies must be present before building: + - `meson` + - `valac` + - `debhelper` + - `libgranite-dev` + - `libgtk-3-dev` + - `libunity-dev` + - `libnotify-dev` + - `libghc-gnutls-dev` + - `libsqlite3-dev` + - `libedataserver1.2-dev` + - `libebook1.2-dev` + +Use the following command to install the dependencies: +```shell +sudo apt install elementary-sdk libunity-dev libnotify-dev libghc-gnutls-dev libsqlite3-dev libedataserver1.2-dev libebook1.2-dev +``` -### Installation -* On Ubuntu or elementary OS, install these dependencies: -```bash -sudo apt install elementary-sdk libunity-dev libnotify-dev libghc-gnutls-dev libsqlite3-dev libedataserver1.2-dev libebook1.2-dev -y +### Building ``` -* Clone the repository. -* Inside the project, compile with: -```bash -meson build && clear && ninja -C build && glib-compile-schemas ./data/ +git clone https://github.com/hannesschulze/conecto.git && cd conecto +meson build +ninja -C build +glib-compile-schemas ./data/ ``` -* Start application - * Start from the build directory: - ```bash - GSETTINGS_SCHEMA_DIR=data ./build/src/com.github.gyan000.eos-connect - ``` - * Start with complete debug output: - ```bash - GSETTINGS_SCHEMA_DIR=data ./build/src/com.github.gyan000.eos-connect -d - ``` -* To install it: -```bash -sudo ninja -C build install - ``` - -### Known issues -* When launching app, sometimes, configured device, not connected on local network, does not appears as "not connected". -* When launching app, sometimes, need to unlock phone/tablet in order to see the device "connected". -* When started for the first time from build directory, quicklist not available. -### Roadmap -#### v0.1 -- [x] Import mconnect, remove useless stuff. -- [x] List available devices. -- [x] Use Tablet or Phone or Computre icons in devices list. -- [x] Pair automatically. -- [x] Plugin configuration by device: plugin list, custom name. -- [x] List configured device in dynamic quicklist. -- [x] Dconf: global setting and by device settings. - -#### v0.2 - ping -- [x] Send / receive ping, with notification. -- [x] Ping plugin configurarion. (button to send a ping.) - -#### v0.3 - battery -- [x] Receive notification when battery below a threshold. -- [x] Battery plugin configuration. (option to setup charge percentage warning) -- [x] Show battery percentage in dynamic quicklist. - -#### v0.4 - notification -- [x] Send / receive notifications. -- [x] Notification plugin configuration. (configuration window to activate/deactivate send/receive notifications globally and by application, with application filter.) -- [ ] Synchronise notifications on both devices. (when notification closed on a device, it should close on the other device.) - -#### v0.4 - share -- [x] Send one or more files, with popup with file advancement. -- [x] Receive files, with advancement using launcher api to display progress bar on the icon in the dock. -- [x] Share plugin configuration. (option to setup default save folder) -- [x] Add option to Files's context menu to send file(s) to a device. +To install, use `ninja install`: +```shell +sudo ninja -C build install +``` -#### v0.5 - SMS -- [x] Send / receive SMS, with SMS notification. -- [x] Option to display SMS tab in dynamic quicklist. -- [x] Tab in main window with SMS history by contact. -- [x] Add an icon on header bar to send SMS to one or more contacts. -- [x] Use libedataserver & libebook to get available adressbooks and take contacts with mobile phone. (and use contact photo if available) -- [x] Widget to send SMS, with input text and dropdown to select available device, which can send a SMS. (to use in the widget send SMS fom header bar, and into the SMS tab.) -- [x] When entering phone number or contact name in SMS widget from headerbar, display available contacts, with photo. -- [x] Use sqlite3 to store SMS by phone number. (and be able to scroll back in the history) -- [ ] When user do not want to store SMS with sqlite, use a dummy SMS store. -- [ ] General option, for all devices, to activate or not the storage of SMS history. -- [ ] SMS plugin configuration. (to setup how many days of history we want to keep) +## About this project -#### v0.5.1 - Telephony -- [ ] Display who's calling, with contact photo if available. -- [ ] Make sure we display notification when call missed. -- [ ] Telephony plugin configuration. +This project aims to provide a KDEConnect client designed for elementary OS, based on [mconnect](https://github.com/kevinselvaprasanna/mconnect). -#### v0.7 - Commands -- [ ] Execute commands. -- [ ] Command plugin configuration. (configuration window with available commands for remove device) +Conecto is based on [EOSConnect](https://github.com/gyan000/EOSConnect) by gyan000. Unfortunately he wasn't able to continue development because he didn't own an android device anymore. -#### v0.8 - Clipboard -- [ ] Copy / past working. (in both direction ?) -- [ ] Clipboard plugin configuration. +This project is a work in progress, not intended for daily use. -#### v0.9 - Multimedia control -- [ ] Multimedia control plugin configuration. +Current features include: + - Connecting to the android device + - Pinging the device + - Sharing files through devices + - Showing the battery level + - Receiving notifications + - Sending SMS -#### v0.9.1 - Remote control -- [ ] Remote control plugin configuration +## License -#### v1 -- [ ] Remove refresh icon at bottom of devices list. -- [ ] Unpair device, with icon at bottom of devices list. -- [ ] Option, when unpairing a device, to delete everything: configuration, SMS history. -- [ ] Welcome screen, with how-to setup. -- [ ] Option to setup public visible name of EOSConnect. -- [ ] Translations: french. -- [ ] Code cleanup. +This project is licensed under the GPL-2.0 License - see the [COPYING](COPYING) file for details. -- GitLab