You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Konstantinos Sideris f02d3ee606 Replace std::thread with QtConcurrent 7 years ago
.ci Add Dockerfile to create an AppImage for Debian (#156) 7 years ago
.github Update issue template 7 years ago
cmake Be compatible with cmake 3.1 7 years ago
deploy/installer Windows icon fix and change the installer to QT Installer Framework on Windows (#85) 7 years ago
dist Update ci 7 years ago
include Show avatars in the completion popup 7 years ago
resources Add basic support for username auto-completion 7 years ago
scripts Add missing -j flag to the archive script 7 years ago
src Replace std::thread with QtConcurrent 7 years ago
.clang-format Use C++11 braced list style (#121) 7 years ago
.gitignore Remove git submodules in favor of cmake's ExternalProject 7 years ago
.travis.yml Upgrade gcc version 7 years ago
CMakeLists.txt Link with pthread on Linux 7 years ago
Dockerfile Add deb and rpm packages on releases 7 years ago
Dockerfile.debian Add Dockerfile to create an AppImage for Debian (#156) 7 years ago
LICENSE Initial commit 8 years ago
Makefile Add Dockerfile to create an AppImage for Debian (#156) 7 years ago
README.md Replace std::thread with QtConcurrent 7 years ago
appveyor.yml Fix CI builds 7 years ago
default.nix Fix & cleanup nix files (#240) 7 years ago
package.nix Bump version 7 years ago

README.md

nheko

Build Status Build status Latest Release Chat on Matrix AUR: nheko-git AUR: nheko

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:

  • User registration.
  • Creating, joining & leaving rooms.
  • Sending & receiving invites.
  • Sending & receiving files and emoji (inline widgets for images, audio and file messages).
  • Typing notifications.
  • Username auto-completion.
  • Message & mention notifications.
  • Redacting messages.
  • Read receipts.
  • Basic communities support.
  • Room switcher (ctrl-K).
  • Light, Dark & System themes.

Installation

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

Arch Linux

pacaur -S nheko-git

Fedora

sudo dnf install nheko

Gentoo Linux

sudo layman -a matrix
sudo emerge -a nheko

Alpine Linux (and postmarketOS)

Make sure you have the testing repositories from edge enabled. Note that this is not needed on postmarketOS.

sudo apk add 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.8 (or greater).
    • GCC 7 (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

If you're on Debian you should use make docker-debian-appimage instead, which uses Debian as the build host in an attempt to work around this issue.

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.

macOS (Xcode 8 or later)
brew update
brew install qt5 lmdb cmake llvm

Building

Clone the repo and run

make release

which invokes cmake and translates to

cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build

If the build fails with the following error

Could not find a package configuration file provided by "Qt5Widgets" with
any of the following names:

Qt5WidgetsConfig.cmake
qt5widgets-config.cmake

You might need to pass -DCMAKE_PREFIX_PATH to cmake to point it at your qt5 install.

e.g on macOS

cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=$(brew --prefix qt5)
cmake --build build

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