Coder Social home page Coder Social logo

jami-client-gnome's Introduction

Jami client Gnome

Build Status

Jami-client-gnome is a Jami client written in GTK+3. It uses libRingClient to communicate with the Jami daemon and for all of the underlying models and their logic. Ideally Jami-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://jami.net/

More info about the Jami project and the clients can be found on our Gitlab's instance: https://git.jami.net/

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

Setting up your environment

Requirements

  • Jami 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)
  • A font with symbols U+1F4DE and U+1F57D (used in some messages)
  • 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 libnotify-dev gettext

On Fedora:

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

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

Compiling

In the project root dir:

mkdir build
cd build
cmake ..
make

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

Installing

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 Jami 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

Debugging

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.

Generating marshals.*

glib-genmarshal --header marshals.list > marshals.h
glib-genmarshal --include-header=marshals.h --body marshals.list > marshals.cpp

jami-client-gnome's People

Contributors

aberaud avatar amarok1412 avatar apteryks avatar atraczyk avatar aviau avatar bandali0 avatar cirosantilli avatar comradekingu avatar eckoedc avatar fuddl1 avatar gasuleg avatar h5117 avatar hlef avatar houminz avatar joufellasfl avatar lkundrak avatar moronixproduct3 avatar notmart avatar ntninja avatar ovari avatar philippegorley avatar raphaaldev avatar ssalenik avatar ubik23 avatar wrycode avatar zykino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.