/*
* $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 ***
*
#include <malloc.h>
#include "clients.h"
-static void
+void
client_msg (IPC_Msg * m, Context * c)
{
switch (m->hdr.type)
/*
* $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 ***
*
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);
/*
* $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 ***
*
KeyDis_IPC *t = (KeyDis_IPC *) _t;
+ vt102_resize(c,p);
ipc_msg_send_setsize (t->s,p);
return 0;
{
KeyDis_IPC *t = (KeyDis_IPC *) _t;
+ vt102_reset(c);
ipc_msg_send_reset (t->s);
return 0;
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[];
/*
* $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 ***
*
}
-void tty_winch(TTY *y,CRT_Pos p)
-{
-//FIXME:
-
-}
-
void
tty_hangup (TTY * t)
{
sz.ws_col=size.x;
sz.ws_row=size.y;
- ioctl (t->wfd, TIOCGWINSZ, &sz);
+ ioctl (t->wfd, TIOCSWINSZ, &sz);
}
/*
* $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 ***
*
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)
{
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);
}
#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 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;
.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