1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-03 00:03:12 +02:00

Added hotlist option for buffer in plugins API, improved buffer refreshs

This commit is contained in:
Sebastien Helleu
2008-01-06 12:44:54 +01:00
parent 2b7c8eb73b
commit f94b679a4a
36 changed files with 459 additions and 382 deletions
+24 -2
View File
@@ -44,6 +44,7 @@
#include "../gui-input.h"
#include "../gui-history.h"
#include "../gui-nicklist.h"
#include "../gui-status.h"
#include "../gui-window.h"
#include "gui-curses.h"
@@ -161,23 +162,44 @@ gui_main_loop ()
/* execute hook timers */
hook_timer_exec ();
/* refresh needed ? */
if (gui_refresh_screen_needed)
/* refresh window if needed */
if (gui_window_refresh_needed)
gui_window_refresh_screen (0);
/* refresh status bar if needed */
if (gui_status_refresh_needed)
{
gui_status_draw (1);
gui_status_refresh_needed = 0;
}
for (ptr_buffer = gui_buffers; ptr_buffer;
ptr_buffer = ptr_buffer->next_buffer)
{
/* refresh title if needed */
if (ptr_buffer->title_refresh_needed)
{
gui_chat_draw_title (ptr_buffer, 1);
ptr_buffer->title_refresh_needed = 0;
}
/* refresh chat if needed */
if (ptr_buffer->chat_refresh_needed)
{
gui_chat_draw (ptr_buffer, 0);
ptr_buffer->chat_refresh_needed = 0;
}
/* refresh nicklist if needed */
if (ptr_buffer->nicklist_refresh_needed)
{
gui_nicklist_draw (ptr_buffer, 0);
ptr_buffer->nicklist_refresh_needed = 0;
}
/* refresh input if needed */
if (ptr_buffer->input_refresh_needed)
{
gui_input_draw (ptr_buffer, 1);
ptr_buffer->input_refresh_needed = 0;
}
}
/* wait for keyboard or network activity */
+3 -6
View File
@@ -40,11 +40,11 @@
/*
* gui_status_draw: draw status window for a buffer
* gui_status_draw: draw status window
*/
void
gui_status_draw (struct t_gui_buffer *buffer, int erase)
gui_status_draw (int erase)
{
struct t_gui_window *ptr_win;
struct t_gui_hotlist *ptr_hotlist;
@@ -52,9 +52,6 @@ gui_status_draw (struct t_gui_buffer *buffer, int erase)
int x;
int display_name, names_count;
/* make C compiler happy */
(void) buffer;
if (!gui_ok)
return;
@@ -139,7 +136,7 @@ gui_status_draw (struct t_gui_buffer *buffer, int erase)
GUI_COLOR_STATUS_DATA_OTHER);
display_name = ((CONFIG_INTEGER(config_look_hotlist_names_level) & 1) != 0);
break;
case GUI_HOTLIST_MSG:
case GUI_HOTLIST_MESSAGE:
gui_window_set_weechat_color (GUI_CURSES(ptr_win)->win_status,
GUI_COLOR_STATUS_DATA_MSG);
display_name = ((CONFIG_INTEGER(config_look_hotlist_names_level) & 2) != 0);
+11 -14
View File
@@ -46,9 +46,6 @@
#include "gui-curses.h"
int gui_refresh_screen_needed = 0;
/*
* gui_window_get_width: get screen width (terminal width in chars for Curses)
*/
@@ -444,7 +441,7 @@ gui_window_redraw_buffer (struct t_gui_buffer *buffer)
gui_chat_draw (buffer, 1);
if (GUI_CURSES(ptr_win)->win_nick)
gui_nicklist_draw (buffer, 1);
gui_status_draw (buffer, 1);
gui_status_draw (1);
if (CONFIG_BOOLEAN(config_look_infobar))
gui_infobar_draw (buffer, 1);
gui_input_draw (buffer, 1);
@@ -576,7 +573,7 @@ gui_window_page_up (struct t_gui_window *window)
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 1);
gui_status_refresh_needed = 1;
}
}
@@ -618,7 +615,7 @@ gui_window_page_down (struct t_gui_window *window)
window->start_line_pos = 0;
gui_hotlist_remove_buffer (window->buffer);
}
gui_status_draw (window->buffer, 1);
gui_status_refresh_needed = 1;
}
}
@@ -646,7 +643,7 @@ gui_window_scroll_up (struct t_gui_window *window)
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 1);
gui_status_refresh_needed = 1;
}
}
@@ -689,7 +686,7 @@ gui_window_scroll_down (struct t_gui_window *window)
window->start_line_pos = 0;
gui_hotlist_remove_buffer (window->buffer);
}
gui_status_draw (window->buffer, 1);
gui_status_refresh_needed = 1;
}
}
@@ -713,7 +710,7 @@ gui_window_scroll_top (struct t_gui_window *window)
window->start_line = NULL;
window->start_line_pos = 0;
}
gui_status_draw (window->buffer, 1);
gui_status_refresh_needed = 1;
}
}
@@ -738,7 +735,7 @@ gui_window_scroll_bottom (struct t_gui_window *window)
window->start_line_pos = 0;
gui_hotlist_remove_buffer (window->buffer);
}
gui_status_draw (window->buffer, 1);
gui_status_refresh_needed = 1;
}
}
@@ -1308,7 +1305,7 @@ gui_window_refresh_screen (int force)
{
int new_height, new_width;
if (force || (gui_refresh_screen_needed == 1))
if (force || (gui_window_refresh_needed == 1))
{
endwin ();
refresh ();
@@ -1324,8 +1321,8 @@ gui_window_refresh_screen (int force)
}
}
if (!force && (gui_refresh_screen_needed > 0))
gui_refresh_screen_needed--;
if (!force && (gui_window_refresh_needed > 0))
gui_window_refresh_needed--;
}
/*
@@ -1335,7 +1332,7 @@ gui_window_refresh_screen (int force)
void
gui_window_refresh_screen_sigwinch ()
{
gui_refresh_screen_needed = 1;
gui_window_refresh_needed = 1;
//gui_window_refresh_screen (0);
signal (SIGWINCH, &gui_window_refresh_screen_sigwinch);
}
-1
View File
@@ -47,7 +47,6 @@ struct t_gui_curses_objects
};
extern struct t_gui_color gui_weechat_colors[];
extern int gui_refresh_screen_needed;
/* color functions */
extern int gui_color_get_pair (int num_color);