1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-29 14:26:39 +02:00

buflist: add variables ${number_zero} and ${number_zero2} (zero-padded buffer number)

This commit is contained in:
Sébastien Helleu
2025-05-04 09:28:03 +02:00
parent 36be7ac1ff
commit 5b62cb6451
17 changed files with 139 additions and 76 deletions
+15 -3
View File
@@ -317,10 +317,10 @@ buflist_bar_item_buflist_cb (const void *pointer, void *data,
struct t_gui_hotlist *ptr_hotlist;
void *ptr_server, *ptr_channel;
char **buflist, *str_buflist, *condition;
char str_format_number[32], str_format_number_empty[32];
char str_format_number[32], str_format_number_zero[32], str_format_number_empty[32];
char str_nick_prefix[32], str_color_nick_prefix[32];
char str_number[32], str_number2[32], *line, **hotlist, *str_hotlist;
char str_hotlist_count[32];
char str_number[32], str_number2[32], str_number_zero[32], str_number_zero2[32];
char *line, **hotlist, *str_hotlist, str_hotlist_count[32];
const char *ptr_format, *ptr_format_current, *ptr_format_indent;
const char *ptr_name, *ptr_type, *ptr_nick, *ptr_nick_prefix;
const char *ptr_hotlist_format, *ptr_hotlist_priority;
@@ -371,6 +371,8 @@ buflist_bar_item_buflist_cb (const void *pointer, void *data,
weechat_hdata_integer (buflist_hdata_buffer, ptr_buffer, "number"));
snprintf (str_format_number, sizeof (str_format_number),
"%%%dd", length_max_number);
snprintf (str_format_number_zero, sizeof (str_format_number_zero),
"%%0%dd", length_max_number);
snprintf (str_format_number_empty, sizeof (str_format_number_empty),
"%%-%ds", length_max_number);
@@ -419,6 +421,8 @@ buflist_bar_item_buflist_cb (const void *pointer, void *data,
{
snprintf (str_number, sizeof (str_number),
str_format_number, number);
snprintf (str_number_zero, sizeof (str_number_zero),
str_format_number_zero, number);
weechat_hashtable_set (buflist_hashtable_extra_vars,
"number_displayed", "1");
}
@@ -426,11 +430,15 @@ buflist_bar_item_buflist_cb (const void *pointer, void *data,
{
snprintf (str_number, sizeof (str_number),
str_format_number_empty, " ");
snprintf (str_number_zero, sizeof (str_number_zero),
str_format_number_empty, " ");
weechat_hashtable_set (buflist_hashtable_extra_vars,
"number_displayed", "0");
}
snprintf (str_number2, sizeof (str_number2),
str_format_number, number);
snprintf (str_number_zero2, sizeof (str_number_zero2),
str_format_number_zero, number);
/* buffer merged */
ptr_buffer_prev = weechat_hdata_move (buflist_hdata_buffer,
@@ -518,6 +526,10 @@ buflist_bar_item_buflist_cb (const void *pointer, void *data,
"number", str_number);
weechat_hashtable_set (buflist_hashtable_extra_vars,
"number2", str_number2);
weechat_hashtable_set (buflist_hashtable_extra_vars,
"number_zero", str_number_zero);
weechat_hashtable_set (buflist_hashtable_extra_vars,
"number_zero2", str_number_zero2);
weechat_hashtable_set (buflist_hashtable_extra_vars,
"format_number",
weechat_config_string (
+2
View File
@@ -165,6 +165,8 @@ buflist_command_init (void)
"buffers with same number"),
N_(" - ${number2}: indented number, for example \" 1\" if there "
"are between 10 and 99 buffers"),
N_(" - ${number_zero}: like ${number} but the number is zero-padded"),
N_(" - ${number_zero2}: like ${number2} but the number is zero-padded"),
N_(" - ${number_displayed}: \"1\" if the number is displayed, "
"otherwise \"0\""),
N_(" - ${indent}: indentation for name (channel, private and list "