Portable desktop chat client for Matrix
C++ CMake Other
Switch branches/tags
Nothing to show
Pull request Compare This branch is 18 commits behind master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cmake
deps
src
.appveyor.yml
.gitmodules
.travis.yml
CMakeLists.txt
LICENSE
NOTICE
README.org
TODO.org
default.nix
package.nix
trusty.sh

README.org

This project is in early development and is not yet suitable for regular use.

Development builds: Windows 64-bit

Dependencies

  • LMDB
  • Qt >= 5.6

Qt 5.6 provides extended text layout support nachat relies on to implement clickable URLs in the custom timeline widget, and provides superior support for high-DPI displays. Supporting earlier versions is unfortunately not trivial.

Build Requirements

  • CMake >= 3.1
  • A C++14 compiler and stdlib providing std::experimental::optional (OSX users need Xcode >= 8)

Building

The binary will be output at build/src/nachat and can be executed in-place. Building on Windows and OSX should be possible but is not yet documented.

Linux

  1. Clone this repository and its submodules:
    git clone --recursive https://github.com/Ralith/nachat.git
    cd nachat
        

    or

    git clone https://github.com/Ralith/nachat.git
    cd nachat
    git submodule update --init
        
  2. cmake -H. -Bbuild
  3. make -C build

Nix

A nix environment is provided. Execute nix-shell . before cmake.

Installation

Using Nix

nix-env -f . -i will add nachat to your path. Development takes place on the nixos-unstable channel, so building on nixos-16.03 may require some tweaking of default.nix.

Run-time data

Linux

Most recent username, homeserver, and access token are stored in Qt INI format at $XDG_CONFIG_HOME/nachat/nachat.conf. Per-account data, including room state, is cached at $XDG_CACHE_HOME/nachat/nachat/<hexadecimal form of utf8 encoding of MXID>.