1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Setting: only write in console upon muc mention

`/console muc mention` additionally to `first|none|all`.

Fix https://github.com/profanity-im/profanity/issues/1371
This commit is contained in:
Michael Vetter 2020-07-10 15:16:34 +02:00
parent 10d771f3d1
commit 95ab7ee062
4 changed files with 16 additions and 5 deletions

View File

@ -913,6 +913,7 @@ cmd_ac_init(void)
console_msg_ac = autocomplete_new();
autocomplete_add(console_msg_ac, "all");
autocomplete_add(console_msg_ac, "first");
autocomplete_add(console_msg_ac, "mention");
autocomplete_add(console_msg_ac, "none");
autoping_ac = autocomplete_new();

View File

@ -1141,7 +1141,7 @@ static struct cmd_t command_defs[] = {
CMD_TAG_GROUPCHAT)
CMD_SYN(
"/console chat all|first|none",
"/console muc all|first|none",
"/console muc all|first|mention|none",
"/console private all|first|none")
CMD_DESC(
"Configure what is displayed in the console window when messages are received. "
@ -1152,6 +1152,7 @@ static struct cmd_t command_defs[] = {
{ "chat none", "Do not show any new chat messages in the console window." },
{ "muc all", "Indicate all new chat room messages in the console." },
{ "muc first", "Indicate only the first new message in each room in the console." },
{ "muc mention", "Indicate only messages in which you have beeen mentioned in the console." },
{ "muc none", "Do not show any new chat room messages in the console window." },
{ "private all", "Indicate all new private room messages in the console." },
{ "private first", "Indicate only the first private room message in the console." },

View File

@ -5153,15 +5153,19 @@ cmd_beep(ProfWin* window, const char* const command, gchar** args)
gboolean
cmd_console(ProfWin* window, const char* const command, gchar** args)
{
if ((g_strcmp0(args[0], "chat") != 0) && (g_strcmp0(args[0], "muc") != 0) && (g_strcmp0(args[0], "private") != 0)) {
gboolean isMuc = (g_strcmp0(args[0], "muc") == 0) ;
if ((g_strcmp0(args[0], "chat") != 0) && !isMuc && (g_strcmp0(args[0], "private") != 0)) {
cons_bad_cmd_usage(command);
return TRUE;
}
char* setting = args[1];
gchar* setting = args[1];
if ((g_strcmp0(setting, "all") != 0) && (g_strcmp0(setting, "first") != 0) && (g_strcmp0(setting, "none") != 0)) {
cons_bad_cmd_usage(command);
return TRUE;
if ( !(isMuc && (g_strcmp0(setting, "mention") == 0))) {
cons_bad_cmd_usage(command);
return TRUE;
}
}
if (g_strcmp0(args[0], "chat") == 0) {

View File

@ -344,6 +344,11 @@ cons_show_incoming_room_message(const char* const nick, const char* const room,
win_println(console, THEME_INCOMING, "-", "<< room message: %s (win %d)", room, ui_index);
cons_alert(window);
}
} else if (g_strcmp0(muc_show, "mention") == 0) {
if (mention) {
win_println(console, THEME_MENTION, "-", "<< room mention: %s in %s (win %d)", nick, room, ui_index);
cons_alert(window);
}
}
g_free(muc_show);
}