* 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>
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,#RRGGBBand#AARRGGBBhex 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






