Add a "Config *" argument to term_init(), and use that instead of the global
[u/mdw/putty] / mac / macterm.c
index 73ce742..e2e33de 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: macterm.c,v 1.3 2002/11/19 23:59:27 ben Exp $ */
+/* $Id: macterm.c,v 1.8 2002/11/23 19:01:01 ben Exp $ */
 /*
  * Copyright (c) 1999 Simon Tatham
  * Copyright (c) 1999, 2002 Ben Harris
@@ -152,7 +152,7 @@ void mac_newsession(void) {
        s->window = GetNewWindow(wTerminal, NULL, (WindowPtr)-1);
     SetWRefCon(s->window, (long)s);
     s->scrollbar = GetNewControl(cVScroll, s->window);
-    s->term = term_init(s);
+    s->term = term_init(&s->cfg, s);
 
     s->logctx = log_init(s);
     term_provide_logctx(s->term, s->logctx);
@@ -233,8 +233,8 @@ static void mac_initpalette(Session *s) {
      * Palette manager documentation suggests inhibiting all tolerant colours
      * on greyscale displays.
      */
-#define PM_NORMAL      pmTolerant | pmInhibitC2 |                      \
-                       pmInhibitG2 | pmInhibitG4 | pmInhibitG8 | pmInhibitC2
+#define PM_NORMAL      ( pmTolerant | pmInhibitC2 |                    \
+                         pmInhibitG2 | pmInhibitG4 | pmInhibitG8 )
 #define PM_TOLERANCE   0x2000
     s->palette = NewPalette(22, NULL, PM_NORMAL, PM_TOLERANCE);
     if (s->palette == NULL)
@@ -246,7 +246,7 @@ static void mac_initpalette(Session *s) {
                  PM_NORMAL &~ pmInhibitC2, PM_TOLERANCE);
     SetEntryUsage(s->palette, DEFAULT_FG_BOLD,
                  PM_NORMAL &~ pmInhibitC2, PM_TOLERANCE);
-    SetEntryUsage(s->palette, CURSOR_FG,
+    SetEntryUsage(s->palette, CURSOR_BG,
                  PM_NORMAL &~ pmInhibitC2, PM_TOLERANCE);
     palette_reset(s);
 }
@@ -554,7 +554,11 @@ void mac_keyterm(WindowPtr window, EventRecord *event) {
 
     s = (Session *)GetWRefCon(window);
     len = mac_keytrans(s, event, buf);
-    s->back->send(s, (char *)buf, len);
+    ldisc_send(s->ldisc, (char *)buf, len, 1);
+    ObscureCursor();
+    term_seen_key_event(s->term);
+    term_out(s->term);
+    term_update(s->term);
 }
 
 static int mac_keytrans(Session *s, EventRecord *event,
@@ -729,7 +733,7 @@ void mac_activateterm(WindowPtr window, Boolean active) {
     Session *s;
 
     s = (Session *)GetWRefCon(window);
-    s->has_focus = active;
+    s->term->has_focus = active;
     term_update(s->term);
     if (active)
        ShowControl(s->scrollbar);
@@ -1203,8 +1207,6 @@ static void real_palette_set(Session *s, int n, int r, int g, int b)
     col.red   = r * 0x0101;
     col.green = g * 0x0101;
     col.blue  = b * 0x0101;
-    fprintf(stderr, "p%d <- (0x%x, 0x%x, 0x%x)\n", n, col.red, col.green,
-           col.blue);
     SetEntryColor(s->palette, n, &col);
 }