Mirror of Gerrit Ring GNOME Client
Clone or download
hlef chatview: fix attempt to assign ro property
"Styles should not be set by assigning a string directly to the style
property since it is considered ro, as the style attribute returns a
CSSStyleDeclaration object which is also read-only."

Fix attempts to assign style property.

Change-Id: Idffa1be0e9bbe654eeb40a73f2d89a8b02fa9abf
Latest commit 19363ba Sep 20, 2018


Ring client Gnome

Build Status

Ring-client-gnome is a Ring client written in GTK+3. It uses libRingClient to communicate with the Ring daemon and for all of the underlying models and their logic. Ideally ring-client-gnome should only contain UI related code and any wrappers necessary for interacting with libRingClient.

Packages for Debian/Ubuntu/Fedora can be found at https://ring.cx

More info about the Ring project and the clients can be found on our Gitlab's instance: https://git.ring.cx/

GNU Ring welcomes contribution from everyone. See CONTRIBUTING.md for help getting started.

Setting up your environment


  • Ring daemon
  • libRingClient
  • GTK+3 (3.10 or higher)
  • Qt5 Core
  • X11
  • gnome-icon-theme-symbolic (certain icons are used which other themes might be missing)
  • libebook1.2 / evolution-data-server (3.10 or higher)
  • libnotify (optional, if you wish to receive desktop notifications of incoming calls, etc)
  • gettext (optional to compile translations)

On Debian/Ubuntu these can be installed by:

sudo apt-get install g++ cmake libgtk-3-dev qtbase5-dev libclutter-gtk-1.0-dev gnome-icon-theme-symbolic libebook1.2-dev libnotify-dev gettext

On Fedora:

sudo dnf install gcc-c++ cmake gtk3-devel qt5-qtbase-devel clutter-gtk-devel gnome-icon-theme-symbolic evolution-data-server-devel libnotify-devel gettext

The build instructions for the daemon and libRingClient can be found in their respective repositories. See Gerrit:


In the project root dir:

mkdir build
cd build
cmake ..

You can then simply run ./gnome-ring from the build directory


If you're building the client for use (rather than testing of packaging), it is recommended that you install it on your system, eg: in /usr, /usr/local, or /opt, depending on your distro's preference to get full functionality such as desktop integration. In this case you should perform a 'make install' after building the client.

Building without installing Ring daemon and libRingClient

It is possible to build ring-client-gnome without installing the daemon and libRingClient on your system (eg: in /usr or /usr/local):

  1. build the daemon
  2. when building libRingClient, specify the location of the daemon lib in the cmake options with -DRING_BUILD_DIR=, eg: -DRING_BUILD_DIR=/home/user/ring/daemon/src
  3. to get the proper headers, we still need to 'make install' libRingClient, but we don't have to install it in /usr, so just specify another location for the install prefix in the cmake options, eg: -DCMAKE_INSTALL_PREFIX=/home/user/ringinstall
  4. now compile libRingClient and do 'make install', everything will be installed in the directory specified by the prefix
  5. now we just have to point the client to the libRingClient cmake module during the configuration: -DLibRingClient_DIR=/home/user/ringinstall/lib/cmake/LibRingClient


For now, the build type of the client is "Debug" by default, however it is useful to also have the debug symbols of libRingClient. To do this, specify this when compiling libRingClient with -DCMAKE_BUILD_TYPE=Debug in the cmake options.