Merge branch 'main' into dev

This commit is contained in:
Maze 2022-01-15 01:04:10 +01:00
commit 08c6509b17
7 changed files with 49 additions and 117 deletions

View File

@ -1,8 +1,9 @@
# Mirage
[![Latest release](https://img.shields.io/github/v/release/mirukana/mirage)](https://github.com/mirukana/mirage/releases)
# Moment
https://img.shields.io/gitlab/v/release/mx-moment/moment
[![Latest release](https://img.shields.io/gitlab/v/release/mx-moment/moment)](https://gitlab.com/mx-moment/moment/-/releases)
[![Built with matrix-nio](https://img.shields.io/badge/built%20with-matrix--nio-brightgreen)](https://github.com/poljar/matrix-nio)
[![#mirage-client:matrix.org](https://img.shields.io/matrix/mirage-client:matrix.org?color=blueviolet)](https://matrix.to/#/#mirage-client:matrix.org)
[![#moment-client:matrix.org](https://img.shields.io/matrix/moment-client:matrix.org?color=blueviolet)](https://matrix.to/#/#moment-client:matrix.org)
[![mx-moment.xyz](https://img.shields.io/website?url=https%3A%2F%2Fmx-moment.xyz)](https://mx-moment.xyz)
[Features](#currently-implemented-features) ⬥
[Installation](docs/INSTALL.md) ⬥
@ -16,6 +17,9 @@ A fancy, customizable, keyboard-operable [Matrix](https://matrix.org/) chat
client for encrypted and decentralized communication.
Written in Qt/QML and Python, **currently in alpha**.
Moment is based on [Mirage](https://github.com/mirukana/mirage),
see differences [here](docs/MIRAGEDIFF.md).
![Chat screenshot](docs/screenshots/01-chat.png?raw=true)
## Currently Implemented Features
@ -88,6 +92,7 @@ Written in Qt/QML and Python, **currently in alpha**.
- [Configuration](docs/CONFIG.md)
- [Theming](docs/THEMING.md)
- [Contributing](docs/CONTRIBUTING.md)
- [Website](https://mx-moment.xyz)
## Screenshots

View File

@ -9,11 +9,11 @@
On Linux:
- `$XDG_CONFIG_HOME/mirage` if the `XDG_CONFIG_HOME` environment variable is
set, else `~/.config/mirage` for config files
- `$XDG_DATA_HOME/mirage` if that variable is set, else `~/.local/share/mirage`
- `$XDG_CONFIG_HOME/moment` if the `XDG_CONFIG_HOME` environment variable is
set, else `~/.config/moment` for config files
- `$XDG_DATA_HOME/moment` if that variable is set, else `~/.local/share/moment`
for user data
- `$XDG_CACHE_HOME/mirage` if that variable is set, else `~/.cache/mirage`
- `$XDG_CACHE_HOME/moment` if that variable is set, else `~/.cache/moment`
for cache data
For Flatpak installations:
@ -22,8 +22,9 @@ For Flatpak installations:
- `~/.var/app/io.github.mirukana.mirage/data/mirage` for user data
- `~/.var/app/io.github.mirukana.mirage/cache/mirage` for cache data
These locations can be overriden with environment variables, see
`mirage --help`.
`moment --help`.
The user data folder contains saved encryption data, interface states and
[themes](THEMING.md), while the cache contains downloaded files and thumbnails.
@ -38,8 +39,8 @@ The default `settings.py`, used when no user-written file exists, documents all
the possible options and can be found at:
- [`src/config/settings.py`][1] in this repository
- `/usr/local/share/examples/mirage/settings.py` or
`/usr/share/examples/mirage/settings.py` on Linux installations
- `/usr/local/share/examples/moment/settings.py` or
`/usr/share/examples/moment/settings.py` on Linux installations
- `~/.local/share/flatpak/app/io.github.mirukana.mirage/current/active/files/share/examples/mirage/settings.py` for per-user Flatpak installations
- `/var/lib/flatpak/app/io.github.mirukana.mirage/current/active/files/share/examples/mirage/settings.py` for system-wide Flatpak installations
@ -75,10 +76,10 @@ You can also manually trigger a reload by updating the file's last change
timestamp, e.g. with the `touch` command:
```sh
touch ~/.config/mirage/settings.py
touch ~/.config/moment/settings.py
```
[1]: https://github.com/mirukana/mirage/tree/master/src/config/settings.py
[1]: https://gitlab.com/mx-moment/moment/-/blob/main/src/config/settings.py
## accounts.json

View File

@ -14,15 +14,16 @@
## Issues
[Issues](https://github.com/mirukana/mirage/issues) on GitHub should be used to
[Issues](https://gitlab.com/mx-moment/moment/-/issues) on GitLab should be used to
ask questions, report problems, request new features,
or discuss potential changes before creating pull requests.
or discuss potential changes before creating pull requests.
We also pay attention to [Mirage issues on GitHub](https://github.com/mirukana/mirage/issues).
Before opening new issues, please search for any already open or closed
issue related to your problem, in order to prevent duplicates.
You can also join us on the
[#mirage-client:matrix.org](https://matrix.to/#/%23mirage-client:matrix.org)
You can also join us in the
[#moment-client:matrix.org](https://matrix.to/#/%23moment-client:matrix.org)
room for questions and discussions.
@ -30,12 +31,12 @@ room for questions and discussions.
For changes outside of simple bug/typo/formatting fixes, it is strongly
recommended to first discuss your ideas in a related issue or in
[#mirage-client:matrix.org](https://matrix.to/#/%23mirage-client:matrix.org).
[#moment-client:matrix.org](https://matrix.to/#/%23moment-client:matrix.org).
New changes are merged to the
[`dev` branch](https://github.com/mirukana/mirage/tree/dev) first.
[`dev` branch](https://gitlab.com/mx-moment/moment/-/tree/dev) first.
Once a new version of the application is released,
the current `dev` is merged into the main `master` branch.
the current `dev` is merged into the main `main` branch.
By sending your changes, you agree to license them under the LGPL 3.0 or later.
@ -46,9 +47,9 @@ clone your fork and switch to a new branch based on `dev`, in which
you will make your changes:
```sh
git clone --recursive https://github.com/yourUsername/mirage
cd mirage
git remote add upstream https://github.com/mirukana/mirage
git clone --recursive https://gitlab.com/yourUsername/moment
cd moment
git remote add upstream https://gitlab.com/mx-moment/moment
git fetch upstream
git checkout upstream/dev
git branch example-branch-name
@ -58,7 +59,7 @@ git checkout example-branch-name
Test and commit your changes according to the
[commit guidelines](#commit-guidelines), and `git push` to your fork's repo.
You will then be able to make a pull request by going
to the [main repo](https://github.com/mirukana/mirage).
to the [main repo](https://gitlab.com/mx-moment/moment).
Once your pull request is merged, you can update `dev`, and delete your
GitHub and local branch:
@ -282,9 +283,6 @@ adding instructions to the [INSTALL.md](INSTALL.md) are welcome.
Some suggestions when creating packages:
- As the `mirage` name is sometimes already taken by other software,
prefer naming your package `mirage-im`
- Among the dependencies from the `submodules` directory, `hsluv-c` is the
only one that is still needed for building.
The other folders are kept to allow building past versions of the

View File

@ -25,7 +25,7 @@ but compiling on Windows and macOS should be possible with the right tools.
- [Void Linux / xbps](#void-linux--xbps)
- [Installing PyOtherSide manually](#installing-pyotherside-manually)
- [Installing libolm manually](#installing-libolm-manually)
- [Installing or updating Mirage](#installing-or-updating-mirage)
- [Installing or updating Moment](#installing-or-updating-moment)
- [Common issues](#common-issues)
- [cffi version mismatch](#cffi-version-mismatch)
- [Type XYZ unavailable](#type-xyz-unavailable)
@ -40,7 +40,7 @@ see [manual installation](#manual-installation).
Packages other than the AppImage and Flatpak are not maintained by the Mirage
authors, and thus might be outdated.
#### AppImage
#### AppImage (Leftover instructions from Mirage; not supported for Moment)
For **x86 64bit glibc-based systems**, Mirage is available as an AppImage
on the [release page](https://github.com/mirukana/mirage/releases).
@ -53,7 +53,7 @@ released in April 2016 or later.
[How to start AppImages](https://docs.appimage.org/introduction/quickstart.html#how-to-run-an-appimage)
(TL;DR: `chmod +x Mirage-*.AppImage && ./Mirage-*.AppImage`)
#### Flatpak
#### Flatpak (Leftover instructions from Mirage; not supported for Moment)
Mirage is also available as a Flatpak.
@ -85,78 +85,6 @@ If your architecture is not listed on the release page, clone the repository
and see [packaging/flatpak/README.md](packaging/flatpak/README.md) to build the
package on your machine.
#### Alpine Linux / postmarketOS
If you are on the Edge channel of Alpine Linux or postmarketOS, Mirage can be
installed right from the testing repositry:
```sh
apk add mirage
```
If you are unsure about what Edge is and want to read more about it, you can do
so on the [Alpine Wiki](https://wiki.alpinelinux.org/wiki/Edge).
#### Arch Linux
AUR packages for the
[latest stable release](https://aur.archlinux.org/packages/matrix-mirage/) and
[git `dev` branch](https://aur.archlinux.org/packages/matrix-mirage-git/) are
available.
Installing the release version with a AUR helper, e.g.
[yay](https://github.com/Jguer/yay):
```sh
yay -S matrix-mirage
```
#### Debian
Requires [Debian Testing](https://wiki.debian.org/DebianTesting).
To install the package:
```sh
apt update
apt install matrix-mirage
```
#### Gentoo
Available in the [src_prepare overlay](https://gitlab.com/src_prepare/src_prepare-overlay)
- [releases](https://gitlab.com/src_prepare/src_prepare-overlay/-/tree/master/net-im/mirage)
- [git dev](https://gitlab.com/src_prepare/src_prepare-overlay/-/blob/master/net-im/mirage/mirage-9999.ebuild)
Installing Mirage:
1. [Add the overlay](https://gitlab.com/src_prepare/src_prepare-overlay#adding-the-overlay)
2. [Unmask](https://wiki.gentoo.org/wiki/Knowledge_Base:Unmasking_a_package) `net-im/mirage`
3. Run `emerge net-im/mirage`
#### Nix
Requires the unstable channel, to add it:
```sh
nix-channel --add https://nixos.org/channels/nixpkgs-unstable
nix-channel --update
```
To install the package:
```sh
nix-env -iA nixpkgs.mirage-im
```
#### OpenMandriva Lx
Requires [Unstable or Rolling][1]. To install the package:
```sh
sudo dnf install matrix-mirage
```
[1]: https://openmandriva.net/wiki/en/index.php?title=OpenMandriva_Release_Plan_and_Repositories#Release_Plan
## Manual Installation
@ -169,7 +97,7 @@ splits development headers into their own packages.
To enable X11-specific features on Linux,
**libX11** and **libXScrnSaver** / **libXss** are needed.
The requirements can be disabled by adding `CONFIG+=no-x11` to the
`qmake mirage.pro` command.
`qmake moment.pro` command.
For the Pillow Python package, these dependencies are recommended to support
all common image formats:
@ -337,29 +265,29 @@ sudo make install
```
### Installing or updating Mirage
### Installing or updating Moment
After following the above sections instructions depending on your system;
clone the repository, initalize the submodules,
install the python dependencies, compile and install:
```sh
git clone https://github.com/mirukana/mirage
cd mirage
git clone https://gitlab.com/mx-moment/moment
cd moment
git pull
git submodule update --init submodules/*
pip3 install --user -Ur requirements.txt
qmake mirage.pro
qmake moment.pro
make
sudo make install
```
To compile without the X11-specific dependencies and features on Linux,
run `qmake mirage.pro CONFIG+=no-x11` instead of `qmake mirage.pro`.
run `qmake moment.pro CONFIG+=no-x11` instead of `qmake moment.pro`.
If everything went fine, run `mirage` to start.
If everything went fine, run `moment` to start.
### Common Issues

View File

@ -1,4 +1,4 @@
# Mirage default keybindings list
# Moment default keybindings list
Keybindings as defined in [the default configuration file](src/config/settings.py#L218). More about configuration [here](docs/CONFIG.md).
@ -20,7 +20,7 @@ Key | Function
<kbd>F1</kbd> | QML developer console
<kbd>Shift</kbd> + <kbd>F1</kbd> | Python debugger
<kbd>Alt</kbd> + <kbd>F1</kbd> | Python remote debugger
<kbd>Ctrl</kbd> + <kbd>Q</kbd> | Quit Mirage *
<kbd>Ctrl</kbd> + <kbd>Q</kbd> | Quit Moment *
## Scrolling bindings

View File

@ -102,7 +102,7 @@ for example `self.include_builtin("config/settings.py")` refers to
The sections and properties from the included file will be recursively merged,
see [Including User Files](#including-user-files) for an example.
[1]: https://github.com/mirukana/mirage/tree/master/src/config/settings.py
[1]: https://gitlab.com/mx-moment/moment/-/blob/main/src/config/settings.py
### Including User Files

View File

@ -4,8 +4,8 @@ A default theme from this repository can be copied to use as a base and edit,
for example:
```sh
cp mirage/src/themes/Foliage.qpl \
"${XDG_DATA_HOME:-$HOME/.local/share}/mirage/themes/MyTheme.qpl"
cp moment/src/themes/Foliage.qpl \
"${XDG_DATA_HOME:-$HOME/.local/share}/moment/themes/MyTheme.qpl"
```
Or for Flatpak users:
@ -49,14 +49,14 @@ You can manually trigger a reload by updating the file's last change timestamp,
e.g. with the `touch` command:
```sh
touch ~/.config/mirage/settings.py
touch ~/.config/moment/settings.py
```
**Warnings**:
- The current file format forces all theme to have all properties
- The current file format forces themes to have all properties
defined, instead of being able to only specify the ones to override from the
default theme. Keep this in mind when updating Mirage.
default theme. Keep this in mind when updating Moment.
- Themes will soon be moved to the PCN format, that was introduced in 0.7.0
for user config files.