c140d69138
* Add keys for back and forward through history Move through history of visited rooms without altering it. Ctrl+H and Ctrl+Y by default. Deviating from history while in the middle of it causes a part of history to be discarded. * Change default history binding to Ctrl+H and Ctrl+Shift+H * Rename functions and settings `earlier_page` and `later_page` is consistent naming with `last_page` * Add option to wrap history If you press `later_page` while at index 0 (newest), you loop to the end of recorded history (oldest). If you press `earlier_page` while at at the end of history (oldest), you loop back to the top (newest). This can be disabled. * Add showNthFromHistory Grouped duplicated code into a new funcion. * Minor formatting changes * Move wrap_history setting from to General section The Keys section is purely for keybindings; this setting should also be able to control history navigation not done by keyboard such as extra mouse button bindings. * Change default bind for later_page and clear_all Ctrl+H and Ctrl+L are a more intuitive pair than Ctrl+H and Ctrl+Shift+H. Meanwhile, clear_all does not need the accessible binding Ctrl+L. Co-authored-by: miruka <miruka@disroot.org> |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
docs | ||
packaging | ||
src | ||
submodules | ||
.flake8 | ||
.gitignore | ||
.gitmodules | ||
.isort.cfg | ||
.mypy.ini | ||
autoreload.py | ||
COPYING | ||
COPYING.LESSER | ||
mirage.pro | ||
README.md | ||
requirements-dev.txt | ||
requirements.txt |
Mirage
Features ⬥
Installation ⬥
Configuration ⬥
Theming ⬥
Contributing ⬥
Screenshots
A fancy, customizable, keyboard-operable Matrix chat
client for encrypted and decentralized communication.
Written in Qt/QML and Python, currently in alpha.
Currently Implemented Features
General
- Fluid, responsive interface that adapts to any window size
- Toggleable compact mode
- Customizable keyboard shortcuts for everything, including
switching rooms, navigating messages, sending/opening files... - Versatile theming system, properties can refer to each other and have
any valid ECMAScript 7 expression as values- Comes by default with dark and transparent themes
- Desktop notifications, sounds and window alerts
- Support for HTTP and SOCKS5 proxies including TOR
Accounts
- Built-in public homeservers list
- Multiple accounts in one client
- SSO and password authentication
- Set your display name and profile picture
- Import/export E2E key files
- Inspect, rename, manually verify and sign out one or multiple sessions
- Sessions for accounts within the same client automatically verify each others
- Set your account's presence to online, unavailable, invisible or offline
- Set custom status messages
- Automatically set your status to unavailable after a period of inactivity
- Advanced push rules editor
Rooms
-
Create, join, leave and forget rooms
-
Send, accept and refuse invites
-
Edit the room's name, topic, invite requirement, guest access and enable E2E
-
Kick, ban and set the power level of users
-
Pin rooms to the top of the list
-
Unread message and highlight counters
-
Sending read receipts to mark rooms as read
-
Seeing who has read a message and when
-
Inspect and manually verify other users's E2E sessions
-
See other users's presence, status message and last seen time
-
Typing notifications
Messages
-
Send and receive E2E encrypted messages
-
Send and receive emote messages (e.g.
/me reads attentively
) -
Receive notice (bot) messages
-
Send markdown formatted messages
- Additional syntax for coloring text, e.g.
<red>(Some text...)
-
SVG/CSS color names,
#RGB
,#RRGGBB
and#AARRGGBB
hex codes can be used
- Additional syntax for coloring text, e.g.
-
Send and receive normal or E2E encrypted files
-
Client-side Matrix & HTTP URL image previews, including animated GIF
-
Upload images by pasting or drag-and-drop
-
Full-size image viewer
-
User ID, display names, room ID and room aliases mentions
-
Autocompletion for usernames and user ID
-
Individual and mass message removal
-
Sending rich replies