b6773c724e
* Add Keys.Rooms.Direct configuration Keybinding to jump to specific room id in specific account id, or the first occurence of specific room id in any account. * Default binding was a bad idea This example binding was preventing the user from binding Ctrl+G,Ctrl+M to something else. * Use const instead of var * Use showItemAtIndex for direct room switching This is a simpler implementation that better fits in the existing codebase and doesn't really have drawbacks. * Use existing findIndex From roomList.model. Instead of reinventing it * Made example not a real room Earlier I made it point to the Mirage room * Add instructions for copying room ID After noticing that these IDs do not match Matrix room addresses, I felt it was necessary to explain this here, even if it's already explained in other parts of the configuration file. * Use .split(" ") for splitting descriptions This is a more readable implementation. * Fix shortcuts breaking on config reload Wrapping HShortcut in Loader makes it destructible. See d53978f62bab35cdc7e115c50f0571f736814582 * Cleanup showRoomByDescription method, now showById - "Room description" is a vague, it sounds like this is about the room topic too. Instead of having a function that takes a string with a certain format, take explicit arguments for the user and room ID, this way we don't need comments to explain what's going on either - Reduce indentations and {} noise to make it simpler to read * More details for direct room binds config comment 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