9d763c4de9
If the user switched to another timeline before the current timeline filled up with messages, nheko would keep fetching history. Now it will check periodically if the timeline became visible so it can decide whether or not to stop fetching history. |
||
---|---|---|
.ci | ||
.github | ||
cmake | ||
deploy/installer | ||
dist | ||
include | ||
libs | ||
resources | ||
scripts | ||
src | ||
.clang-format | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
appveyor.yml | ||
CMakeLists.txt | ||
default.nix | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
package.nix | ||
README.md |
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:
- 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.