Desktop client for Matrix using Qt and C++20.
Find a file
2017-12-25 23:02:33 +02:00
.ci Migrate to matrix-structs for event and response parsing 2017-12-04 18:41:19 +02:00
.github Update issue template 2017-11-02 22:02:31 +02:00
cmake Windows icon fix and change the installer to QT Installer Framework on Windows (#85) 2017-11-06 17:17:21 +02:00
deploy/installer Windows icon fix and change the installer to QT Installer Framework on Windows (#85) 2017-11-06 17:17:21 +02:00
dist Update ci 2017-11-06 17:20:48 +02:00
include Add date separator in the timeline 2017-12-25 23:02:33 +02:00
libs Handle incoming invites 2017-12-19 22:36:12 +02:00
resources Bold room names 2017-12-21 13:41:05 +02:00
scripts Remove custom badge counter from mac and windows (#42) 2017-07-09 12:49:17 +03:00
src Add date separator in the timeline 2017-12-25 23:02:33 +02:00
.clang-format Use C++11 braced list style (#121) 2017-11-05 23:04:55 +02:00
.gitignore Add desktop icons on the AppImage 2017-11-26 21:32:18 +02:00
.gitmodules Initial integration with matrix-structs 2017-12-03 02:47:37 +02:00
.travis.yml Fix deploy conditionals 2017-12-23 14:11:51 +02:00
appveyor.yml Upgrade appveyor to Qt 5.9.2 2017-12-14 14:36:07 +02:00
CMakeLists.txt Remove submodules from matrix-structs 2017-12-16 18:37:08 +02:00
default.nix Add basic nix expressions (#47) 2017-08-05 18:40:00 +03:00
Dockerfile Create appimage with docker 2017-12-14 01:23:17 +02:00
LICENSE Initial commit 2017-04-06 02:06:42 +03:00
Makefile Use ninja on travis 2017-12-22 16:33:29 +02:00
package.nix Update package.nix to include QT Multimedia (#165) 2017-12-16 18:05:14 +02:00
README.md Update README 2017-12-21 15:10:04 +02:00

nheko

Build Status Build status Chat on Matrix License: GPL v3 AUR: nheko-git

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.

Features

Most of the features you would expect from a chat application are missing right now but we are getting close to a more feature complete client. Specifically there is support for:

  • Creating, joining & leaving rooms.
  • Sending & receiving invites.
  • Sending & receiving files and emoji (inline widgets for images, audio and file messages).
  • Typing notifications.
  • Light, Dark & System themes.

Installation

There are continuous nightly releases here for Linux (AppImage), Mac and Windows.

Arch Linux

pacaur -S nheko-git

Fedora

sudo dnf copr enable xvitaly/matrix
sudo dnf install nheko

Gentoo Linux

sudo layman -a matrix
sudo emerge -a nheko

Build Requirements

  • Qt5 (5.7 or greater). Qt 5.7 adds support for color font rendering with Freetype, which is essential to properly support emoji.
  • CMake 3.1 or greater.
  • LMDB.
  • A compiler that supports C++11.
    • Clang 3.6 (or greater).
    • GCC 4.9.4 (or greater).

Linux

If you don't want to install any external dependencies, you can generate an AppImage locally using docker.

make docker-app-image
Arch Linux
sudo pacman -S qt5-base qt5-tools qt5-multimedia cmake gcc fontconfig lmdb
Gentoo Linux
sudo emerge -a ">=dev-qt/qtgui-5.7.1" media-libs/fontconfig
Ubuntu (e.g 14.04)
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

To build on Ubuntu 14.04 Trusty out-of-the-box requires using Clang 3.6 instead of GCC:

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)
brew update
brew install qt5 lmdb

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)

Building

Clone the repo with its submodules

git clone --recursive https://github.com/mujx/nheko

or

git clone https://github.com/mujx/nheko
cd nheko
git submodule update --init --recursive

and then run

make release

The nheko binary will be located in the build directory.

Nix

Download the repo as mentioned above and run

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

Contributing

Any kind of contribution to the project is greatly appreciated. You are also encouraged to open feature request issues.

Screens

Here is a screen shot to get a feel for the UI, but things will probably change.

nheko

Third party