Skip to content
Snippets Groups Projects
README.md 3.91 KiB
Newer Older
  • Learn to ignore specific revisions
  • Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    nheko
    ----
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    [![Build Status](https://travis-ci.org/mujx/nheko.svg?branch=master)](https://travis-ci.org/mujx/nheko)
    [![Build status](https://ci.appveyor.com/api/projects/status/07qrqbfylsg4hw2h/branch/master?svg=true)](https://ci.appveyor.com/project/mujx/nheko/branch/master)
    [![Chat on Matrix](https://img.shields.io/badge/chat-on%20matrix-blue.svg)](https://matrix.to/#/#nheko:matrix.org)
    [![License: GPL v3](https://img.shields.io/badge/license-GPL%20v3-red.svg)](https://www.gnu.org/licenses/gpl-3.0)
    [![AUR: nheko-git](https://img.shields.io/badge/AUR-nheko--git-blue.svg)](https://aur.archlinux.org/packages/nheko-git)
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    The motivation behind the project is to provide a native desktop app for [Matrix] that
    feels more like a mainstream chat app ([Riot], Telegram etc) and less like an IRC client.
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    ### Features
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    Most of the features you would expect from a chat application are missing right now
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    but we are getting close to a more feature complete client.
    Specifically there is support for:
    - Joining & leaving rooms
    - Sending & receiving images and emoji.
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    - Typing notifications.
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    There are pre-built nigtly releases [here](https://github.com/mujx/nheko/releases/tag/nightly) for Linux ([AppImage](https://appimage.org/)), Mac and Windows.
    
    
    #### Arch Linux
    ```bash
    
    pacaur -S nheko-git
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    #### Fedora
    ```bash
    sudo dnf copr enable xvitaly/matrix
    sudo dnf install nheko
    ```
    
    
    #### Gentoo Linux
    ```bash
    
    sudo layman -a matrix
    sudo emerge -a nheko
    
    ```
    
    ### Build Requirements
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    
    - Qt5 (5.7 or greater). Qt 5.7 adds support for color font rendering with
      Freetype, which is essential to properly support emoji.
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    - CMake 3.1 or greater.
    
    - [LMDB](https://symas.com/lightning-memory-mapped-database/).
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    - A compiler that supports C++11.
    
        - GCC 4.9.4 (or greater).
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    ##### Arch Linux
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    ```bash
    
    sudo pacman -S qt5-base qt5-tools qt5-multimedia cmake gcc fontconfig lmdb
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    ```
    
    
    sudo emerge -a ">=dev-qt/qtgui-5.7.1" media-libs/fontconfig
    
    ##### Ubuntu (e.g 14.04)
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    ```bash
    
    sudo add-apt-repository ppa:beineri/opt-qt592-trusty
    
    sudo add-apt-repository ppa:george-edison55/cmake-3.x
    sudo apt-get update
    
    sudo apt-get install -y qt59base qt59tools qt59multimedia cmake liblmdb-dev
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    ```
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    
    To build on Ubuntu 14.04 Trusty out-of-the-box requires using Clang 3.6 instead of GCC:
    
    ```bash
    sudo apt-get install clang-3.6
    export CC=clang-3.6 CXX=clang++-3.6
    ```
    
    On Ubuntu 14.04 Trusty, it's possible to use GCC 4.9.4+, but it is not recommended, because it requires installing GCC packages from third-party PPAs.  Later versions of Ubuntu that come with GCC 4.9.4+ should work with GCC out-of-the-box.
    
    
    ##### OSX (Xcode 8 or later)
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    ```bash
    
    brew update
    brew install qt5 lmdb
    
    Matthew Hodgson's avatar
    Matthew Hodgson committed
    N.B. you will need to pass `-DCMAKE_PREFIX_PATH=/usr/local/opt/qt5`
    to cmake to point it at your qt5 install (tweaking the path as needed)
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    ### Building
    
    Clone the repo with its submodules
    
    ```bash
    git clone --recursive https://github.com/mujx/nheko
    ```
    or 
    ```bash
    git clone https://github.com/mujx/nheko
    cd nheko
    
    git submodule update --init --recursive
    
    ```
    
    and then use the following
    
    
    ```bash
    cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release # Default is Debug.
    make -C build
    ```
    
    The `nheko` binary will be located in the `build` directory.
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    #### Nix
    
    
    Download the repo as mentioned above and run
    
    ```bash
    nix-build
    ```
    
    in the project folder. This will output a binary to `result/bin/nheko`.
    
    You can also install nheko by running `nix-env -f . -i`
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    ### Contributing
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    Any kind of contribution to the project is greatly appreciated. You are also
    encouraged to open feature request issues.
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    ### Screens
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    Here is a screen shot to get a feel for the UI, but things will probably change.
    
    
    ![nheko](https://dl.dropboxusercontent.com/s/5iydk5r3b9zyycd/nheko-ui.png)
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    
    
    ### Third party
    
    - [Emoji One](http://emojione.com)
    
    - [Font Awesome](http://fontawesome.io/)
    
    - [Open Sans](https://fonts.google.com/specimen/Open+Sans)
    
    
    Konstantinos Sideris's avatar
    Konstantinos Sideris committed
    [Matrix]:https://matrix.org
    [Riot]:https://riot.im