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

Fixed display bugs when many windows are opened

This commit is contained in:
Sebastien Helleu
2005-02-13 19:59:11 +00:00
parent 0473d2c8db
commit b3d66118b4
8 changed files with 40 additions and 8 deletions
+2 -1
View File
@@ -1,12 +1,13 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2005-02-12
ChangeLog - 2005-02-13
Version 0.1.1 (under dev!):
* on server buffer, only server messages are logged
* plugins messages are logged with new config option (log_plugin_msg)
* fixed display bugs when many windows are opened
Version 0.1.0 (2005-02-12):
* improved /window command: now split and merge are ok
+3 -1
View File
@@ -1673,6 +1673,7 @@ gui_window_split_horiz (t_gui_window *window)
/* assign same buffer for new window (top window) */
new_window->buffer = window->buffer;
new_window->buffer->num_displayed++;
gui_switch_to_buffer (window, window->buffer);
@@ -1705,6 +1706,7 @@ gui_window_split_vertic (t_gui_window *window)
/* assign same buffer for new window (right window) */
new_window->buffer = window->buffer;
new_window->buffer->num_displayed++;
gui_switch_to_buffer (window, window->buffer);
@@ -2227,7 +2229,7 @@ gui_add_message (t_gui_buffer *buffer, int type, int color, char *message)
if (pos)
{
pos[0] = '\n';
if ((buffer->num_displayed > 0) && (gui_current_window->sub_lines == 0))
if ((buffer->num_displayed > 0) /*&& (gui_current_window->sub_lines == 0)*/)
{
/*if ((buffer->window->win_chat_cursor_y
+ gui_get_line_num_splits (buffer, buffer->last_line)) >
+3
View File
@@ -337,6 +337,9 @@ gui_infobar_printf (int time_displayed, int color, char *message, ...)
void
gui_window_free (t_gui_window *window)
{
if (window->buffer->num_displayed > 0)
window->buffer->num_displayed--;
/* remove window from windows list */
if (window->prev_window)
window->prev_window->next_window = window->next_window;
+12 -2
View File
@@ -628,6 +628,7 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
t_irc_channel *ptr_channel;
t_irc_nick *ptr_nick;
int nick_is_me;
t_gui_window *ptr_win;
t_gui_buffer *ptr_buffer;
/* no host => we can't identify sender of message! */
@@ -698,9 +699,18 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
{
free (server->nick);
server->nick = strdup (arguments);
gui_draw_buffer_status (gui_current_window->buffer, 1);
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
{
if (ptr_win->buffer->server == server)
gui_draw_buffer_input (ptr_win->buffer, 1);
}
}
else
{
gui_draw_buffer_status (gui_current_window->buffer, 1);
gui_draw_buffer_input (gui_current_window->buffer, 1);
}
gui_draw_buffer_status (gui_current_window->buffer, 1);
gui_draw_buffer_input (gui_current_window->buffer, 1);
return 0;
}
+2 -1
View File
@@ -1,12 +1,13 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2005-02-12
ChangeLog - 2005-02-13
Version 0.1.1 (under dev!):
* on server buffer, only server messages are logged
* plugins messages are logged with new config option (log_plugin_msg)
* fixed display bugs when many windows are opened
Version 0.1.0 (2005-02-12):
* improved /window command: now split and merge are ok
+3 -1
View File
@@ -1673,6 +1673,7 @@ gui_window_split_horiz (t_gui_window *window)
/* assign same buffer for new window (top window) */
new_window->buffer = window->buffer;
new_window->buffer->num_displayed++;
gui_switch_to_buffer (window, window->buffer);
@@ -1705,6 +1706,7 @@ gui_window_split_vertic (t_gui_window *window)
/* assign same buffer for new window (right window) */
new_window->buffer = window->buffer;
new_window->buffer->num_displayed++;
gui_switch_to_buffer (window, window->buffer);
@@ -2227,7 +2229,7 @@ gui_add_message (t_gui_buffer *buffer, int type, int color, char *message)
if (pos)
{
pos[0] = '\n';
if ((buffer->num_displayed > 0) && (gui_current_window->sub_lines == 0))
if ((buffer->num_displayed > 0) /*&& (gui_current_window->sub_lines == 0)*/)
{
/*if ((buffer->window->win_chat_cursor_y
+ gui_get_line_num_splits (buffer, buffer->last_line)) >
+3
View File
@@ -337,6 +337,9 @@ gui_infobar_printf (int time_displayed, int color, char *message, ...)
void
gui_window_free (t_gui_window *window)
{
if (window->buffer->num_displayed > 0)
window->buffer->num_displayed--;
/* remove window from windows list */
if (window->prev_window)
window->prev_window->next_window = window->next_window;
+12 -2
View File
@@ -628,6 +628,7 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
t_irc_channel *ptr_channel;
t_irc_nick *ptr_nick;
int nick_is_me;
t_gui_window *ptr_win;
t_gui_buffer *ptr_buffer;
/* no host => we can't identify sender of message! */
@@ -698,9 +699,18 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
{
free (server->nick);
server->nick = strdup (arguments);
gui_draw_buffer_status (gui_current_window->buffer, 1);
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
{
if (ptr_win->buffer->server == server)
gui_draw_buffer_input (ptr_win->buffer, 1);
}
}
else
{
gui_draw_buffer_status (gui_current_window->buffer, 1);
gui_draw_buffer_input (gui_current_window->buffer, 1);
}
gui_draw_buffer_status (gui_current_window->buffer, 1);
gui_draw_buffer_input (gui_current_window->buffer, 1);
return 0;
}