From ac58f524a8a734e9ea6a8c5acc063891f480d58d Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 12 Jun 2023 15:48:17 +0200 Subject: Matrix: add option to disable sending read receipt, comment the example json config file --- TODO | 3 ++- example-config.json | 25 ++++++++++++++++++++++++- include/Config.hpp | 1 + src/Config.cpp | 1 + src/plugins/Matrix.cpp | 3 ++- 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 writer(buffer); -- cgit v1.2.3