2017-04-06 04:03:46 +03:00
nheko
----
2017-10-01 19:24:35 +03:00
[![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)
2017-12-27 02:07:55 +03:00
[![Latest Release ](https://img.shields.io/github/release/mujx/nheko.svg )](https://github.com/mujx/nheko/releases)
2017-10-01 19:24:35 +03:00
[![Chat on Matrix ](https://img.shields.io/badge/chat-on%20matrix-blue.svg )](https://matrix.to/#/#nheko:matrix.org)
2018-03-12 23:23:26 +03:00
[![AUR: nheko ](https://img.shields.io/badge/AUR-nheko-blue.svg )](https://aur.archlinux.org/packages/nheko)
2017-04-06 04:03:46 +03:00
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.
2018-04-22 15:37:23 +03:00
## Features
2017-04-06 04:03:46 +03:00
2017-10-01 19:24:35 +03:00
Most of the features you would expect from a chat application are missing right now
2017-10-11 17:46:23 +03:00
but we are getting close to a more feature complete client.
Specifically there is support for:
2018-03-12 23:23:26 +03:00
- User registration.
2017-12-21 16:10:04 +03:00
- Creating, joining & leaving rooms.
- Sending & receiving invites.
- Sending & receiving files and emoji (inline widgets for images, audio and file messages).
2017-11-06 01:51:59 +03:00
- Typing notifications.
2018-03-25 21:50:45 +03:00
- Username auto-completion.
2018-03-04 11:55:07 +03:00
- Message & mention notifications.
2018-03-17 22:32:50 +03:00
- Redacting messages.
2018-03-04 11:55:07 +03:00
- Read receipts.
- Basic communities support.
- Room switcher (ctrl-K).
2017-12-21 16:10:04 +03:00
- Light, Dark & System themes.
2017-04-06 04:03:46 +03:00
2018-04-22 15:37:23 +03:00
## Installation
2017-05-09 22:42:32 +03:00
2018-04-22 15:37:23 +03:00
### Nightly releases
- Linux [AppImage ](https://github.com/mujx/nheko/releases/download/nightly/nheko-x86_64.AppImage )
- Windows [x64 installer ](https://github.com/mujx/nheko/releases/download/nightly/nheko-installer.exe )
- macOS [disk image ](https://github.com/mujx/nheko/releases/download/nightly/nheko.dmg )
### Repositories
2017-11-06 01:51:59 +03:00
2017-05-09 22:42:32 +03:00
#### Arch Linux
```bash
2017-07-29 12:23:27 +03:00
pacaur -S nheko-git
2018-04-13 14:51:48 +03:00
# or
pacaur -S nheko
2017-07-09 13:46:50 +03:00
```
2017-10-11 17:46:23 +03:00
#### Fedora
```bash
sudo dnf install nheko
```
2017-07-09 13:46:50 +03:00
#### Gentoo Linux
```bash
2017-07-29 12:23:27 +03:00
sudo layman -a matrix
sudo emerge -a nheko
2017-05-09 22:42:32 +03:00
```
2018-01-02 23:50:19 +03:00
#### Alpine Linux (and postmarketOS)
Make sure you have the testing repositories from `edge` enabled. Note that this is not needed on postmarketOS.
```sh
sudo apk add nheko
```
2017-05-09 22:42:32 +03:00
### Build Requirements
2017-04-06 04:03:46 +03:00
2017-04-27 01:31:51 +03:00
- Qt5 (5.7 or greater). Qt 5.7 adds support for color font rendering with
Freetype, which is essential to properly support emoji.
2017-04-10 02:28:06 +03:00
- CMake 3.1 or greater.
2017-07-29 12:23:27 +03:00
- [LMDB ](https://symas.com/lightning-memory-mapped-database/ ).
2018-04-22 15:37:23 +03:00
- A compiler that supports C++ 14:
- Clang 5 (tested on Travis CI)
- GCC 7 (tested on Travis CI)
- MSVC 19.13 (tested on AppVeyor)
2017-04-06 04:03:46 +03:00
2017-12-21 16:10:04 +03:00
#### Linux
If you don't want to install any external dependencies, you can generate an AppImage locally using docker.
```bash
make docker-app-image
```
2018-02-01 22:08:51 +03:00
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 ](https://github.com/AppImage/AppImageKit/wiki/Desktop-Linux-Platform-Issues#openssl ).
2017-04-09 03:54:39 +03:00
##### Arch Linux
2017-04-06 04:03:46 +03:00
```bash
2018-04-28 21:34:40 +03:00
sudo pacman -S qt5-base qt5-tools qt5-multimedia qt5-svg cmake gcc fontconfig lmdb
2017-04-06 04:03:46 +03:00
```
2017-07-09 13:46:50 +03:00
##### Gentoo Linux
```bash
2017-07-29 12:23:27 +03:00
sudo emerge -a ">=dev-qt/qtgui-5.7.1" media-libs/fontconfig
2017-07-09 13:46:50 +03:00
```
2017-07-29 12:23:27 +03:00
##### Ubuntu (e.g 14.04)
2017-04-10 02:28:06 +03:00
```bash
2017-12-06 10:04:52 +03:00
sudo add-apt-repository ppa:beineri/opt-qt592-trusty
2017-07-29 12:23:27 +03:00
sudo add-apt-repository ppa:george-edison55/cmake-3.x
2018-04-22 15:37:23 +03:00
sudo add-apt-repository ppa:ubuntu-toolchain-r-test
2017-07-29 12:23:27 +03:00
sudo apt-get update
2018-04-28 21:34:40 +03:00
sudo apt-get install -y g++-7 qt59base qt59svg qt59tools qt59multimedia cmake liblmdb-dev
2017-12-06 19:29:09 +03:00
```
2018-02-05 15:12:07 +03:00
##### macOS (Xcode 8 or later)
2017-04-10 02:28:06 +03:00
```bash
2017-07-29 12:23:27 +03:00
brew update
2018-02-05 15:12:07 +03:00
brew install qt5 lmdb cmake llvm
2017-04-10 02:28:06 +03:00
```
### Building
2017-04-06 19:56:33 +03:00
2018-02-10 14:46:26 +03:00
Clone the repo and run
2017-07-29 12:23:27 +03:00
2017-04-06 19:56:33 +03:00
```bash
2017-12-21 16:10:04 +03:00
make release
2017-04-06 19:56:33 +03:00
```
2018-02-05 15:12:07 +03:00
which invokes cmake and translates to
```bash
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build
```
2018-02-10 14:46:26 +03:00
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
```
2018-02-05 15:12:07 +03:00
2017-04-06 19:56:33 +03:00
The `nheko` binary will be located in the `build` directory.
2017-04-06 04:03:46 +03:00
2017-11-06 01:51:59 +03:00
#### Nix
2017-08-05 18:40:00 +03:00
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`
2017-04-09 03:54:39 +03:00
### Contributing
2017-04-06 04:03:46 +03:00
Any kind of contribution to the project is greatly appreciated. You are also
encouraged to open feature request issues.
2017-04-09 03:54:39 +03:00
### Screens
2017-04-06 04:03:46 +03:00
Here is a screen shot to get a feel for the UI, but things will probably change.
2018-04-13 14:51:48 +03:00
![nheko ](https://dl.dropboxusercontent.com/s/zrl26u3pmqloyjz/nheko-v0.3.1.png )
2017-04-06 04:03:46 +03:00
2017-04-19 19:38:39 +03:00
### Third party
- [Emoji One ](http://emojione.com )
2017-10-15 22:08:51 +03:00
- [Font Awesome ](http://fontawesome.io/ )
2017-04-19 19:38:39 +03:00
- [Open Sans ](https://fonts.google.com/specimen/Open+Sans )
2017-04-06 04:03:46 +03:00
[Matrix]:https://matrix.org
[Riot]:https://riot.im