diff options
Diffstat (limited to 'src/command/commands.c')
-rw-r--r-- | src/command/commands.c | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/src/command/commands.c b/src/command/commands.c index dcfc8a1e..e81c4e66 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -2195,7 +2195,6 @@ gboolean cmd_notify(gchar **args, struct cmd_help_t help) { char *kind = args[0]; - char *value = args[1]; // bad kind if ((strcmp(kind, "message") != 0) && (strcmp(kind, "typing") != 0) && @@ -2205,37 +2204,57 @@ cmd_notify(gchar **args, struct cmd_help_t help) // set message setting } else if (strcmp(kind, "message") == 0) { - if (strcmp(value, "on") == 0) { + if (strcmp(args[1], "on") == 0) { cons_show("Message notifications enabled."); prefs_set_boolean(PREF_NOTIFY_MESSAGE, TRUE); - } else if (strcmp(value, "off") == 0) { + } else if (strcmp(args[1], "off") == 0) { cons_show("Message notifications disabled."); prefs_set_boolean(PREF_NOTIFY_MESSAGE, FALSE); + } else if (strcmp(args[1], "current") == 0) { + if (g_strcmp0(args[2], "on") == 0) { + cons_show("Current window messages notifications enabled."); + prefs_set_boolean(PREF_NOTIFY_MESSAGE_CURRENT, TRUE); + } else if (g_strcmp0(args[2], "off") == 0) { + cons_show("Current window messages notifications disabled."); + prefs_set_boolean(PREF_NOTIFY_MESSAGE_CURRENT, FALSE); + } else { + cons_show("Usage: /notify message current on|off"); + } } else { cons_show("Usage: /notify message on|off"); } // set room setting } else if (strcmp(kind, "room") == 0) { - if (strcmp(value, "on") == 0) { + if (strcmp(args[1], "on") == 0) { cons_show("Chat room notifications enabled."); prefs_set_string(PREF_NOTIFY_ROOM, "on"); - } else if (strcmp(value, "off") == 0) { + } else if (strcmp(args[1], "off") == 0) { cons_show("Chat room notifications disabled."); prefs_set_string(PREF_NOTIFY_ROOM, "off"); - } else if (strcmp(value, "mention") == 0) { + } else if (strcmp(args[1], "mention") == 0) { cons_show("Chat room notifications enable on mention."); prefs_set_string(PREF_NOTIFY_ROOM, "mention"); + } else if (strcmp(args[1], "current") == 0) { + if (g_strcmp0(args[2], "on") == 0) { + cons_show("Current window chat room messages notifications enabled."); + prefs_set_boolean(PREF_NOTIFY_ROOM_CURRENT, TRUE); + } else if (g_strcmp0(args[2], "off") == 0) { + cons_show("Current window chat room messages notifications disabled."); + prefs_set_boolean(PREF_NOTIFY_ROOM_CURRENT, FALSE); + } else { + cons_show("Usage: /notify room current on|off"); + } } else { cons_show("Usage: /notify room on|off|mention"); } // set typing setting } else if (strcmp(kind, "typing") == 0) { - if (strcmp(value, "on") == 0) { + if (strcmp(args[1], "on") == 0) { cons_show("Typing notifications enabled."); prefs_set_boolean(PREF_NOTIFY_TYPING, TRUE); - } else if (strcmp(value, "off") == 0) { + } else if (strcmp(args[1], "off") == 0) { cons_show("Typing notifications disabled."); prefs_set_boolean(PREF_NOTIFY_TYPING, FALSE); } else { @@ -2244,10 +2263,10 @@ cmd_notify(gchar **args, struct cmd_help_t help) // set invite setting } else if (strcmp(kind, "invite") == 0) { - if (strcmp(value, "on") == 0) { + if (strcmp(args[1], "on") == 0) { cons_show("Chat room invite notifications enabled."); prefs_set_boolean(PREF_NOTIFY_INVITE, TRUE); - } else if (strcmp(value, "off") == 0) { + } else if (strcmp(args[1], "off") == 0) { cons_show("Chat room invite notifications disabled."); prefs_set_boolean(PREF_NOTIFY_INVITE, FALSE); } else { @@ -2256,10 +2275,10 @@ cmd_notify(gchar **args, struct cmd_help_t help) // set subscription setting } else if (strcmp(kind, "sub") == 0) { - if (strcmp(value, "on") == 0) { + if (strcmp(args[1], "on") == 0) { cons_show("Subscription notifications enabled."); prefs_set_boolean(PREF_NOTIFY_SUB, TRUE); - } else if (strcmp(value, "off") == 0) { + } else if (strcmp(args[1], "off") == 0) { cons_show("Subscription notifications disabled."); prefs_set_boolean(PREF_NOTIFY_SUB, FALSE); } else { @@ -2268,7 +2287,7 @@ cmd_notify(gchar **args, struct cmd_help_t help) // set remind setting } else if (strcmp(kind, "remind") == 0) { - gint period = atoi(value); + gint period = atoi(args[1]); prefs_set_notify_remind(period); if (period == 0) { cons_show("Message reminders disabled."); |