From a42924fd0dd9843cb1b0809f61b018d31e10042f Mon Sep 17 00:00:00 2001 From: james Date: Thu, 28 Feb 2008 16:37:16 +0000 Subject: [PATCH] *** empty log message *** --- apps/clients.c | 5 ++++- apps/mainloop.c | 4 +++- src/keydis.c | 5 +++++ src/prototypes.h | 10 +++++----- src/tty.c | 11 ++++------- src/vt102.c | 36 +++++++++++++++++++++++++----------- sympathy.1 | 5 ++++- 7 files changed, 50 insertions(+), 26 deletions(-) diff --git a/apps/clients.c b/apps/clients.c index c75c984..a4b5fce 100644 --- a/apps/clients.c +++ b/apps/clients.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.13 2008/02/28 16:37:16 james + * *** empty log message *** + * * Revision 1.12 2008/02/28 12:12:24 james * *** empty log message *** * @@ -56,7 +59,7 @@ static char rcsid[] = "$Id$"; #include #include "clients.h" -static void +void client_msg (IPC_Msg * m, Context * c) { switch (m->hdr.type) diff --git a/apps/mainloop.c b/apps/mainloop.c index 4a3fdca..7c648f3 100644 --- a/apps/mainloop.c +++ b/apps/mainloop.c @@ -11,6 +11,9 @@ static char rcsid[] = /* * $Log$ + * Revision 1.19 2008/02/28 16:37:16 james + * *** empty log message *** + * * Revision 1.18 2008/02/28 11:27:48 james * *** empty log message *** * @@ -389,7 +392,6 @@ msg_from_server (ANSI * a, IPC_Msg * m, Context * c) a->one_shot (a, &c->v->crt); return 1; } - //FIXME HTML hook break; case IPC_MSG_TYPE_TERM: tty_parse (c, m->term.term, m->term.len); diff --git a/src/keydis.c b/src/keydis.c index 27140ec..3aed96e 100644 --- a/src/keydis.c +++ b/src/keydis.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.7 2008/02/28 16:37:16 james + * *** empty log message *** + * * Revision 1.6 2008/02/28 12:12:25 james * *** empty log message *** * @@ -127,6 +130,7 @@ CRT_Pos p={w,h}; KeyDis_IPC *t = (KeyDis_IPC *) _t; + vt102_resize(c,p); ipc_msg_send_setsize (t->s,p); return 0; @@ -138,6 +142,7 @@ keydis_ipc_reset (KeyDis * _t, Context * c) { KeyDis_IPC *t = (KeyDis_IPC *) _t; + vt102_reset(c); ipc_msg_send_reset (t->s); return 0; diff --git a/src/prototypes.h b/src/prototypes.h index 07fd0df..cd4fcd0 100644 --- a/src/prototypes.h +++ b/src/prototypes.h @@ -174,9 +174,9 @@ extern UTF8 *utf8_new(void); extern int utf8_encode(char *ptr, int ch); extern void utf8_emit(TTY *t, int ch); /* vt102_charset.c */ -extern uint32_t vt102_charset_c0[128]; -extern uint32_t vt102_charset_us[128]; -extern uint32_t vt102_charset_uk[128]; -extern uint32_t vt102_charset_vt52[128]; -extern uint32_t vt102_charset_gl[128]; +extern uint32_t vt102_charset_c0[VT102_CHARSET_SIZE]; +extern uint32_t vt102_charset_us[VT102_CHARSET_SIZE]; +extern uint32_t vt102_charset_uk[VT102_CHARSET_SIZE]; +extern uint32_t vt102_charset_vt52[VT102_CHARSET_SIZE]; +extern uint32_t vt102_charset_gl[VT102_CHARSET_SIZE]; extern uint32_t *charset_from_csid[]; diff --git a/src/tty.c b/src/tty.c index 6090af2..f27afea 100644 --- a/src/tty.c +++ b/src/tty.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.18 2008/02/28 16:37:16 james + * *** empty log message *** + * * Revision 1.17 2008/02/28 15:37:06 james * *** empty log message *** * @@ -324,12 +327,6 @@ tty_set_flow (TTY * t, int flow) } -void tty_winch(TTY *y,CRT_Pos p) -{ -//FIXME: - -} - void tty_hangup (TTY * t) { @@ -351,7 +348,7 @@ void tty_winch(TTY * t,CRT_Pos size) sz.ws_col=size.x; sz.ws_row=size.y; - ioctl (t->wfd, TIOCGWINSZ, &sz); + ioctl (t->wfd, TIOCSWINSZ, &sz); } diff --git a/src/vt102.c b/src/vt102.c index d94bc4d..1d3709b 100644 --- a/src/vt102.c +++ b/src/vt102.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.51 2008/02/28 16:37:16 james + * *** empty log message *** + * * Revision 1.50 2008/02/28 12:12:25 james * *** empty log message *** * @@ -399,7 +402,23 @@ in_margins (VT102 * v, CRT_Pos p) return 1; } +void vt102_crt_update(Context *c) +{ +VT102 *v=c->v; + + v->crt.pos = v->pos; + v->crt.hide_cursor = + v->private_modes[VT102_PRIVATE_MODE_SHOW_CURSOR] ? 0 : 1; + + if (v->current_line.y != v->pos.y) + { + vt102_log_line (c, v->current_line.y); + v->current_line = v->pos; + } + if (c->d) + cmd_show_status (c->d, c); +} void vt102_do_resize(Context *c) { @@ -417,6 +436,9 @@ VT102 *v=c->v; if (c->t) tty_winch(c->t,v->current_size); + + log_f(c->l,"", v->current_size.x,v->current_size.y); +vt102_crt_update(c); } @@ -1834,18 +1856,9 @@ vt102_parse_char (Context * c, int ch) #endif } - v->crt.pos = v->pos; - v->crt.hide_cursor = - v->private_modes[VT102_PRIVATE_MODE_SHOW_CURSOR] ? 0 : 1; + vt102_crt_update(c); - if (v->current_line.y != v->pos.y) - { - vt102_log_line (c, v->current_line.y); - v->current_line = v->pos; - } - if (c->d) - cmd_show_status (c->d, c); } void @@ -2092,9 +2105,10 @@ vt102_set_ansi (VT102 * v, int ansi) void vt102_resize(Context *c,CRT_Pos size) { + log_f(c->l,"", size.x,size.y); if (!size.x) size.x=c->v->current_size.x; - if (!size.y) size.x=c->v->current_size.y; + if (!size.y) size.y=c->v->current_size.y; if (size.x < 1) size.x = 1; diff --git a/sympathy.1 b/sympathy.1 index 0fbbac2..f7b34b4 100644 --- a/sympathy.1 +++ b/sympathy.1 @@ -373,8 +373,11 @@ logs certain other events to the file. When the baud\-rate is changed .I sympathy writes . Whenever a modem control line changes state .I sympathy -appends to the log. Where \fI+\fP +appends to the log. Where \fI+\fP indicates that \fIline\fP was asserted and \fI-\fP indicates that it was de-asserted. +.I Sympathy +writes a message of the form whenever the screen size is +changed, either by escape sequences, or via a user command. When the terminal device reports receive errors .I sympathy adds additional information to the log. It reports the character sequence reporting the error -- 2.30.2