about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorPaul Fariello <paul@fariello.eu>2019-04-10 06:49:20 +0320
committerPaul Fariello <paul@fariello.eu>2019-04-10 17:24:56 +0200
commit277e8dc901140a40416dbf50bf6862b2980b5ec6 (patch)
tree02051faf24667412fb8a7be500e514b4f5428253 /src
parent0bc660400b9a62ae2982b1ec6c374de13ec54477 (diff)
downloadprofani-tty-277e8dc901140a40416dbf50bf6862b2980b5ec6.tar.gz
Add /omemo char command
Diffstat (limited to 'src')
-rw-r--r--src/command/cmd_defs.c6
-rw-r--r--src/command/cmd_funcs.c19
-rw-r--r--src/command/cmd_funcs.h1
3 files changed, 25 insertions, 1 deletions
diff --git a/src/command/cmd_defs.c b/src/command/cmd_defs.c
index ab4112c7..2c790a73 100644
--- a/src/command/cmd_defs.c
+++ b/src/command/cmd_defs.c
@@ -2341,6 +2341,7 @@ static struct cmd_t command_defs[] =
             { "trust", cmd_omemo_trust },
             { "untrust", cmd_omemo_untrust },
             { "fingerprint", cmd_omemo_fingerprint },
+            { "char", cmd_omemo_char },
             { "clear_device_list", cmd_omemo_clear_device_list })
         CMD_NOMAINFUNC
         CMD_TAGS(
@@ -2353,6 +2354,7 @@ static struct cmd_t command_defs[] =
             "/omemo trust [<contact>] <fingerprint>",
             "/omemo end",
             "/omemo fingerprint [<contact>]",
+            "/omemo char <char>",
             "/omemo clear_device_list")
         CMD_DESC(
             "Omemo commands to manage keys, and perform encryption during chat sessions.")
@@ -2363,12 +2365,14 @@ static struct cmd_t command_defs[] =
             { "log on|off",        "Enable or disable plaintext logging of OMEMO encrypted messages." },
             { "log redact",        "Log OMEMO encrypted messages, but replace the contents with [redacted]. This is the default." },
             { "fingerprint",       "Show contact fingerprints." },
+            { "char <char>",       "Set the character to be displayed next to OMEMO encrypted messages." },
             { "clear_device_list", "Clear your own device list on server side. Each client will reannounce itself when connected back."})
         CMD_EXAMPLES(
             "/omemo gen",
             "/omemo start buddy@buddychat.org",
             "/omemo trust c4f9c875-144d7a3b-0c4a05b6-ca3be51a-a037f329-0bd3ae62-07f99719-55559d2a",
-            "/omemo untrust buddy@buddychat.org c4f9c875-144d7a3b-0c4a05b6-ca3be51a-a037f329-0bd3ae62-07f99719-55559d2a")
+            "/omemo untrust buddy@buddychat.org c4f9c875-144d7a3b-0c4a05b6-ca3be51a-a037f329-0bd3ae62-07f99719-55559d2a",
+            "/omemo char *")
     },
 };
 
diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c
index b004c4e1..40952c20 100644
--- a/src/command/cmd_funcs.c
+++ b/src/command/cmd_funcs.c
@@ -8051,6 +8051,25 @@ cmd_omemo_start(ProfWin *window, const char *const command, gchar **args)
 }
 
 gboolean
+cmd_omemo_char(ProfWin *window, const char *const command, gchar **args)
+{
+#ifdef HAVE_OMEMO
+    if (args[1] == NULL) {
+        cons_bad_cmd_usage(command);
+    } else if (strlen(args[1]) != 1) {
+        cons_bad_cmd_usage(command);
+    } else {
+        prefs_set_omemo_char(args[1][0]);
+        cons_show("OMEMO char set to %c.", args[1][0]);
+    }
+    return TRUE;
+#else
+    cons_show("This version of Profanity has not been built with OMEMO support enabled");
+    return TRUE;
+#endif
+}
+
+gboolean
 cmd_omemo_log(ProfWin *window, const char *const command, gchar **args)
 {
 #ifdef HAVE_OMEMO
diff --git a/src/command/cmd_funcs.h b/src/command/cmd_funcs.h
index 3410075d..249b50fe 100644
--- a/src/command/cmd_funcs.h
+++ b/src/command/cmd_funcs.h
@@ -215,6 +215,7 @@ gboolean cmd_wins_swap(ProfWin *window, const char *const command, gchar **args)
 gboolean cmd_form_field(ProfWin *window, char *tag, gchar **args);
 
 gboolean cmd_omemo_gen(ProfWin *window, const char *const command, gchar **args);
+gboolean cmd_omemo_char(ProfWin *window, const char *const command, gchar **args);
 gboolean cmd_omemo_log(ProfWin *window, const char *const command, gchar **args);
 gboolean cmd_omemo_start(ProfWin *window, const char *const command, gchar **args);
 gboolean cmd_omemo_end(ProfWin *window, const char *const command, gchar **args);