aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjames <>2008-02-28 12:12:25 +0000
committerjames <>2008-02-28 12:12:25 +0000
commit9a70b588086552c2f8a32b283061322426f62e84 (patch)
tree93bb7018b40de04e5a76e47a9cafb214bf34ad55
parente0ace86247de9c0f91cfb87188eff51df5508c7a (diff)
downloadsympathy-9a70b588086552c2f8a32b283061322426f62e84.tar.gz
sympathy-9a70b588086552c2f8a32b283061322426f62e84.tar.bz2
sympathy-9a70b588086552c2f8a32b283061322426f62e84.zip
*** empty log message ***
-rw-r--r--apps/clients.c9
-rw-r--r--src/keydis.c52
-rw-r--r--src/tty.c9
-rw-r--r--src/vt102.c5
4 files changed, 75 insertions, 0 deletions
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;