Konstantinos Sideris
4d3709615a
|
7 years ago | |
---|---|---|
.ci | 7 years ago | |
.github | 7 years ago | |
cmake | 7 years ago | |
deploy/installer | 7 years ago | |
include | 7 years ago | |
resources | 7 years ago | |
scripts | 7 years ago | |
src | 7 years ago | |
.clang-format | 7 years ago | |
.gitignore | 7 years ago | |
.travis.yml | 7 years ago | |
CMakeLists.txt | 7 years ago | |
Dockerfile | 7 years ago | |
Dockerfile.debian | 7 years ago | |
LICENSE | 8 years ago | |
Makefile | 7 years ago | |
README.md | 7 years ago | |
appveyor.yml | 7 years ago | |
default.nix | 7 years ago | |
package.nix | 7 years ago |
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:
- 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
Nightly releases
- Linux AppImage
- Windows x64 installer
- macOS disk image
Repositories
Arch Linux
pacaur -S nheko-git
# or
pacaur -S nheko
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++ 14:
- Clang 5 (tested on Travis CI)
- GCC 7 (tested on Travis CI)
- MSVC 19.13 (tested on AppVeyor)
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 qt5-svg 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 add-apt-repository ppa:ubuntu-toolchain-r-test
sudo apt-get update
sudo apt-get install -y g++-7 qt59base qt59svg qt59tools qt59multimedia cmake liblmdb-dev
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
See CONTRIBUTING
Screens
Here is a screen shot to get a feel for the UI, but things will probably change.