Skip to content

feat(ui): move a text sideways, save it to a path you type, and read a log further back - #128

Merged
ingvarch merged 4 commits into
mainfrom
feat/text-screens
Oct 20, 2026
Merged

ingvarch merged 4 commits into
mainfrom
feat/text-screens

Conversation

@ingvarch

@ingvarch ingvarch commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

What changes

Three things for reading and keeping long texts: logs, files, descriptions and
plans.

  • With wrap off, left/h and right/l move a text sideways by a quarter
    of the window, up to where the end of the widest line meets the right edge.
    Logs and files say how far on the toggles line (Column:41), other text
    screens in the title. home goes back to the start of the lines first, then
    to the top; g always goes to the top. Wrap on puts the text back at the
    start. Find and filter matches move with the text. On a plan, left and right
    still choose a button.
  • ctrl+s asks for the path on the line at the top, with the name it used to
    save under already typed, so enter keeps it. ~/ is the home folder, a
    relative path is from where urga runs, missing folders are made, and an
    existing file is overwritten only after a question. The status line says
    where it was saved.
  • e on the log of a task reads the 1 MiB before what is shown, across the
    rotated files that are still there, and puts it above the lines already on
    the screen without moving the window. The title then says how much of the
    log is read, as a file's does. The line limit of Followed logs grow without a limit and slow the UI down #63 still holds. It needs a
    token that can read the files of the allocation; without it the status line
    shows the refusal.

Found and fixed along the way: a tab in a description is drawn as four spaces,
so a line with a tab now moves sideways by the same cells it is drawn in.
Nomad writes log paths with backslashes on a Windows client; reading further
back takes that into account.

A test that ends while it leaves the session write running failed on the
Windows runner, where that write is slow: the write landed in the test's
folder while it was being removed. The tests that load a session config now
write it once more when they end, which waits for a write still running and
leaves nothing for a later one to write (its own commit, chore(ui)).

Left for later (in the ideas list): f and n do not move the text sideways
to a match past the right edge; after the stream drops lines off the front,
the title keeps the size read by the last e.

Closes #107
Closes #108
Closes #106

Checklist

  • The test for this change was written first and failed
  • make check is green
  • The title is a conventional commit: feat(ui): ..., fix(nomad): ...

@ingvarch ingvarch added this to the v0.15.0 milestone Oct 20, 2026
@ingvarch ingvarch added documentation Improvements or additions to documentation enhancement New feature or request ui Screens, keys and the header nomad The client of the Nomad API and what it reads logs Logs, files and the streams that read them labels Oct 20, 2026
@ingvarch ingvarch added the test Tests only label Oct 20, 2026
@ingvarch
ingvarch merged commit 028564b into main Oct 20, 2026
5 checks passed
@ingvarch
ingvarch deleted the feat/text-screens branch October 20, 2026 03:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request logs Logs, files and the streams that read them nomad The client of the Nomad API and what it reads test Tests only ui Screens, keys and the header

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Save a text to a path you type Scroll a text sideways when wrap is off Read further back in a log than its last 64 KiB

1 participant