Go to file
miruka 11dbd1e457 Force model sync when receiving remote echo
Forcing model sync on local and remote echo make our own messages
appearing and the loading icon disappearing both feel faster.
2019-08-31 16:18:27 -04:00
src Force model sync when receiving remote echo 2019-08-31 16:18:27 -04:00
submodules Big performance refactoring & various improvements 2019-08-11 08:27:53 -04:00
.gitignore Big performance refactoring & various improvements 2019-08-11 08:27:53 -04:00
.gitmodules Big performance refactoring & various improvements 2019-08-11 08:27:53 -04:00
.pylintrc Build system, messages support and more 2019-07-02 13:59:52 -04:00
COPYING Initial commit 2019-03-21 23:28:14 -04:00
COPYING.LESSER Start rewriting backend with pyotherside+asyncio 2019-06-27 02:31:03 -04:00
harmonyqml.pro Add qpl files to rcc resources 2019-08-30 20:59:08 -04:00
live-reload.sh Fix qrc resources not working 2019-08-25 15:39:00 -04:00
README.md Make uvloop dependency optional 2019-08-30 20:24:13 -04:00
TESTS.md Fix file names to respect conventions 2019-07-17 13:40:28 -04:00
TODO.md Reduce icons brightness 2019-08-30 20:30:39 -04:00

harmonyqml

Dependencies setup

From your distribution's package manager, install:

Qt 5.12+, including:

  • qt5-declarative-devel

  • qt5-quickcontrols

  • qt5-quickcontrols2-devel

  • qt5-svg-devel

  • qt5-graphicaleffects

  • qt5-qmake

  • qt5-devel

  • python3

  • python3-devel

  • olm-python3 >= 3.1

Make sure that the right version of Qt is selected and compiler flags are
correctly set:

export QT_SELECT=5
export CFLAGS="-march=native -O2 -pipe"
export CXXFLAGS="$CFLAGS"
export MAKEFLAGS="$(nproc)"

Install pyotherside:

git clone https://github.com/thp/pyotherside
cd pyotherside
qmake && make && sudo make install

After this, verify the permissions of the installed plugin files.
To ensure that they're correctly set:

sudo chmod -R 755 /usr/lib/qt5/qml/io
sudo chmod 644 /usr/lib/qt5/qml/io/thp/pyotherside/*
sudo chmod 755 /usr/lib/qt5/qml/io/thp/pyotherside/*.so

Install the Python 3 dependencies from Pypi:

pip3 install --user --upgrade \
    Pillow aiofiles appdirs dataclasses filetype hsluv html_sanitizer \
    lxml mistune

Optional dependency for performance improvements:

pip3 install --user --upgrade uvloop

Install the Python 3 dependencies from Github:

matrix-nio:

git clone https://github.com/mirukan/matrix-nio
cd matrix-nio
pip3 install --user --upgrade -e '.[e2e]'

Building

git clone <TODO>
cd harmonyqml
qmake harmonyqml.pro && make && sudo make install

After this if no errors happened, run harmonyqml.

If you get a version mismatch error related to cffi, try:

pip3 install --user --upgrade --force-reinstall cffi