Skip to content

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 21:29
· 32 commits to main since this release

What's new

Tasks calendar: month, week and day views (#30, thanks spirit-of-light). :tasks calendar opens a full-page month that lists each day's tasks above a No date strip.

  • Esc switches to a week or a single day.
  • Tab moves between the grid, the day's tasks and the strip.
  • T moves a task to today and @ picks its due date, as on the desktop.
  • [ and ] change the month at once, and the mouse works throughout.
  • A narrow terminal gets a compact month instead of "Terminal too small".
  • With Vim mode off, letters never act on a task there.
  • Week and day columns list a day's tasks from the top without an hour axis, since tasks have dates, not times.

A bar cursor while you type (#29, thanks spirit-of-light). The editor drew a reverse-video block in every mode, so insert mode looked like normal mode and the block hid the character under it.

  • zn now shows the terminal's own cursor while text is being typed: a steady bar in insert mode and with Vim mode off, and an underline in replace mode and while r waits for its character.
  • Normal and visual mode keep the block.
  • The bar follows the command line, the palette, pickers, prompts and database cells too.
  • The terminal's default cursor comes back on quit, Ctrl+Z, the external editor and opening the config. A terminal that doesn't support cursor shapes shows its usual cursor.

A note can choose how it opens (#28, thanks spirit-of-light). Two settings under [terminal] let a note pick edit, preview or split from its own frontmatter. Both are off by default, so nothing changes unless you set them.

  • view_mode_field = "view-mode" makes a note with view-mode: preview open in preview.
  • [terminal.view_mode_rules] maps a field and value to a mode, as in "page-status=done" = "preview", so a finished page opens ready to read.
  • :settings lists the field and the rules and adds or removes them, and zn config gets and sets them.
  • The ZenNotes desktop app doesn't know these keys and leaves them out when it saves config.toml; the README says so.

New notes open in the editor (#26, thanks spirit-of-light). With the default view mode set to preview or split, a new note opened read-only while you typed into it. Every way of making a note now opens it in the editor, as the desktop app does: :new, Search notes, a quick note, a link to a missing note, a daily, weekly or monthly note made on first open, a note from a template, :taskfile and :rollover. The default view mode and each note's remembered mode stay as they were.

[b and ]b from anywhere (#27, thanks spirit-of-light). In Vim mode, [b / ]b and gt / gT switch tabs from Home, Tasks, the calendars, databases and the side panels, not only from a note.

  • The calendars keep [ and ] for the month, and the Kanban board keeps g.
  • A held first key shows in the status bar.
  • With Vim mode off none of these keys act.

Settings grouped by where they save (#22, thanks spirit-of-light). The settings page lists its rows under "User · config.toml" and "Vault · .zennotes/vault.json", so you can see where each change lands. It scrolls cleanly on a taller window and keeps each row's whole text.

Changelog

  • 71bd186 Feat(cli): zn config lists, reads and sets terminal view-mode rules
  • 4bbbc0b Feat(config): a terminal view-mode field and frontmatter rules table
  • 84b3379 Feat(tui): Esc switches the Tasks calendar between month, week and day
  • 5a224ff Feat(tui): T opens a due-date menu from the calendar's task lists
  • 1622851 Feat(tui): Tab reaches the calendar's No-date strip
  • 986d91b Feat(tui): a bar in text fields and quick capture
  • 0c97bab Feat(tui): a bar on the command line
  • 7f3e269 Feat(tui): a bar or underline cursor for the note being edited
  • 5271c09 Feat(tui): a newly created note opens in the editor, whatever its frontmatter
  • c1de97e Feat(tui): a note opens in the view mode its frontmatter asks for
  • e234a94 Feat(tui): a terminal output wrapper that places and shapes the cursor
  • 49237b9 Feat(tui): an underline while r waits for its character
  • f86670d Feat(tui): half-hourly hour list and hour-list scrolling in week and day
  • d2642ba Feat(tui): half-page keys page the Tasks calendar by month
  • 85815a9 Feat(tui): menus, toasts and sidebar focus hide the cursor
  • a39a2cc Feat(tui): mouse on calendar entries and the No-date strip
  • 6500bb1 Feat(tui): place calendar tasks by due and scheduled date
  • 9077380 Feat(tui): reset the cursor shape around suspend and external programs
  • 47370e5 Feat(tui): scroll a busy day's column in week and day view
  • b7bda03 Feat(tui): settings group headings name the file each group saves to
  • bea0218 Feat(tui): settings page groups rows under User and Vault by prefix
  • 1cb85fb Feat(tui): split copies, restored tabs and references respect view modes
  • 9f47fd8 Feat(tui): the Tasks calendar opens on a full-page month grid
  • 481b47b Feat(tui): the cursor finds its cell in every pane layout
  • 7428c7d Feat(tui): view-mode settings and rules on the settings page
  • fd41049 Feat(tui): week and day calendar navigation and column focus
  • cb78af2 Feat(tui): work out a note's view mode from its frontmatter
  • b437c10 Feat(tui): zn shows the terminal cursor and resets its shape on exit
  • 3fe9eae Feat(vim): the editor reports when r waits for its character
  • 2e2da5f Fix(config): a view-mode rule with an empty value is invalid
  • 8afc2ad Fix(config): rules differing only in case, or with a non-string mode
  • e728db0 Fix(tui): Ctrl+Z on Windows leaves the cursor alone
  • 557e86a Fix(tui): T moves a calendar task to today, and @ opens the due-date menu
  • 041da14 Fix(tui): [b and ]b switch tabs from every view and panel
  • 32a7f85 Fix(tui): a focused calendar task takes no letters with Vim off
  • 0381c69 Fix(tui): a new note opens in the editor whatever the default pane mode
  • ce02956 Fix(tui): a sidebar peek stays in preview and a reopened tab follows frontmatter
  • a56296c Fix(tui): a toast hides the cursor only where it is drawn over it
  • f0d6fd1 Fix(tui): calendar overflow count no longer cut mid-word
  • d3401ca Fix(tui): every new note opens in the editor, not only a blank one
  • fecb57b Fix(tui): every new note opens in the editor, with frontmatter view modes off too
  • a5063d6 Fix(tui): grouped settings scroll back on a taller window and keep each row's whole text
  • 7d9cc36 Fix(tui): keep the terminal cursor inside the editor and on screen
  • abe7899 Fix(tui): reopening a closed tab whose note is gone leaves the active tab alone
  • 0c118b4 Fix(tui): right-click lands on the clicked cell in framed panes
  • 591d660 Fix(tui): the Tasks calendar keeps a compact month on narrow terminals
  • fc819fc Fix(tui): the calendar's key hints follow its focus and view
  • 730f394 Fix(tui): the calendars keep [ and ], and the Kanban board keeps g
  • 2dbedd7 Fix(tui): the external editor writes to the terminal, not to a pipe
  • 87a7838 Fix(tui): the field cursor sits on the field under a wrapping title
  • 97a823c Fix(tui): the status bar shows a held [, ] or g
  • 015a97e Fix(tui): zn tui reads the terminal when stdin is redirected
  • 44eec1c Merge #22: settings page groups rows under User and Vault by prefix (by @spirit-of-light)
  • a6d5a2a Merge #26: a new note opens in the editor always, despite the set default mode (by @spirit-of-light)
  • 83017f2 Merge #27: [b and ]b switch tabs from every view and panel (by @spirit-of-light)
  • 200d9b3 Merge #28: frontmatter default mode definition (by @spirit-of-light)
  • b16a187 Merge #29: a bar cursor in insert mode, an underline in replace mode (by @spirit-of-light)
  • 072a386 Merge #30: month, week and day views for the Tasks calendar (by @spirit-of-light)
  • 020afdc Refactor(tui): a new note reaches the editor one way, not two
  • 038ea1f Refactor(tui): drop the drawn-cursor helpers nothing calls
  • 9d1c18d Refactor(tui): week and day columns list tasks without an hour axis
  • 65d44f3 Test(tui): ]b and gt stay off with Vim mode off
  • 21ea059 Test(tui): frontmatter view modes write nothing to the vault
  • 0b106bb Test(tui): notes no rule or field matches open as with the feature off

Install

With Homebrew on macOS or Linux, run brew install zennotes/tap/zn, then zn tui.

Download the archive for your platform, unpack it, and put zn on your PATH.
With Go installed, go install github.com/ZenNotes/tui/cmd/zn@latest builds the same thing.