feat(electrobun): upgrade to xterm 6.0.0, disable incompatible Canvas/Image addons (DOM renderer)
This commit is contained in:
parent
adee8e03c5
commit
b506dfc39a
3 changed files with 22 additions and 32 deletions
|
|
@ -1,9 +1,12 @@
|
|||
<script lang="ts">
|
||||
import { onMount, onDestroy } from 'svelte';
|
||||
import { Terminal } from '@xterm/xterm';
|
||||
import { CanvasAddon } from '@xterm/addon-canvas';
|
||||
import { FitAddon } from '@xterm/addon-fit';
|
||||
import { ImageAddon } from '@xterm/addon-image';
|
||||
// CanvasAddon and ImageAddon require xterm ^5.0.0 — disabled on xterm 6.x
|
||||
// xterm 6's default renderer uses DOM (no Canvas/WebGL needed)
|
||||
// TODO: re-enable when @xterm/addon-canvas releases a 6.x-compatible version
|
||||
// import { CanvasAddon } from '@xterm/addon-canvas';
|
||||
// import { ImageAddon } from '@xterm/addon-image';
|
||||
import { appRpc } from './rpc.ts';
|
||||
import { fontStore } from './font-store.svelte.ts';
|
||||
import { themeStore } from './theme-store.svelte.ts';
|
||||
|
|
@ -55,21 +58,8 @@
|
|||
|
||||
const openAndLoadAddons = () => {
|
||||
term.open(termEl);
|
||||
// Now safe to load addons that depend on _linkifier2
|
||||
try { term.loadAddon(new CanvasAddon()); } catch (e) {
|
||||
console.warn('[Terminal] CanvasAddon failed:', (e as Error).message);
|
||||
}
|
||||
try {
|
||||
term.loadAddon(new ImageAddon({
|
||||
enableSizeReports: true,
|
||||
sixelSupport: true,
|
||||
sixelScrolling: true,
|
||||
sixelPaletteLimit: 4096,
|
||||
showPlaceholder: true,
|
||||
}));
|
||||
} catch (e) {
|
||||
console.warn('[Terminal] ImageAddon failed:', (e as Error).message);
|
||||
}
|
||||
// xterm 6.x uses improved default DOM renderer — no Canvas/WebGL addon needed
|
||||
// Re-enable when addons release 6.x-compatible versions
|
||||
fitAddon.fit();
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue