devii-terminal
The draggable terminal window for the Devii assistant. It connects to /devii/ws, renders
markdown replies, keeps input history, and supports closed, normal, maximized, and fullscreen
states with geometry persisted to localStorage. The DeviiTerminal controller (app.devii)
creates it and appends it to the page, so you do not place it by hand.
It extends the shared FloatingWindow base (static/js/components/FloatingWindow.js), reusing the
container terminals' drag, resize, geometry-persistence, and window chrome, and adds its own
launcher button, closed state, and socket/markdown/history.
Source: static/js/devii/devii-terminal.js.
Attributes
| Attribute | Type | Description |
|---|---|---|
open |
boolean | Open the terminal on connection. |
avatar |
string | Id or selector of an associated devii-avatar element. |
Methods and properties
| Member | Description |
|---|---|
open() / close() / toggle() |
Control visibility. |
state |
closed, normal, maximized, or fullscreen. |
geometry |
{ width, height, left, top } window placement. |
Usage
Any element marked data-devii-open opens the terminal (the controller delegates these clicks),
so you rarely instantiate it directly:
<button data-devii-open>Ask Devii</button>