mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Split regular and chat room notify settings
This commit is contained in:
parent
663a22fb7e
commit
7d90d218c0
@ -473,7 +473,9 @@ static struct cmd_t command_defs[] =
|
|||||||
{ "/notify type value",
|
{ "/notify type value",
|
||||||
"------------------",
|
"------------------",
|
||||||
"Settings for various desktop notifications where type is one of:",
|
"Settings for various desktop notifications where type is one of:",
|
||||||
"message : Notificaitons for messages.",
|
"message : Notificaitons for regular messages.",
|
||||||
|
" : on|off",
|
||||||
|
"room : Notificaitons for chat room messages.",
|
||||||
" : on|off",
|
" : on|off",
|
||||||
"remind : Notification reminders of unread messages.",
|
"remind : Notification reminders of unread messages.",
|
||||||
" : where value is the reminder period in seconds,",
|
" : where value is the reminder period in seconds,",
|
||||||
@ -486,6 +488,7 @@ static struct cmd_t command_defs[] =
|
|||||||
" : on|off",
|
" : on|off",
|
||||||
"",
|
"",
|
||||||
"Example : /notify message on (enable message notifications)",
|
"Example : /notify message on (enable message notifications)",
|
||||||
|
"Example : /notify message on (enable chat room notifications)",
|
||||||
"Example : /notify remind 10 (remind every 10 seconds)",
|
"Example : /notify remind 10 (remind every 10 seconds)",
|
||||||
"Example : /notify remind 0 (switch off reminders)",
|
"Example : /notify remind 0 (switch off reminders)",
|
||||||
"Example : /notify typing on (enable typing notifications)",
|
"Example : /notify typing on (enable typing notifications)",
|
||||||
@ -964,6 +967,7 @@ cmd_init(void)
|
|||||||
|
|
||||||
notify_ac = autocomplete_new();
|
notify_ac = autocomplete_new();
|
||||||
autocomplete_add(notify_ac, "message");
|
autocomplete_add(notify_ac, "message");
|
||||||
|
autocomplete_add(notify_ac, "room");
|
||||||
autocomplete_add(notify_ac, "typing");
|
autocomplete_add(notify_ac, "typing");
|
||||||
autocomplete_add(notify_ac, "remind");
|
autocomplete_add(notify_ac, "remind");
|
||||||
autocomplete_add(notify_ac, "invite");
|
autocomplete_add(notify_ac, "invite");
|
||||||
@ -1771,7 +1775,7 @@ _notify_autocomplete(char *input, int *size)
|
|||||||
char *result = NULL;
|
char *result = NULL;
|
||||||
|
|
||||||
gchar *boolean_choices[] = { "/notify message", "/notify typing",
|
gchar *boolean_choices[] = { "/notify message", "/notify typing",
|
||||||
"/notify invite", "/notify sub" };
|
"/notify invite", "/notify sub", "/notify room" };
|
||||||
for (i = 0; i < ARRAY_SIZE(boolean_choices); i++) {
|
for (i = 0; i < ARRAY_SIZE(boolean_choices); i++) {
|
||||||
result = autocomplete_param_with_func(input, size, boolean_choices[i],
|
result = autocomplete_param_with_func(input, size, boolean_choices[i],
|
||||||
prefs_autocomplete_boolean_choice);
|
prefs_autocomplete_boolean_choice);
|
||||||
|
@ -2200,7 +2200,7 @@ cmd_notify(gchar **args, struct cmd_help_t help)
|
|||||||
// bad kind
|
// bad kind
|
||||||
if ((strcmp(kind, "message") != 0) && (strcmp(kind, "typing") != 0) &&
|
if ((strcmp(kind, "message") != 0) && (strcmp(kind, "typing") != 0) &&
|
||||||
(strcmp(kind, "remind") != 0) && (strcmp(kind, "invite") != 0) &&
|
(strcmp(kind, "remind") != 0) && (strcmp(kind, "invite") != 0) &&
|
||||||
(strcmp(kind, "sub") != 0)) {
|
(strcmp(kind, "sub") != 0) && (strcmp(kind, "room") != 0)) {
|
||||||
cons_show("Usage: %s", help.usage);
|
cons_show("Usage: %s", help.usage);
|
||||||
|
|
||||||
// set message setting
|
// set message setting
|
||||||
@ -2215,6 +2215,18 @@ cmd_notify(gchar **args, struct cmd_help_t help)
|
|||||||
cons_show("Usage: /notify message on|off");
|
cons_show("Usage: /notify message on|off");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// set room setting
|
||||||
|
} else if (strcmp(kind, "room") == 0) {
|
||||||
|
if (strcmp(value, "on") == 0) {
|
||||||
|
cons_show("Chat room notifications enabled.");
|
||||||
|
prefs_set_boolean(PREF_NOTIFY_ROOM, TRUE);
|
||||||
|
} else if (strcmp(value, "off") == 0) {
|
||||||
|
cons_show("Chat room notifications disabled.");
|
||||||
|
prefs_set_boolean(PREF_NOTIFY_ROOM, FALSE);
|
||||||
|
} else {
|
||||||
|
cons_show("Usage: /notify room on|off");
|
||||||
|
}
|
||||||
|
|
||||||
// set typing setting
|
// set typing setting
|
||||||
} else if (strcmp(kind, "typing") == 0) {
|
} else if (strcmp(kind, "typing") == 0) {
|
||||||
if (strcmp(value, "on") == 0) {
|
if (strcmp(value, "on") == 0) {
|
||||||
|
@ -401,6 +401,7 @@ _get_group(preference_t pref)
|
|||||||
return PREF_GROUP_CHATSTATES;
|
return PREF_GROUP_CHATSTATES;
|
||||||
case PREF_NOTIFY_TYPING:
|
case PREF_NOTIFY_TYPING:
|
||||||
case PREF_NOTIFY_MESSAGE:
|
case PREF_NOTIFY_MESSAGE:
|
||||||
|
case PREF_NOTIFY_ROOM:
|
||||||
case PREF_NOTIFY_INVITE:
|
case PREF_NOTIFY_INVITE:
|
||||||
case PREF_NOTIFY_SUB:
|
case PREF_NOTIFY_SUB:
|
||||||
return PREF_GROUP_NOTIFICATIONS;
|
return PREF_GROUP_NOTIFICATIONS;
|
||||||
@ -463,6 +464,8 @@ _get_key(preference_t pref)
|
|||||||
return "typing";
|
return "typing";
|
||||||
case PREF_NOTIFY_MESSAGE:
|
case PREF_NOTIFY_MESSAGE:
|
||||||
return "message";
|
return "message";
|
||||||
|
case PREF_NOTIFY_ROOM:
|
||||||
|
return "room";
|
||||||
case PREF_NOTIFY_INVITE:
|
case PREF_NOTIFY_INVITE:
|
||||||
return "invite";
|
return "invite";
|
||||||
case PREF_NOTIFY_SUB:
|
case PREF_NOTIFY_SUB:
|
||||||
|
@ -53,6 +53,7 @@ typedef enum {
|
|||||||
PREF_OUTTYPE,
|
PREF_OUTTYPE,
|
||||||
PREF_NOTIFY_TYPING,
|
PREF_NOTIFY_TYPING,
|
||||||
PREF_NOTIFY_MESSAGE,
|
PREF_NOTIFY_MESSAGE,
|
||||||
|
PREF_NOTIFY_ROOM,
|
||||||
PREF_NOTIFY_INVITE,
|
PREF_NOTIFY_INVITE,
|
||||||
PREF_NOTIFY_SUB,
|
PREF_NOTIFY_SUB,
|
||||||
PREF_CHLOG,
|
PREF_CHLOG,
|
||||||
|
@ -1163,6 +1163,11 @@ _cons_notify_setting(void)
|
|||||||
else
|
else
|
||||||
cons_show("Messages (/notify message) : OFF");
|
cons_show("Messages (/notify message) : OFF");
|
||||||
|
|
||||||
|
if (prefs_get_boolean(PREF_NOTIFY_ROOM))
|
||||||
|
cons_show("Messages (/notify room) : ON");
|
||||||
|
else
|
||||||
|
cons_show("Messages (/notify room) : OFF");
|
||||||
|
|
||||||
if (prefs_get_boolean(PREF_NOTIFY_TYPING))
|
if (prefs_get_boolean(PREF_NOTIFY_TYPING))
|
||||||
cons_show("Composing (/notify typing) : ON");
|
cons_show("Composing (/notify typing) : ON");
|
||||||
else
|
else
|
||||||
|
@ -1696,7 +1696,7 @@ _ui_room_message(const char * const room_jid, const char * const nick,
|
|||||||
if (prefs_get_boolean(PREF_BEEP)) {
|
if (prefs_get_boolean(PREF_BEEP)) {
|
||||||
beep();
|
beep();
|
||||||
}
|
}
|
||||||
if (prefs_get_boolean(PREF_NOTIFY_MESSAGE)) {
|
if (prefs_get_boolean(PREF_NOTIFY_ROOM)) {
|
||||||
Jid *jidp = jid_create(room_jid);
|
Jid *jidp = jid_create(room_jid);
|
||||||
notify_room_message(nick, jidp->localpart, ui_index);
|
notify_room_message(nick, jidp->localpart, ui_index);
|
||||||
jid_destroy(jidp);
|
jid_destroy(jidp);
|
||||||
|
Loading…
Reference in New Issue
Block a user