From 938e9c13cd3c81e0a0d7a515c5205954b8a94b93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Mon, 14 Aug 2023 11:01:50 +0200 Subject: [PATCH] irc: add local variable "filter" on /list buffer --- src/plugins/irc/irc-list.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/plugins/irc/irc-list.c b/src/plugins/irc/irc-list.c index e4383b449..021886868 100644 --- a/src/plugins/irc/irc-list.c +++ b/src/plugins/irc/irc-list.c @@ -111,6 +111,21 @@ irc_list_free_cb (void *data, struct t_arraylist *arraylist, void *pointer) } } +/* + * Sets the local variable "filter" in the list buffer. + */ + +void +irc_list_buffer_set_localvar_filter (struct t_gui_buffer *buffer, + struct t_irc_server *server) +{ + if (!buffer || !server) + return; + + weechat_buffer_set (buffer, "localvar_set_filter", + (server->list->filter) ? server->list->filter : "*"); +} + /* * Sets filter for list of channels. */ @@ -126,6 +141,8 @@ irc_list_set_filter (struct t_irc_server *server, const char *filter) server->list->filter = (filter && (strcmp (filter, "*") != 0)) ? strdup (filter) : NULL; + + irc_list_buffer_set_localvar_filter (server->list->buffer, server); } /* @@ -963,6 +980,7 @@ irc_list_create_buffer (struct t_irc_server *server) weechat_hashtable_free (buffer_props); irc_list_buffer_set_keys (buffer); + irc_list_buffer_set_localvar_filter (buffer, server); if (weechat_buffer_get_integer (buffer, "layout_number") < 1) {