37 Commits

Author SHA1 Message Date
Newbyte
484855c452
settings.py: Update Flatpak comment to new ID 2022-01-29 12:43:04 +01:00
Maze
e3103144a2 Change default keybindings for Moment
By Linux convention for GUI software, Ctrl+Q is quit.
By general chat app convention, Ctrl+K is filter.
Some keybindings have been changed to make space for these:
Reply is now Ctrl+R
Remove is now Ctrl+Shift+R
"Previous message" is now Ctrl+I

I did not want to alter the defaults more than this.
But ideally, you would want "Previous message" and "Next message"
adjacent, so it makes sense to swap Ctrl+U and Ctrl+J as well.
2022-01-14 21:59:31 +01:00
Maze
106e963573 Add Foliage theme and make it new default
Moment should have a different default theme than Mirage to make it more
visible that it's not the same software.
2022-01-14 21:50:23 +01:00
Maze
2839f83dde Change config dir, offer to migrate
Moment has different default directories and is controlled by
different environment variables. On first startup, Moment
detects Mirage directories and offers to copy them.
It doesn't make sense to migrate logins without migrating encryption
keys, so this is now included in migration. Themes are migrated as well.
Only offer migration is only if both config and data directory are able to be
migrated.
2022-01-14 19:27:59 +00:00
Maze
1ebce512b2 Merge branch 'comments' 2022-01-05 16:01:10 +01:00
Maze
2113327d42 Add bindings page 2022-01-05 14:38:29 +00:00
Maze
2433dba27e Add helpful config comments
I just spent half an hour debugging why some setting didn't work for me.
It was because I was putting it in Chat instead of Keys.Chat. This is
very confusing when you're making your own partial config override file.
I've added comments to the classes with identical names to hopefully
make this less confusing.
2021-08-26 11:56:27 +02:00
Maze
884d22938b Add keys to jump to latest/oldest unread (#214)
* Key to jump to latest/oldest unread #186

Latest/oldest unread/highlight.
Default bindings match the bindings for previous/next unread/highlight.

Allows the user to read messages in the order of receiving them.
Or the opposite order, to stay on top of things.

* Clean up code

Use let instead of var, and proper indentation

* Fix case for some variables in RoomList.qml

Some variables were using snake_case instead of camelCase like usually
done in QML code (note that the model items come from python)

Co-authored-by: miruka <miruka@disroot.org>
2021-07-26 04:39:58 -04:00
miruka
86c0cb1bf2 Add Presence.saved_status option
Controls how many previous status to keep saved in account menues,
see previous commit.
2021-07-26 04:39:58 -04:00
Maze
b6773c724e Add keys for direct room switching (#209)
* 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>
2021-07-26 04:39:58 -04:00
miruka
909756cff7 Raise default tooltips_delay setting to 0.7s 2021-07-26 04:39:57 -04:00
miruka
70ae16a7c1 Merge the Leave and Forget room popups 2021-07-26 04:39:57 -04:00
Maze
c140d69138 Add visited pages history back/forward keys (#204)
* 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>
2021-07-26 04:39:57 -04:00
MRAAGH
f88ab45b94 Add keybinding for quit (#203)
* Add keybinding for quit

* Reorder default settings

The related keybindings are now located closer together.
quit is not commented by default, but instead has an empty list.

* No need for braces for a single instruction
2021-07-26 04:39:57 -04:00
miruka
a4f94b6de0 settings.py: comment typo fixes and improvements 2021-03-04 11:24:22 -04:00
miruka
35442389c7 settings.py: fix Notifications.flash_time comment 2021-03-04 11:01:31 -04:00
miruka
f6f0a0c1ee Add General.proxy setting, supports HTTP & SOCKS5 2021-03-03 17:14:57 -04:00
miruka
c420360602 settings.py: support ~ expansion for sound path 2021-03-03 17:14:56 -04:00
miruka
92c49140e7 Play sound from python/ALSA instead QtMultimedia
GStreamer sucks
2021-03-03 17:14:56 -04:00
miruka
156f89aca1 Change global notif. keybinds to avoid conflicts
Change the account next/prev binds back to Alt+(Shift+)M,
make mute notif Ctrl+Alt+N, mute except higlights Ctrl+Alt+H
2021-03-03 17:14:56 -04:00
miruka
99325fde86 Add support for notification sound effects 2021-03-03 17:14:56 -04:00
miruka
1b0bec3470 Add options to disable HTML in notifications 2021-03-03 17:14:56 -04:00
miruka
d7fbe8c222 Add keybinds to control global notifications
Alt+M: toggle "mute all notifications except highlights"
Alt+Shift+M: toggle "mute all notifications"

The Keys.Rooms.(previous/next)_highlight keybinds, previously bound to
Alt+(Shift+)M (stood for "mention") now defaults to Alt+(Shift+)H.

The NotificationLevel enum and notificationLevel property had to be
moved from Window to UI due to QML having a global "Window" object that
causes conflicts when trying to access the enum as
"Window.NotificationLevel" from UI.qml.
2021-03-03 17:14:56 -04:00
miruka
93ced92cda Add Notifications.start_level setting 2021-03-03 17:14:56 -04:00
miruka
8a6f7c262f Change room bookmark terminology to pin/unpin
Pin/unpin is more representative of what the function actually does
for rooms in the left pane. Also change the corresponding icons and
renames the config file section: RoomList.Bookmarks → RoomList.Pinned
2021-03-03 17:14:56 -04:00
miruka
a06ce3352e Make local unread markers optional, off by default
Add RoomList.local_unread_markers option to settings.py,
which is False by default.
Before, this way always enabled and conflicts with push rules by marking
anything as unread without any logic.
2021-03-03 17:14:56 -04:00
miruka
a33902e382 Rename Keys.Room.(previous/next)_urgent setting
to (previous/next)_highlight, to match the new terminology used from the
previous notification settings commit.
2021-03-03 17:14:56 -04:00
miruka
1017d02a83 Change window alert setting names and defaults
- Notifications.alert_time → Notifications.flash_time,
  more evocative of what these "alerts" actually do

- Change default for the above from 0 to 5, since now push rules already
  control precisely what to enable or disable these alerts for

- Notifications.urgent_alert_time → Notifications.highlight_flash_time,
  "highlight" is the term used in the matrix doc
2021-03-03 17:14:56 -04:00
miruka
0ca8d46eae Fix and rename "Sessions" keybinds
Fix refresh and sign out keybinds that were broken, and rename
these in settings.py:

- Keys.Sessions.refresh → Keys.Security.refresh
- Keys.Sessions.sign_out_checked_or_all → Keys.Security.sign_out
2021-03-03 17:14:56 -04:00
miruka
2d3553531d Better explain XDG vs default locations in docs 2021-03-03 17:14:55 -04:00
miruka
c59d54877a Add Keys.Messages.seen_tooltips keybind
Toggle display of the focused message's seen counter tooltip,
which shows which user have this message as their last seen
and when did they send that information.
When this mode is active, you can move the focus
to other messages  and the tooltip will update itself.
If a message doesn't have a counter, it won't have a tooltip.
2021-03-03 17:14:55 -04:00
miruka
0dadf7de97 Have split python_(remote_)debugger keybinds
python_debugger (shift+F1) will now always start pdb, and
python_remote_debugger will always start remote_pdb.
Since the new autoreload.py script doesn't break stdin like entr with
live-reload.sh did, we can now use pdb if the app is connected to a
terminal.
2021-03-03 17:14:55 -04:00
miruka
ae4bcffa06 settings.py: add Chat.Composer.TypingNotifications 2021-03-03 17:14:55 -04:00
miruka
1a101d9888 Disable new theme test code for now 2021-03-03 17:14:55 -04:00
miruka
42f04b013e Add PCN theme system
Coexist with the old theme system for now. QML components have to be
updated to use the new system.
2021-03-03 17:14:55 -04:00
miruka
3564e7a571 Turn bookmarks/aliases/at_index into Sections 2021-03-03 17:13:51 -04:00
miruka
db12036372 Use new PCN format for settings config file 2021-03-03 17:12:09 -04:00