This project is in early development and is not yet suitable for regular use.
Development builds: Windows 64-bit
- 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.
- CMake >= 3.1
- A C++14 compiler and stdlib providing
std::experimental::optional
(OSX users need Xcode >= 8)
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.
- 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
cmake -H. -Bbuild
make -C build
A nix environment is provided. Execute nix-shell .
before cmake
.
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
.
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>
.