1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-30 23:06:38 +02:00

Set unread marker for IRC server/channels/pv buffers when using /away command

This commit is contained in:
Sebastien Helleu
2008-09-30 15:39:25 +02:00
parent 9fa560300f
commit 12421a67da
5 changed files with 32 additions and 15 deletions
+15
View File
@@ -505,6 +505,17 @@ gui_buffer_set_highlight_tags (struct t_gui_buffer *buffer,
}
}
/*
* gui_buffer_set_unread: set unread marker for a buffer
*/
void
gui_buffer_set_unread (struct t_gui_buffer *buffer)
{
if (buffer->type == GUI_BUFFER_TYPE_FORMATED)
buffer->last_read_line = buffer->last_line;
}
/*
* gui_buffer_set: set a buffer property
*/
@@ -537,6 +548,10 @@ gui_buffer_set (struct t_gui_buffer *buffer, const char *property,
gui_hotlist_add (buffer, number, NULL, 1);
}
}
else if (string_strcasecmp (property, "unread") == 0)
{
gui_buffer_set_unread (buffer);
}
if (!buffer)
return;
+1
View File
@@ -207,6 +207,7 @@ extern void gui_buffer_set_highlight_words (struct t_gui_buffer *buffer,
const char *new_highlight_words);
extern void gui_buffer_set_highlight_tags (struct t_gui_buffer *buffer,
const char *new_highlight_tags);
extern void gui_buffer_set_unread (struct t_gui_buffer *buffer);
extern void gui_buffer_set (struct t_gui_buffer *buffer, const char *property,
void *value);
extern struct t_gui_buffer *gui_buffer_search_main ();
+6 -8
View File
@@ -1373,8 +1373,7 @@ gui_input_set_unread ()
for (ptr_buffer = gui_buffers; ptr_buffer;
ptr_buffer = ptr_buffer->next_buffer)
{
if (ptr_buffer->type == GUI_BUFFER_TYPE_FORMATED)
ptr_buffer->last_read_line = ptr_buffer->last_line;
gui_buffer_set_unread (ptr_buffer);
}
/* refresh all windows */
@@ -1388,12 +1387,11 @@ gui_input_set_unread ()
void
gui_input_set_unread_current_buffer ()
{
if (gui_current_window
&& (gui_current_window->buffer->type == GUI_BUFFER_TYPE_FORMATED))
gui_current_window->buffer->last_read_line = gui_current_window->buffer->last_line;
/* refresh all windows */
gui_window_redraw_buffer (gui_current_window->buffer);
if (gui_current_window)
{
gui_buffer_set_unread (gui_current_window->buffer);
gui_window_redraw_buffer (gui_current_window->buffer);
}
}
/*
+1 -1
View File
@@ -209,7 +209,7 @@ irc_buffer_split_server ()
if (irc_buffer_servers)
{
weechat_buffer_set (irc_buffer_servers, "key_unbind_meta-s", NULL);
weechat_buffer_set (irc_buffer_servers, "key_unbind_meta-s", "");
}
for (ptr_server = irc_servers; ptr_server;
+9 -6
View File
@@ -256,6 +256,7 @@ irc_command_away_server (struct t_irc_server *server, const char *arguments)
{
char *string, buffer[4096];
time_t time_now, elapsed;
struct t_irc_channel *ptr_channel;
if (!server)
return;
@@ -291,14 +292,16 @@ irc_command_away_server (struct t_irc_server *server, const char *arguments)
free (string);
}
irc_server_set_away (server, server->nick, 1);
/*for (ptr_window = gui_windows; ptr_window;
ptr_window = ptr_window->next_window)
/* reset "unread" indicator on server and channels/pv buffers */
if (!weechat_config_boolean (irc_config_look_one_server_buffer))
weechat_buffer_set (server->buffer, "unread", "");
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
if (strcmp (ptr_window->buffer->category, server->name) == 0)
ptr_window->buffer->last_read_line =
ptr_window->buffer->last_line;
weechat_buffer_set (ptr_channel->buffer, "unread", "");
}
*/
weechat_printf (NULL, "set unread");
}
else
{