chiark / gitweb /
*** empty log message ***
authorjames <james>
Thu, 28 Feb 2008 16:37:16 +0000 (16:37 +0000)
committerjames <james>
Thu, 28 Feb 2008 16:37:16 +0000 (16:37 +0000)
apps/clients.c
apps/mainloop.c
src/keydis.c
src/prototypes.h
src/tty.c
src/vt102.c
sympathy.1

index c75c9841e69c4db5b46ef8f5dd137c7de32df88e..a4b5fce562f25ce2dd434563eeab0d3f5cd74e9c 100644 (file)
@@ -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 <malloc.h>
 #include "clients.h"
 
-static void
+void
 client_msg (IPC_Msg * m, Context * c)
 {
   switch (m->hdr.type)
index 4a3fdcafa44836b8417ff16f0bb49b21cfcfc504..7c648f3d478ba6e05c9d24f282ac24f9e5a67093 100644 (file)
@@ -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);
index 27140ec77d4d9108995fe595d50a31b9c61c38d3..3aed96e9f5c40ef90171f121e288cc2115ccb03f 100644 (file)
@@ -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;
index 07fd0df17a3c64de659f505d5f9198b8537d1c07..cd4fcd0f25afb1354477cc4b7ba5f852503067a3 100644 (file)
@@ -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[];
index 6090af2ea15972d9f9f32d263ed2112644629346..f27afea2bff68c1990956a3dc80494d0d151fc81 100644 (file)
--- 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);
 }
 
 
index d94bc4d92d1a0946a7f6aa922cb2fd706ca3294a..1d3709bcbb87a0fe02714fbfe502094fcb45a9cf 100644 (file)
@@ -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,"<size now %dx%d>", 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 change to %dx%d requested>", 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;
index 0fbbac211fa821b9d93f0d7683c421a3a0a9bb9d..f7b34b43e0a091efbb32e0e87a7971be0911b291 100644 (file)
@@ -373,8 +373,11 @@ logs certain other events to the file. When the baud\-rate is changed
 .I sympathy
 writes  <baud changed to 19200>. Whenever a modem control line changes state 
 .I sympathy
-appends <Modem lines changed: \fI+/-line\fP ...> to the log. Where \fI+\fP
+appends <Modem lines changed: \fI+/\-line\fP ...> 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 <size now nnnxnnn> 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