From 9a70b588086552c2f8a32b283061322426f62e84 Mon Sep 17 00:00:00 2001 From: james <> Date: Thu, 28 Feb 2008 12:12:25 +0000 Subject: *** empty log message *** --- apps/clients.c | 9 +++++++++ src/keydis.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/tty.c | 9 +++++++++ src/vt102.c | 5 +++++ 4 files changed, 75 insertions(+) diff --git a/apps/clients.c b/apps/clients.c index 598121e..c75c984 100644 --- a/apps/clients.c +++ b/apps/clients.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.12 2008/02/28 12:12:24 james + * *** empty log message *** + * * Revision 1.11 2008/02/23 11:48:51 james * *** empty log message *** * @@ -85,6 +88,12 @@ client_msg (IPC_Msg * m, Context * c) case IPC_MSG_TYPE_HANGUP: tty_hangup (c->t); break; + case IPC_MSG_TYPE_SETSIZE: + vt102_resize(c,m->setsize.winsize); + break; + case IPC_MSG_TYPE_RESET: + vt102_reset(c); + break; default: fprintf (stderr, "Unhandeled message type %d\n", m->hdr.type); } diff --git a/src/keydis.c b/src/keydis.c index 9a7bd45..27140ec 100644 --- a/src/keydis.c +++ b/src/keydis.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.6 2008/02/28 12:12:25 james + * *** empty log message *** + * * Revision 1.5 2008/02/23 11:48:37 james * *** empty log message *** * @@ -116,6 +119,30 @@ keydis_ipc_hangup (KeyDis * _t, Context * c) return 0; } + +static int +keydis_ipc_set_size (KeyDis * _t, Context * c,int w,int h) +{ +CRT_Pos p={w,h}; + + KeyDis_IPC *t = (KeyDis_IPC *) _t; + + ipc_msg_send_setsize (t->s,p); + + return 0; +} + + +static int +keydis_ipc_reset (KeyDis * _t, Context * c) +{ + KeyDis_IPC *t = (KeyDis_IPC *) _t; + + ipc_msg_send_reset (t->s); + + return 0; +} + static int keydis_vt102_key (KeyDis * _t, Context * c, int key) { @@ -179,6 +206,27 @@ keydis_vt102_hangup (KeyDis * _t, Context * c) return 0; } +static int +keydis_vt102_set_size (KeyDis * _t, Context * c,int w, int h) +{ + KeyDis_VT102 *t = (KeyDis_VT102 *) _t; + CRT_Pos p={w,h}; + + vt102_resize(c,p); + + return 0; +} + +static int +keydis_vt102_reset (KeyDis * _t, Context * c) +{ + KeyDis_VT102 *t = (KeyDis_VT102 *) _t; + + vt102_reset (c); + + return 0; +} + KeyDis * @@ -192,6 +240,8 @@ keydis_vt102_new (void) t->set_flow = keydis_vt102_set_flow; t->set_ansi = keydis_vt102_set_ansi; t->hangup = keydis_vt102_hangup; + t->set_size = keydis_vt102_set_size; + t->reset = keydis_vt102_reset; return (KeyDis *) t; } @@ -207,6 +257,8 @@ keydis_ipc_new (Socket * s) t->set_flow = keydis_ipc_set_flow; t->set_ansi = keydis_ipc_set_ansi; t->hangup = keydis_ipc_hangup; + t->set_size = keydis_ipc_set_size; + t->reset = keydis_ipc_reset; t->s = s; return (KeyDis *) t; } diff --git a/src/tty.c b/src/tty.c index 316133b..e165dd5 100644 --- a/src/tty.c +++ b/src/tty.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.16 2008/02/28 12:12:25 james + * *** empty log message *** + * * Revision 1.15 2008/02/28 00:10:44 james * *** empty log message *** * @@ -318,6 +321,12 @@ tty_set_flow (TTY * t, int flow) } +void tty_winch(TTY *y,CRT_Pos p) +{ +//FIXME: + +} + void tty_hangup (TTY * t) { diff --git a/src/vt102.c b/src/vt102.c index f1e00e8..d94bc4d 100644 --- a/src/vt102.c +++ b/src/vt102.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.50 2008/02/28 12:12:25 james + * *** empty log message *** + * * Revision 1.49 2008/02/28 11:27:48 james * *** empty log message *** * @@ -2090,6 +2093,8 @@ vt102_set_ansi (VT102 * v, int ansi) void vt102_resize(Context *c,CRT_Pos size) { + if (!size.x) size.x=c->v->current_size.x; + if (!size.y) size.x=c->v->current_size.y; if (size.x < 1) size.x = 1; -- cgit v1.2.3