about summary refs log tree commit diff stats
path: root/src/command/commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/command/commands.c')
-rw-r--r--src/command/commands.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/command/commands.c b/src/command/commands.c
index f17fec42..c8a516cd 100644
--- a/src/command/commands.c
+++ b/src/command/commands.c
@@ -2851,6 +2851,23 @@ cmd_subject(ProfWin *window, const char *const command, gchar **args)
         return TRUE;
     }
 
+    if (g_strcmp0(args[0], "prepend") == 0) {
+        if (args[1]) {
+            char *old_subject = muc_subject(mucwin->roomjid);
+            if (old_subject) {
+                GString *new_subject = g_string_new(args[1]);
+                g_string_append(new_subject, old_subject);
+                message_send_groupchat_subject(mucwin->roomjid, new_subject->str);
+                g_string_free(new_subject, TRUE);
+            } else {
+                win_vprint(window, '!', 0, NULL, NO_EOL, THEME_ROOMINFO, "", "Room does not have a subject, use /subject set <subject>");
+            }
+        } else {
+            cons_bad_cmd_usage(command);
+        }
+        return TRUE;
+    }
+
     if (g_strcmp0(args[0], "append") == 0) {
         if (args[1]) {
             char *old_subject = muc_subject(mucwin->roomjid);