Skip to content

Releases: Andy8647/pi-starline

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 23:38

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

Choose a tag to compare

@github-actions github-actions released this 30 Jul 04:15

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@Andy8647 Andy8647 released this 29 Jul 12:37

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-starline

What this fork adds over upstream

  • A powerline pill footer style, alongside the original text footer
  • A colour palette with $ref expansion, and model / thinking footer 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.json

Inside 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.