Cheeky fork of Fractal
Find a file
2018-05-19 07:58:24 +00:00
.gitlab/issue_templates Add Gitlab issue templates 2017-11-11 13:22:00 +01:00
flatpak passwd: Initial file password storage 2018-05-15 23:22:57 +02:00
fractal-api api: Wait when sync error to avoid 100% usage 2018-05-17 10:25:26 +02:00
fractal-gtk Display number of room members 2018-05-18 22:03:14 +00:00
screenshots Update screenshot with latest version 2018-03-24 14:41:49 +01:00
scripts i18n: bindtextdomain not hardcoded 2018-05-18 12:28:41 +02:00
.editorconfig Add .editorconfig 2017-07-12 05:10:43 +10:00
.gitignore Versioning Cargo.lock 2018-03-22 10:38:36 +01:00
.gitlab-ci.yml CI: Publish docs with gitlab pages. 2018-05-19 07:58:24 +00:00
Cargo.lock Cargo: Add gettext-rs as a dependency 2018-05-18 12:28:41 +02:00
Cargo.toml Use custom fork of secret-service that removes AVX2 ASM instructions 2018-03-19 08:09:42 +01:00
fractal.doap Renaming the project to Fractal 2017-11-01 11:30:58 +01:00
LICENSE.txt Added GPLv3 Licence 2017-08-21 19:06:07 +02:00
logo.png Add project logo 2018-02-12 10:04:41 +01:00
meson.build i18n: bindtextdomain not hardcoded 2018-05-18 12:28:41 +02:00
README.md i18n: bindtextdomain not hardcoded 2018-05-18 12:28:41 +02:00
TODO Implemented initial search in room 2017-10-21 10:56:48 +02:00

Fractal

Fractal is a Matrix messaging app for GNOME written in Rust. Its interface is optimized for collaboration in large groups, such as free software projects.

screenshot

Installation instructions

You can find Fractal installation instructions through packages on the GNOME wiki.

Build Instructions

You need Meson and Ninja (as well as Rust and Cargo) to build Fractal.

GNU/Linux

meson . _build --prefix=/usr/local
ninja -C _build
sudo ninja -C _build install

macOS

brew install gtk+3 dbus bash adwaita-icon-theme
# empirically needs 3.22.19 or later of gtk3+
# ...and run configure as:
/usr/local/bin/bash -c "meson . _build --prefix=/usr/local"
ninja -C _build
sudo ninja -C _build install

Translations

If you want to add a new language you should update the file fractal-gtk/po/LINUGAS and add the new lang to the list.

To generate .pot files you should run:

ninja -C _build fractal-pot

To generate .po files you should run:

ninja -C _build fractal-update-po

Password Storage

Fractal uses Secret Service to store the password so you should have running some daemon that give that service. If you're using GNOME or KDE this should work for you out of the box with gnome-keyring or ksecretservice.

There's a way to avoid the need of secret service and store the password in a unsecure way, in a plain json file. We don't recommend to use this form, but if you want, it's possible to configure using gsettings:

$ gsettings set org.gnome.Fractal password-storage 'Plain text'

Or if you're using flatpak

$ flatpak run --command="bash" org.gnome.Fractal
$ gsettings set org.gnome.Fractal password-storage 'Plain text'
$ exit

To go back to use Secret service:

$ gsettings set org.gnome.Fractal password-storage 'Secret Service'

Supported m.room.message (msgtypes)

msgtypes Recv Send
m.text Done Done
m.emote Done Done
m.notice
m.image Done Done
m.file Done Done
m.location
m.video Done Done
m.audio Done Done

Full reference in: https://matrix.org/docs/spec/client\_server/r0.2.0.html#m-room-message-msgtypes

The origin of Fractal

This project is based on Fest https://github.com/fest-im/fest, formerly called ruma-gtk.

Instead of using RUMA Client, Fractal calls directly to the matrix.org REST API.

The first version of this project was called guillotine, based on French revolution, in relation with the Riot client name, but it's a negative name so we decide to change for a math one.

The name Fractal was proposed by Regina Bíró.