Skip to content

Latest commit

 

History

History
128 lines (95 loc) · 4.35 KB

README.md

File metadata and controls

128 lines (95 loc) · 4.35 KB

GOnnect

Documentation | Issues | Install


GOnnect workflow

Overview

GOnnect is an opinionated, simple, easy to use VoIP client, designed for Linux / Flatpak based installations. It makes use of various Flatpak portals and is meant to integrate well into modern Desktop Environments like KDE or GNOME.

Overview

What is special about GOnnect is that is meant to be provisioned. For that reason it has no configuration wizard or settings dialog and requires a working configuration file in place.

Here's a short feature list:

  • Call forwarding
  • Conference calls with three parties
  • LDAP address sources
  • Busy state for supported sources
  • Configurable identities for outgoing calls
  • Configurable busy on active call
  • Configurable Togglers (i.e. for call queues, CFNL, etc.)
  • Custom audio device profiles or managed by your system
  • System Tray integration for most common functions / favorites / most frequent calls
  • mpris for stopping other audio sources on incoming calls
  • GNOME Search-Provider support
  • Support for various hardware headsets (i.e. Yealink, Jabra)
  • KRunner search plugin (requires next generation flatpak)
  • Desktop Actions / Autostart
  • Global Keyboard Shortcuts (if supported by your Desktop environment)
  • Keeping the screensaver from droppin' in while on the phone
  • Mime-Type registration for tel: / sip: URLs
  • Light/Dark mode

Installing GOnnect

GOnnect is distributed via Flathub only. To install it, either visit the Flathub page or search for GOnnect in GNOME-Software or KDE's discover.

TODO: flathub link

After you have installed GOnnect, either adjust the provided sample.conf and place it in ~/.var/app/de.gonicus.gonnect/config/gonnect/99-user.conf, or head over to the documentation.

License

GOnnect is licensed unter the terms of the GNU GENERAL PUBLIC LICENSE Version 2, or at your opinion any later version.

See LICENSE for the full content of the license.

Development

GOnnect is based on Qt / C++ and requires a set of libraries to be buildable. There are may ways to achieve a build, but we'll describe just one of them in the following paragraphs.

Prerequisites

As we use immutable desktops here at GONICUS and development takes place in a dedicated distrobox for each project, we also use this procedure for GOnnect.

Make sure to have distrobox installed. On Fedora for example run:

sudo dnf install distrobox

After distrobox is installed, create the distrobox for GOnnect development by running

distrobox assemble create

in the directory of your GOnnect checkout.

Building

Assuming you're using the documented distrobox approach above, enter the distrobox and start the ordinary CMake build:

distrobox enter gonnect
mkdir build && cd build
cmake -GNinja ..
cmake --build . --parallel $(nproc --all)

Alternatively you can simply run qtcreator inside the distrobox and open the project as usual be selecting the CMakeLists.txt.

Building the flatpak

As GOnnect is mainly developed for use in Flatpak, some features only work in this kind of environment. If you want to build the Flatpak locally, you can do this by the following commands on your host shell:

flatpak uninstall de.gonicus.gonnect
flatpak run --command=flatpak-builder org.flatpak.Builder build --user --install-deps-from=flathub --disable-rofiles-fuse --force-clean --repo=repo resources/flatpak/de.gonicus.gonnect.yml
flatpak --user remote-add --no-gpg-verify gonnect-repo repo
flatpak --user install gonnect-repo de.gonicus.gonnect

Make sure to cleanup repo, build and .flatpak-builder to make QtCreator not eat up your CPU, memory and the whole computer as a desert.