@d3ara1n/pi-editor-shell
Replaces pi's default editor and status bar with a unified rounded-corner shell — no Nerd Font required
Package details
Install @d3ara1n/pi-editor-shell from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@d3ara1n/pi-editor-shell- Package
@d3ara1n/pi-editor-shell- Version
0.4.0- Published
- Jul 10, 2026
- Downloads
- 433/mo · 68/wk
- Author
- d3ara1n
- License
- MIT
- Types
- extension
- Size
- 70.5 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
],
"image": "https://raw.githubusercontent.com/d3ara1n/pi-extensions/main/packages/pi-editor-shell/preview.png"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-editor-shell
Replaces pi's default editor and status bar with a unified rounded-corner shell drawn with box-drawing glyphs (╭╮││╰╯), with status info embedded in the border. No Nerd Font required for the frame itself.
What shows up where
- Top border —
model · thinking-level(left) + pinned extension statuses (right, viapinnedStatusconfig) - Bottom border —
ctx NN%/NNNk · cache-tokens(left) +~current/dir (branch)(right, includes git branch when available) - Below shell — Auto-wrapping extension status line (all
setStatusentries not pinned to the top) - Border color follows pi's thinking-level / bash-mode indicator automatically.
All segments are re-read from live session state on every paint, so switching thinking level or burning context updates the frame on the next render with no extra wiring.
Configuration
In ~/.pi/agent/settings.json under the editorShell key:
{
"editorShell": {
// Status keys to pin to the top-right corner of the shell.
// Only keys set via ctx.ui.setStatus() are eligible.
"pinnedStatus": ["subagent", "access-denied"]
}
}
Commands
| Command | Description |
|---|---|
/editor-shell:status |
Show debug info: pinned config, all extension statuses with their keys, cache totals |
How it works
The default pi editor only draws a horizontal line above and below the input area (no side borders), and a separate footer renders the status bar. This extension replaces both — it wraps the built-in CustomEditor, renders it at width - 2, wraps every line with left/right glyphs, and embeds the status bar information (extension statuses) below the shell. The total width is unchanged. Border color follows pi's borderColor (which encodes thinking level / bash mode), so the shell stays semantically consistent and reacts to theme changes automatically.
Installation
pi install npm:@d3ara1n/pi-editor-shell
Or add to ~/.pi/agent/settings.json:
{
"extensions": [
"/absolute/path/to/pi-extensions/packages/pi-editor-shell"
]
}
Caveats
- Mutually exclusive with other editor-replacing extensions (
border-status-editor,rainbow-editor,modal-editor, …). Disable those when enabling this one —setEditorComponentis last-writer-wins. - When the content scrolls, pi's native
↑ N more/↓ N moreindicators are replaced by the embedded status text (status takes precedence). - Falls back to the default editor below
MIN_WIDTH(20 columns).
