An open API service indexing awesome lists of open source software.

https://github.com/ralith/nachat

Portable desktop chat client for Matrix
https://github.com/ralith/nachat

Last synced: 10 months ago
JSON representation

Portable desktop chat client for Matrix

Awesome Lists containing this project

README

          

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/~.