2018-05-06 21:08:46 +00:00
# Fractal
2017-08-17 16:15:46 +00:00
2018-04-14 11:11:48 +00:00
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.
2017-08-31 09:31:03 +00:00
2018-05-06 21:08:46 +00:00
* Come to talk to us on Matrix: < https: // matrix . to /#/# fractal-gtk:matrix . org >
* Main repository: < https: // gitlab . gnome . org / World / fractal />
2017-08-24 12:03:36 +00:00
2018-03-27 11:48:18 +00:00
![screenshot ](https://gitlab.gnome.org/World/fractal/raw/master/screenshots/fractal.png )
2017-08-26 17:51:25 +00:00
2018-05-03 19:01:35 +00:00
## Installation instructions
2018-05-03 20:24:44 +00:00
You can find Fractal installation instructions through packages on the [GNOME wiki ](https://wiki.gnome.org/Apps/Fractal ).
2018-05-03 19:01:35 +00:00
2018-04-14 11:11:48 +00:00
## Build Instructions
You need Meson and Ninja (as well as Rust and Cargo) to build Fractal.
2017-11-08 11:44:55 +00:00
2018-04-14 11:11:48 +00:00
### GNU/Linux
2017-11-08 11:44:55 +00:00
2018-05-06 21:08:46 +00:00
```sh
2018-04-16 17:34:36 +00:00
meson . _build --prefix=/usr/local
ninja -C _build
2018-04-27 14:34:10 +00:00
sudo ninja -C _build install
2017-11-08 11:44:55 +00:00
```
2018-04-14 11:11:48 +00:00
### macOS
2018-05-06 21:08:46 +00:00
```sh
2018-05-14 13:39:40 +00:00
brew install gtk+3 dbus bash adwaita-icon-theme
2018-03-18 22:43:32 +00:00
# empirically needs 3.22.19 or later of gtk3+
# ...and run configure as:
2018-04-27 17:23:56 +00:00
/usr/local/bin/bash -c "meson . _build --prefix=/usr/local"
2018-05-14 13:39:40 +00:00
ninja -C _build
sudo ninja -C _build install
2018-03-18 22:43:32 +00:00
```
2018-05-06 21:08:46 +00:00
2018-05-15 21:48:35 +00:00
### 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'
```
2017-08-26 17:51:25 +00:00
## Supported m.room.message (msgtypes)
msgtypes | Recv | Send
-------- | ----- | ------
m.text | Done | Done
2018-04-08 21:34:23 +00:00
m.emote | Done | Done
2017-08-26 17:51:25 +00:00
m.notice | |
2017-10-01 11:21:21 +00:00
m.image | Done | Done
2017-10-04 19:19:40 +00:00
m.file | Done | Done
2017-08-26 17:51:25 +00:00
m.location | |
2017-10-04 19:19:40 +00:00
m.video | Done | Done
m.audio | Done | Done
2017-08-26 17:51:25 +00:00
2018-05-06 21:08:46 +00:00
Full reference in: < https: // matrix . org / docs / spec / client \_server / r0 . 2 . 0 . html # m-room-message-msgtypes >
2017-11-01 11:11:40 +00:00
2018-05-06 21:08:46 +00:00
## The origin of Fractal
2017-11-01 11:11:40 +00:00
2018-05-06 21:08:46 +00:00
This project is based on Fest < https: / / github . com / fest-im / fest > , formerly called ruma-gtk.
2017-11-01 11:11:40 +00:00
Instead of using RUMA Client, Fractal calls directly to the matrix.org
REST API.
2018-05-03 20:24:44 +00:00
The first version of this project was called guillotine, based on French revolution,
2017-11-01 11:11:40 +00:00
in relation with the Riot client name, but it's a negative name so we decide
2017-11-08 11:44:55 +00:00
to change for a math one.
2018-02-11 18:07:15 +00:00
2018-05-15 21:48:35 +00:00
The name Fractal was proposed by Regina Bíró.