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$
 
 /*
  * $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 ***
  *
  * 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"
 
 #include <malloc.h>
 #include "clients.h"
 
-static void
+void
 client_msg (IPC_Msg * m, Context * c)
 {
   switch (m->hdr.type)
 client_msg (IPC_Msg * m, Context * c)
 {
   switch (m->hdr.type)
index 4a3fdcafa44836b8417ff16f0bb49b21cfcfc504..7c648f3d478ba6e05c9d24f282ac24f9e5a67093 100644 (file)
@@ -11,6 +11,9 @@ static char rcsid[] =
 
 /*
  * $Log$
 
 /*
  * $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 ***
  *
  * 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;
         }
           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);
       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$
 
 /*
  * $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 ***
  *
  * 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;
 
 
   KeyDis_IPC *t = (KeyDis_IPC *) _t;
 
+  vt102_resize(c,p);
   ipc_msg_send_setsize (t->s,p);
 
   return 0;
   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;
 
 {
   KeyDis_IPC *t = (KeyDis_IPC *) _t;
 
+  vt102_reset(c);
   ipc_msg_send_reset (t->s);
 
   return 0;
   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 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[];
 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$
 
 /*
  * $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 ***
  *
  * 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)
 {
 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;
 
   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$
 
 /*
  * $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 ***
  *
  * 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;
 }
 
   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)
 {
 
 void vt102_do_resize(Context *c)
 {
 
@@ -417,6 +436,9 @@ VT102 *v=c->v;
 
          if (c->t)
                tty_winch(c->t,v->current_size);
 
          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
     }
 
 #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
 }
 
 void
@@ -2092,9 +2105,10 @@ vt102_set_ansi (VT102 * v, int ansi)
 
 void vt102_resize(Context *c,CRT_Pos size)
 {
 
 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.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;
 
       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
 .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.
 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
 When the terminal device reports receive errors 
 .I sympathy 
 adds additional information to the log. It reports the character sequence reporting the error