useTerminal

読み取り専用の xterm ターミナルインスタンスを作成し、コンテナ要素にアタッチします。

インポート

import { useTerminal } from "@fluxlay/react";

シグネチャ

function useTerminal(options?: UseTerminalOptions): UseTerminalReturn;

パラメータ

UseTerminalOptions

プロパティデフォルト説明
fontSizenumber12フォントサイズ(ピクセル)。
fontFamilystringシステムモノスペースフォントファミリー文字列。
themeIThemeTerminalThemes.dark.defaultxterm カラーテーマ。

戻り値

プロパティ説明
terminalRefReact.RefObject<HTMLDivElement>コンテナ <div> にアタッチする ref。
instanceTerminalInstance | nullマウント後に利用可能なターミナルインスタンス。

TerminalInstance

プロパティ説明
terminalTerminalxterm の Terminal インスタンス。
fitAddonFitAddon自動リサイズ用の FitAddon。

使用例

import { useTerminal, useShell, TerminalThemes } from "@fluxlay/react";
 
function Monitor() {
  const { terminalRef, instance } = useTerminal({
    fontSize: 14,
    fontFamily: "'JetBrains Mono', monospace",
    theme: TerminalThemes.catppuccin.mocha
  });
 
  useShell("my-command", { terminal: instance });
 
  return <div ref={terminalRef} style={{ height: "100%", width: "100%" }} />;
}

動作

  • ターミナルは読み取り専用です(キーボード入力は無効)。
  • カーソルは非表示です。
  • スクロールバックは無効です。
  • FitAddon を使ってターミナルがコンテナに自動フィットします。
  • CSS オーバーライドによりターミナルがコンテナ要素を埋めます。