@industry-theme/xterm-terminal-panel 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +4 -0
- package/dist/index.js +42 -1
- package/dist/src/components/ThemedTerminal.d.ts.map +1 -1
- package/dist/styles.css +5 -0
- package/package.json +1 -1
package/dist/index.css
CHANGED
package/dist/index.js
CHANGED
|
@@ -339,6 +339,18 @@ var ThemedTerminal = forwardRef(({
|
|
|
339
339
|
} catch (e) {
|
|
340
340
|
console.warn("[ThemedTerminal] WebGL not available, using canvas renderer:", e);
|
|
341
341
|
}
|
|
342
|
+
let lastBaseY = 0;
|
|
343
|
+
let isRewriteInProgress = false;
|
|
344
|
+
let rewriteStabilizeTimeout = null;
|
|
345
|
+
const setRewriteVisibility = (hidden) => {
|
|
346
|
+
if (terminalRef.current) {
|
|
347
|
+
if (hidden) {
|
|
348
|
+
terminalRef.current.classList.add("terminal-rewriting");
|
|
349
|
+
} else {
|
|
350
|
+
terminalRef.current.classList.remove("terminal-rewriting");
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
};
|
|
342
354
|
const scrollDisposable = term.onScroll(() => {
|
|
343
355
|
const scrollY = term.buffer.active.viewportY;
|
|
344
356
|
const scrollback2 = term.buffer.active.baseY;
|
|
@@ -351,9 +363,35 @@ var ThemedTerminal = forwardRef(({
|
|
|
351
363
|
rows: term.rows,
|
|
352
364
|
isAtTop,
|
|
353
365
|
isAtBottom,
|
|
354
|
-
isScrollLocked: isScrollLockedRef.current
|
|
366
|
+
isScrollLocked: isScrollLockedRef.current,
|
|
367
|
+
isRewriteInProgress
|
|
355
368
|
});
|
|
356
369
|
}
|
|
370
|
+
if (lastBaseY > 50 && scrollback2 < lastBaseY * 0.1) {
|
|
371
|
+
if (DEBUG_RESIZE) {
|
|
372
|
+
console.log("[ThemedTerminal] Content rewrite STARTED:", {
|
|
373
|
+
previousBaseY: lastBaseY,
|
|
374
|
+
currentBaseY: scrollback2
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
isRewriteInProgress = true;
|
|
378
|
+
setRewriteVisibility(true);
|
|
379
|
+
}
|
|
380
|
+
if (isRewriteInProgress) {
|
|
381
|
+
if (rewriteStabilizeTimeout) {
|
|
382
|
+
clearTimeout(rewriteStabilizeTimeout);
|
|
383
|
+
}
|
|
384
|
+
term.scrollToBottom();
|
|
385
|
+
rewriteStabilizeTimeout = setTimeout(() => {
|
|
386
|
+
if (DEBUG_RESIZE) {
|
|
387
|
+
console.log("[ThemedTerminal] Content rewrite COMPLETE, stabilized at baseY:", term.buffer.active.baseY);
|
|
388
|
+
}
|
|
389
|
+
isRewriteInProgress = false;
|
|
390
|
+
term.scrollToBottom();
|
|
391
|
+
setRewriteVisibility(false);
|
|
392
|
+
}, 150);
|
|
393
|
+
}
|
|
394
|
+
lastBaseY = scrollback2;
|
|
357
395
|
if (onScrollPositionChange) {
|
|
358
396
|
onScrollPositionChange({
|
|
359
397
|
isAtTop,
|
|
@@ -452,6 +490,9 @@ var ThemedTerminal = forwardRef(({
|
|
|
452
490
|
if (scrollDebounceRef.current) {
|
|
453
491
|
clearTimeout(scrollDebounceRef.current);
|
|
454
492
|
}
|
|
493
|
+
if (rewriteStabilizeTimeout) {
|
|
494
|
+
clearTimeout(rewriteStabilizeTimeout);
|
|
495
|
+
}
|
|
455
496
|
if (webglAddonRef.current) {
|
|
456
497
|
webglAddonRef.current.dispose();
|
|
457
498
|
webglAddonRef.current = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemedTerminal.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedTerminal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAkC3D,OAAO,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,8BAA8B,CAAC;AAEtC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,KAAK,EAAE,KAAK,CAAC;CACd;AAsBD,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"ThemedTerminal.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedTerminal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAkC3D,OAAO,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,8BAA8B,CAAC;AAEtC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,KAAK,EAAE,KAAK,CAAC;CACd;AAsBD,eAAO,MAAM,cAAc,4HAk+B1B,CAAC"}
|
package/dist/styles.css
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
margin: 0;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
+
/* Hide terminal content during content rewrite (clear + redraw pattern) */
|
|
9
|
+
.terminal-container-fix.terminal-rewriting .xterm-screen {
|
|
10
|
+
visibility: hidden;
|
|
11
|
+
}
|
|
12
|
+
|
|
8
13
|
/* Remove default xterm padding */
|
|
9
14
|
.terminal-container-fix .xterm {
|
|
10
15
|
padding: 5px 0 0 5px;
|
package/package.json
CHANGED