Releases: Andy8647/pi-starline
Release list
v0.2.0
Everything in this release is the fixed editor's mouse handling, which now covers the three things that made it feel unfinished: the wheel went to the transcript wherever the pointer was, a selection could not leave the screen, and a tool box could only be expanded along with every other one.
All of it needs fixedEditor.enabled and fixedEditor.mouseScroll. See the fixed editor guide.
Added
Click a tool box to expand just that one (fixedEditor.clickToExpandTools, default on). ctrl+o expands every box in the transcript at once, which is a lot of screen for one line of output you wanted to see. Click a box's border — the rules or either vertical — or its … ctrl+o to expand hint, and only that box opens; click again to close it. Body rows keep double click for a word and triple click for the line. Works for every box Pi builds, restyled ones included.
The input box scrolls under the pointer. A wheel notch over a draft taller than the box scrolls the box instead of the conversation. Pi re-derives the editor's scroll position from the caret on every frame, so the caret comes along, exactly as holding the arrow keys would.
A selection can cover a draft taller than the box. Hold a drag past the text — on the frame, the metadata row, or up over the transcript — and the box scrolls, selecting the rows it brings in. What gets copied comes from the editor's buffer, so rows that have scrolled out of view come with it, and backspace or delete removes the whole range.
Fixed
The wheel now goes to whatever the pointer is over rather than always to the transcript.
A selection can run past the edge of the screen. Dragging to the top or bottom row scrolls the transcript and keeps selecting, and keeps going while you hold the pointer there — a trackpad reports nothing while your finger is still, so the scrolling is on a timer. Dragging down into the pinned editor counts as the bottom edge instead of handing the pointer to the input box mid-selection.
The wheel no longer kills the drag it arrives during. The selection's anchor is an absolute transcript line, so scrolling under a drag extends it instead of dropping it.
Mouse reports that share an input chunk are no longer dropped. A terminal coalesces a burst of motion, wheel and release reports into one read, and only the first was being parsed — which is how a wheel notch arriving mid-drag used to vanish, and why fast dragging stuttered.
Box frames stay out of a selection. Dragging across a tool box copied the box: every │ down both sides and both rules came along, and the frame lit up under the highlight. A markdown table keeps every one of its pipes — a frame is only recognised as one when the run of rows is capped by a rule, which a table's ┌─┬─┐ borders are not.
saveFixedEditorPatch no longer drops copyOnSelect when saving a partial config patch.
v0.1.1
v0.1.0
First release under the Starline name.
Starline is a fork of pi-zentui by Luka, renamed and released on its own. It has diverged well past upstream, mostly in the editor and selection internals.
pi install npm:pi-starlineWhat this fork adds over upstream
- A powerline pill footer style, alongside the original text footer
- A colour palette with
$refexpansion, andmodel/thinkingfooter segments - A git host icon for the branch segment, and per-segment display options
- Configurable editor cursor styles and box padding
- Mouse selection in the fixed editor — drag, double-click a word, triple-click a line, click to move the caret, backspace/delete over a selection
- Paste collapsing, with paste-again-to-expand
Coming from pi-zentui
The config file moved and is not read automatically:
mv ~/.pi/agent/zentui.json ~/.pi/agent/starline.jsonInside it, rename any colorMode: "zentui" value to colorMode: "themed". The slash command is now /starline.
Both packages can be installed at once without fighting over the same TUI internals — Starline still reads the interop keys the old package writes.
Credits
Forked from pi-zentui by Luka, whose work is the foundation of this project. Inspired by Starship and Opencode.