nachat icon indicating copy to clipboard operation
nachat copied to clipboard

Portable desktop chat client for Matrix

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

Development builds: [[https://ci.appveyor.com/api/projects/Ralith/nachat/artifacts/nachat.zip?branch=master&job=Configuration%3A+Release][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: #+BEGIN_SRC sh git clone --recursive https://github.com/Ralith/nachat.git cd nachat #+END_SRC or #+BEGIN_SRC sh git clone https://github.com/Ralith/nachat.git cd nachat git submodule update --init #+END_SRC
    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>~.