aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2023-06-12 15:48:17 +0200
committerdec05eba <dec05eba@protonmail.com>2023-06-12 15:48:17 +0200
commitac58f524a8a734e9ea6a8c5acc063891f480d58d (patch)
tree16445dccf42d1ebd6dcac19c40add653328e4c4b
parentcdddd4250c0fd6cb6b8e0fe7f8810a83df7d48c4 (diff)
Matrix: add option to disable sending read receipt, comment the example json config file
-rw-r--r--TODO3
-rw-r--r--example-config.json25
-rw-r--r--include/Config.hpp1
-rw-r--r--src/Config.cpp1
-rw-r--r--src/plugins/Matrix.cpp3
5 files changed, 30 insertions, 3 deletions
diff --git a/TODO b/TODO
index 32192e7..61cf92b 100644
--- a/TODO
+++ b/TODO
@@ -267,4 +267,5 @@ Add support for irc, xmpp.
Rename local-anime/local-manga to more generic media forms (local-media/local-shows, etc?).
Add ability to create room, commands for changing nickname, roomnickname, avatar, kick, ban, etc.
Replace pepper emoji with gimp pepper.
-Consider adding typing notification to matrix. \ No newline at end of file
+Consider adding typing notification to matrix.
+Make it possible to switch between list and grid view. \ No newline at end of file
diff --git a/example-config.json b/example-config.json
index d8ec181..675636a 100644
--- a/example-config.json
+++ b/example-config.json
@@ -20,22 +20,32 @@
"font_size": 16
},
"video": {
+ // Plugins that support max height will select a video source that is not taller than this
"max_height": 0
},
"local_manga": {
+ // The directory that contains your manga. See README.md local-manga section for expected directory structure
"directory": "",
+ // Sort manga by name. If false, then sort manga by most recently updated
"sort_by_name": false,
+ // Sort chapters by name. If false, then sort chapters by most recently updated
"sort_chapters_by_name": false
},
"local_anime": {
+ // The directory that contains your anime. See README.md local-anime section for expected directory structure
"directory": "",
+ // Sort anime by name. If false, then sort anime by most recently updated
"sort_by_name": false,
+ // If false, anime is displayed in the way they appear in the directory.
+ // If true, QuickMedia tries to group anime episodes into a folder (visually) with the name of the anime
"auto_group_episodes": true
},
"youtube": {
+ // If true, resume playback where you left off in youtube videos
"load_progress": true
},
"matrix": {
+ // List of homeservers to display in the "Room directory" tab
"known_homeservers": [
"midov.pl",
"matrix.org",
@@ -52,11 +62,15 @@
"tchncs.de",
"jupiterbroadcasting.com"
],
+ // The email of the gpg. Should match your matrix user id, but in email format. See README.md "Matrix gpg encryption" section
"gpg_user_id": "",
"room_name_font_size": 18,
- "room_description_font_size": 12
+ "room_description_font_size": 12,
+ // If you want others to know that you have read their message or not
+ "send_read_receipts": true
},
"peertube": {
+ // List of instances to display when opening peertube
"known_instances": [
"https://tube.midov.pl",
"https://videos.lukesmith.xyz",
@@ -78,6 +92,8 @@
]
},
"download": {
+ // Directores where to save different files when pressing ctrl+shift+s to save a file
+
"video_directory": "~/Videos",
"image_directory": "~/Pictures",
"music_directory": "~/Music",
@@ -93,11 +109,18 @@
"mangadex": {
"allow_hentai": false
},
+ // Use system (fontconfig) fonts
"use_system_fonts": false,
+ // Use system (~/.config/mpv) mpv.conf instead of the one provided by QuicKMedia
"use_system_mpv_config": false,
+ // Enable shaders. Only set to true if you have a very slow computer or dont care about any graphical effects
"enable_shaders": true,
+ // The theme to use. This should match the name of a file in either /usr/share/quickmedia/themes or ~/.config/quickmedia/themes, except without the .json at the end of the filename
"theme": "default",
+ // UI scale (all components)
"scale": 1.0,
+ // Font scale (only fonts)
"font_scale": 1.0,
+ // Spacing scale (only scaling the spacing between elements, nothing else)
"spacing_scale": 1.0
}
diff --git a/include/Config.hpp b/include/Config.hpp
index e0756cf..2316f06 100644
--- a/include/Config.hpp
+++ b/include/Config.hpp
@@ -53,6 +53,7 @@ namespace QuickMedia {
std::string gpg_user_id;
int room_name_font_size = 18;
int room_description_font_size = 12;
+ bool send_read_receipts = true;
};
struct PeertubeConfig {
diff --git a/src/Config.cpp b/src/Config.cpp
index 6c921df..bdc4012 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -230,6 +230,7 @@ namespace QuickMedia {
get_json_value(matrix_json, "gpg_user_id", config->matrix.gpg_user_id);
get_json_value(matrix_json, "room_name_font_size", config->matrix.room_name_font_size);
get_json_value(matrix_json, "room_description_font_size", config->matrix.room_description_font_size);
+ get_json_value(matrix_json, "send_read_receipts", config->matrix.send_read_receipts);
}
if(!has_known_matrix_homeservers_config)
diff --git a/src/plugins/Matrix.cpp b/src/plugins/Matrix.cpp
index 127a664..b2b05e2 100644
--- a/src/plugins/Matrix.cpp
+++ b/src/plugins/Matrix.cpp
@@ -5456,7 +5456,8 @@ namespace QuickMedia {
PluginResult Matrix::set_read_marker(RoomData *room, const std::string &event_id, int64_t event_timestamp) {
rapidjson::Document request_data(rapidjson::kObjectType);
request_data.AddMember("m.fully_read", rapidjson::StringRef(event_id.c_str()), request_data.GetAllocator());
- request_data.AddMember("m.read", rapidjson::StringRef(event_id.c_str()), request_data.GetAllocator());
+ if(QuickMedia::get_config().matrix.send_read_receipts)
+ request_data.AddMember("m.read", rapidjson::StringRef(event_id.c_str()), request_data.GetAllocator());
rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);