aboutsummaryrefslogtreecommitdiffstats
path: root/src/de/mud/terminal/vt320.java
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2008-10-30 07:58:16 +0000
committerKenny Root <kenny@the-b.org>2008-10-30 07:58:16 +0000
commit5675dce5ea2960963a84ff771a30f0bedbca2853 (patch)
tree18ae8466b0b858024ace2a0105b80bd0cdced1f7 /src/de/mud/terminal/vt320.java
parentf01720f2010a1dfd11f56565ec89e523310129e5 (diff)
downloadconnectbot-5675dce5ea2960963a84ff771a30f0bedbca2853.tar.gz
connectbot-5675dce5ea2960963a84ff771a30f0bedbca2853.tar.bz2
connectbot-5675dce5ea2960963a84ff771a30f0bedbca2853.zip
* Fix scrolling region setting bug.
* Ignore xterm-style title updates (we could use this for the TerminalManager title, actually).
Diffstat (limited to 'src/de/mud/terminal/vt320.java')
-rw-r--r--src/de/mud/terminal/vt320.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/de/mud/terminal/vt320.java b/src/de/mud/terminal/vt320.java
index d4aa05a..49af8f0 100644
--- a/src/de/mud/terminal/vt320.java
+++ b/src/de/mud/terminal/vt320.java
@@ -526,6 +526,7 @@ public abstract class vt320 extends VDUBuffer implements VDUInput {
private final static int TSTATE_VT52Y = 15;
private final static int TSTATE_CSI_TICKS = 16;
private final static int TSTATE_CSI_EQUAL = 17; /* ESC [ = */
+ private final static int TSTATE_TITLE = 18; /* xterm title */
/* Keys we support */
public final static int KEY_PAUSE = 1;
@@ -1839,6 +1840,13 @@ public abstract class vt320 extends VDUBuffer implements VDUInput {
case 'Y': /* vt52 cursor address mode , next chars are x,y */
term_state = TSTATE_VT52Y;
break;
+ case '_':
+ term_state = TSTATE_TITLE;
+ break;
+ case '\\':
+ // TODO save title
+ term_state = TSTATE_DATA;
+ break;
default:
System.out.println("ESC unknown letter: " + c + " (" + ((int) c) + ")");
break;
@@ -2409,14 +2417,14 @@ public abstract class vt320 extends VDUBuffer implements VDUInput {
}
} else
R = rows - 1;
- setBottomMargin(R);
+ int bot = R;
System.out.println("setBottomMargin R="+R);
if (R >= DCEvars[0]) {
R = DCEvars[0] - 1;
if (R < 0)
R = 0;
}
- setTopMargin(R);
+ setMargins(R, bot);
System.out.println("setTopMargin R="+R);
_SetCursor(0, 0);
if (debug > 1)
@@ -2699,6 +2707,16 @@ public abstract class vt320 extends VDUBuffer implements VDUInput {
break;
}
break;
+ case TSTATE_TITLE:
+ switch (c) {
+ case ESC:
+ term_state = TSTATE_ESC;
+ break;
+ default:
+ // TODO save title
+ break;
+ }
+ break;
default:
term_state = TSTATE_DATA;
break;