mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 14:14:48 +02:00
core: allow value "0" in buffer property "unread" to remove read marker from buffer
This commit is contained in:
@@ -20,6 +20,7 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
|
||||
New features::
|
||||
|
||||
* core: allow value "0" in buffer property "unread" to remove read marker from buffer
|
||||
* core: add command `/allbuf`
|
||||
* core: add command `/hotlist`
|
||||
* core: move some `/input` actions to commands `/allbuf`, `/buffer` and `/hotlist`
|
||||
|
||||
@@ -13785,8 +13785,9 @@ Properties:
|
||||
"1": do not stop completion when command line is updated
|
||||
(global setting, buffer pointer is not used).
|
||||
|
||||
| unread | | -
|
||||
| Set unread marker after last line of buffer.
|
||||
| unread | | empty string or "0"
|
||||
| empty string: set unread marker after last line of buffer +
|
||||
"0": remove unread marker from buffer.
|
||||
|
||||
| display | | "1" or "auto"
|
||||
| "1": switch to this buffer in current window +
|
||||
|
||||
@@ -14084,8 +14084,10 @@ Propriétés :
|
||||
"1" : ne pas arrêter la complétion lorsque la ligne de commande est mise à
|
||||
jour (option globale, le pointeur vers le tampon n'est pas utilisé).
|
||||
|
||||
| unread | | -
|
||||
| Définit le marqueur de données non lues après la dernière ligne du tampon.
|
||||
| unread | | chaîne vide ou "0"
|
||||
| chaîne vide : définit le marqueur de données non lues après la dernière ligne
|
||||
du tampon +
|
||||
"0" : supprime le marqueur de données non lues du tampon.
|
||||
|
||||
| display | | "1" ou "auto"
|
||||
| "1" : basculer vers ce tampon dans la fenêtre active +
|
||||
|
||||
@@ -14427,8 +14427,10 @@ Properties:
|
||||
"1": do not stop completion when command line is updated
|
||||
(impostazione globale, il puntatore al buffer non è utilizzato).
|
||||
|
||||
| unread | | -
|
||||
| Imposta l'evidenziatore di lettura dopo l'ultima riga del buffer.
|
||||
// TRANSLATION MISSING
|
||||
| unread | | empty string or "0"
|
||||
| empty string: set unread marker after last line of buffer +
|
||||
"0": remove unread marker from buffer.
|
||||
|
||||
| display | | "1" oppure "auto"
|
||||
| "1": passa a questo buffer nella finestra corrente +
|
||||
|
||||
@@ -13936,8 +13936,10 @@ void weechat_buffer_set (struct t_gui_buffer *buffer, const char *property,
|
||||
"1": コマンドラインが更新された際に補完を継続する
|
||||
(グローバル設定、バッファへのポインタは使われない)
|
||||
|
||||
| unread | | -
|
||||
| バッファの最後の行の後に未読マーカーを設定
|
||||
// TRANSLATION MISSING
|
||||
| unread | | empty string or "0"
|
||||
| empty string: set unread marker after last line of buffer +
|
||||
"0": remove unread marker from buffer.
|
||||
|
||||
| display | | "1" または "auto"
|
||||
| "1": 指定したバッファを現在のウィンドウに表示 +
|
||||
|
||||
@@ -13356,8 +13356,10 @@ void weechat_buffer_set (struct t_gui_buffer *buffer, const char *property,
|
||||
"1": довршавање се не зауставља када се ажурира командна линија
|
||||
(глобално подешавање, не користи се показивач на бафер).
|
||||
|
||||
| unread | | -
|
||||
| Поставља маркер непрочитаних линија након последње линије бафера.
|
||||
// TRANSLATION MISSING
|
||||
| unread | | empty string or "0"
|
||||
| empty string: set unread marker after last line of buffer +
|
||||
"0": remove unread marker from buffer.
|
||||
|
||||
| display | | "1" или "auto"
|
||||
| "1": прелазак на овај бафер у текућем прозору +
|
||||
|
||||
+22
-8
@@ -2107,21 +2107,34 @@ gui_buffer_set_input_multiline (struct t_gui_buffer *buffer,
|
||||
|
||||
/*
|
||||
* Sets unread marker for a buffer.
|
||||
*
|
||||
* If remove_marker == 1, then unread marker is removed, otherwise it's set
|
||||
* after the last line.
|
||||
*/
|
||||
|
||||
void
|
||||
gui_buffer_set_unread (struct t_gui_buffer *buffer)
|
||||
gui_buffer_set_unread (struct t_gui_buffer *buffer, int remove_marker)
|
||||
{
|
||||
int refresh;
|
||||
|
||||
if (!buffer || (buffer->type != GUI_BUFFER_TYPE_FORMATTED))
|
||||
return;
|
||||
|
||||
refresh = ((buffer->lines->last_read_line != NULL)
|
||||
&& (buffer->lines->last_read_line != buffer->lines->last_line));
|
||||
|
||||
buffer->lines->last_read_line = buffer->lines->last_line;
|
||||
buffer->lines->first_line_not_read = (buffer->lines->last_read_line) ? 0 : 1;
|
||||
if (remove_marker)
|
||||
{
|
||||
/* remove unread marker */
|
||||
refresh = (buffer->lines->last_read_line != NULL);
|
||||
buffer->lines->last_read_line = NULL;
|
||||
buffer->lines->first_line_not_read = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* set unread marker after last line */
|
||||
refresh = ((buffer->lines->last_read_line != NULL)
|
||||
&& (buffer->lines->last_read_line != buffer->lines->last_line));
|
||||
buffer->lines->last_read_line = buffer->lines->last_line;
|
||||
buffer->lines->first_line_not_read = (buffer->lines->last_read_line) ? 0 : 1;
|
||||
}
|
||||
|
||||
if (refresh)
|
||||
gui_buffer_ask_chat_refresh (buffer, 2);
|
||||
@@ -2135,7 +2148,7 @@ void
|
||||
gui_buffer_set (struct t_gui_buffer *buffer, const char *property,
|
||||
const char *value)
|
||||
{
|
||||
int gui_chat_mute_old;
|
||||
int gui_chat_mute_old, remove_marker;
|
||||
long number;
|
||||
char *error;
|
||||
const char *ptr_notify;
|
||||
@@ -2182,7 +2195,8 @@ gui_buffer_set (struct t_gui_buffer *buffer, const char *property,
|
||||
/* properties that need a buffer */
|
||||
if (string_strcasecmp (property, "unread") == 0)
|
||||
{
|
||||
gui_buffer_set_unread (buffer);
|
||||
remove_marker = (strcmp (value, "0") == 0);
|
||||
gui_buffer_set_unread (buffer, remove_marker);
|
||||
}
|
||||
else if (string_strcasecmp (property, "display") == 0)
|
||||
{
|
||||
|
||||
@@ -330,7 +330,8 @@ extern void gui_buffer_set_highlight_tags (struct t_gui_buffer *buffer,
|
||||
const char *new_tags);
|
||||
extern void gui_buffer_set_hotlist_max_level_nicks (struct t_gui_buffer *buffer,
|
||||
const char *new_hotlist_max_level_nicks);
|
||||
extern void gui_buffer_set_unread (struct t_gui_buffer *buffer);
|
||||
extern void gui_buffer_set_unread (struct t_gui_buffer *buffer,
|
||||
int remove_marker);
|
||||
extern void gui_buffer_set (struct t_gui_buffer *buffer, const char *property,
|
||||
const char *value);
|
||||
extern void gui_buffer_set_pointer (struct t_gui_buffer *buffer,
|
||||
|
||||
Reference in New Issue
Block a user