Skip to content

Releases: backyardbit/termleaf

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 03:04
3366c7c

Release Notes

  • Navigate with more vim and pager keys. Ctrl-d / Ctrl-u scroll half a pane, PgDn / PgUp a whole pane, the arrows scroll and pan, and h / l pan. All take a count (#61).
  • Jump back and forward with Ctrl-o and Ctrl-i (or Tab). Following an internal link, gg, G, :<n>, a search match or a table of contents entry records where the view was. Paging and scrolling are not jumps (#60).
  • Show the table of contents with t. It lists the PDF's bookmarks (which hyperref writes for every \section) over the page area, with the heading you are reading selected. j / k, gg / G and the wheel move the selection, Enter or a click jumps, and t, q or Escape close it (#63).
  • Clicking an http, https or mailto link opens it in the default browser (open on macOS, xdg-open on Linux), and the status bar says what was opened. Other schemes are ignored, and internal links still jump as before (#62).
  • Select text with v (by character) or V (by line), extend it with vim motions, and copy it with y. The selection is tinted into the page, and copying writes OSC 52 and, when running locally, also pipes the text to pbcopy, wl-copy or xclip (#64).
  • macOS: in terminals that zoom their own window on a trackpad pinch, such as Tern, a pinch over termleaf no longer zooms both. Give the terminal app Accessibility, and termleaf keeps the pinches it zooms on away from the terminal (#67).

Install termleaf 0.4.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/backyardbit/termleaf/releases/download/v0.4.0/termleaf-installer.sh | sh

Download termleaf 0.4.0

File Platform Checksum
termleaf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
termleaf-x86_64-apple-darwin.tar.xz Intel macOS checksum
termleaf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
termleaf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 14 Oct 23:42
cf1985e

Release Notes

  • Fix pages left blank after scrolling quickly under herdr. termleaf now keeps its Kitty images within herdr's 64 MiB per-pane limit (#48).
  • Stop rendering tiles that have scrolled out of view, which cuts CPU use while scrolling by up to half (#49).
  • Prepare the top of the next page in the direction you are scrolling, and send it only when the terminal is idle, so short bursts of j and k show less blank page (#50).
  • Size image tiles to half the pane height instead of a fixed 48 rows. Holding j leaves less of the page blank, and the first content shows sooner, most of all in short panes and with large cells. Memory use drops too (#51).
  • Fix figures that shifted by a pixel or two where two tiles meet. Images are now drawn from one whole decode, so a tiled page matches the whole page (#52).
  • Fix termleaf exiting with "needs a terminal that supports Kitty graphics" when started in a brand-new pane, as in herdr, before the terminal reports its cell size. It now waits for the size and then draws, and the error messages say which one is missing (#55).
  • Send the pages ahead of where you are reading while you pause, even when the terminal is slow to take images, as herdr always is. Reading at a normal pace no longer shows blank pages (#56).
  • Draw Kitty images at three-quarter density and let the terminal scale them up. Scrolling stays smoother, at the cost of slightly softer text (#57).

Install termleaf 0.3.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/backyardbit/termleaf/releases/download/v0.3.2/termleaf-installer.sh | sh

Download termleaf 0.3.2

File Platform Checksum
termleaf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
termleaf-x86_64-apple-darwin.tar.xz Intel macOS checksum
termleaf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
termleaf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 19:25
ed0f91d

Release Notes

  • Fix pages drawn at the wrong scale, with seams between tiles, after the cell pixel size changes but the columns and rows stay the same, as when moving a window between displays with different DPI. termleaf re-measures the cell size on SIGWINCH and, inside zellij, on a periodic CSI 16t poll, then repaints Kitty, Sixel and iTerm2 graphics at the new size (#44).

Install termleaf 0.3.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/backyardbit/termleaf/releases/download/v0.3.1/termleaf-installer.sh | sh

Download termleaf 0.3.1

File Platform Checksum
termleaf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
termleaf-x86_64-apple-darwin.tar.xz Intel macOS checksum
termleaf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
termleaf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 14:42
be06624

Release Notes

  • Search native PDF text with / and Enter. n and N move between matches, counts work, and Escape cancels the prompt or dismisses results (#42).
  • Search is case-insensitive, supports Unicode and phrases spanning lines, and runs in the background. The status bar shows progress and match counts. Scanned PDFs need an existing text layer; search does not perform OCR (#42).
  • Matches are highlighted in Kitty, Sixel and iTerm2 graphics. Highlights follow zooming and scrolling, and successful PDF rebuilds rerun the query without moving the view (#42).
  • Stop terminal queries before reading user input, so terminal replies cannot become stray key presses (#41).

Install termleaf 0.3.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/backyardbit/termleaf/releases/download/v0.3.0/termleaf-installer.sh | sh

Download termleaf 0.3.0

File Platform Checksum
termleaf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
termleaf-x86_64-apple-darwin.tar.xz Intel macOS checksum
termleaf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
termleaf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 30 Sep 21:38
69a1b7d

Release Notes

  • Follow no longer stops after a focus-in that no focus-out follows. termleaf used to treat itself as focused from then on and ignore every editor position after the first, for Neovim, Helix, the Vim snippet and termleaf --follow, on every OS. termleaf now trusts focus reports only after it has seen a focus-out (#39).
  • Helix follow works on macOS. termleaf couldn't read Helix's working directory there, so it never watched a Helix pane (#39).
  • CI runs the follow end-to-end tests on macOS too (#39).

Install termleaf 0.2.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/backyardbit/termleaf/releases/download/v0.2.1/termleaf-installer.sh | sh

Download termleaf 0.2.1

File Platform Checksum
termleaf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
termleaf-x86_64-apple-darwin.tar.xz Intel macOS checksum
termleaf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
termleaf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 12:01
b33e36a

Release Notes

Sixel and iTerm2 images

  • Terminals without Kitty graphics now show pages instead of exiting. Sixel covers foot, xterm -ti vt340, mlterm and Windows Terminal. iTerm2 inline images cover WezTerm, iTerm2 and Konsole.
  • Inside tmux 3.6 or later built with Sixel, termleaf draws Sixel when tmux reports Sixel support. iTerm2 images aren't used inside tmux.
  • --graphics kitty, --graphics sixel or --graphics iterm2 forces a protocol. The default, auto, picks from what the terminal reports, and exits with an error when it reports none. Kitty terminals take the same Kitty path as before.
  • Sixel and iTerm2 images are one picture of the page area, sent again on every scroll, zoom and page change. That is slower than Kitty graphics, especially over SSH.

Fixes

  • Sixel and iTerm2: the tile cache stays within its memory budget, and prefetching takes only the tiles that fit (#17).
  • iTerm2 images: tiles that arrive after a scroll repaint the page at most every 100 ms (#18), and frames are capped at one every 33 ms (#19).
  • Sixel and iTerm2: a jump no longer flashes a blank or half-drawn page (#20), and its visible tiles render before its prefetch tiles (#29).
  • With NO_COLOR set, kitty and Ghostty showed a blank page. Pages draw again (#27).
  • Inside tmux, termleaf asks the tmux that runs the server in $TMUX, not the first tmux on PATH. A tmux 3.6 server with an older tmux first on PATH is now detected as Sixel, where termleaf used to exit (#30).

SyncTeX

Build with -synctex=1. The README's SyncTeX section has the details.

  • Inverse search: e (at the pointer, or the middle of the pane), Alt+click or Ctrl+click opens the source line in your editor.
  • Follow, on by default: termleaf shows the page with your editor's cursor line. F, :follow and :nofollow switch it, and --no-follow starts with it off. termleaf --follow file.tex:line[:column] sends a position from scripts and editor keys. It exits 0 even when no termleaf takes the position.
  • Editors:
    • Neovim needs no config. It is reached over its RPC socket, in a multiplexer or without one.
    • Helix needs no config. Inverse search types the jump into its pane, and follow reads its statusline through the multiplexer.
    • Vim: inverse search types the jump into its pane. Follow needs contrib/termleaf.vim.
  • Multiplexers: tmux, herdr, zellij 0.44 or later, GNU screen, kitty windows (with allow_remote_control and listen_on), and WezTerm panes.
  • Each termleaf listens on $XDG_RUNTIME_DIR/termleaf/<pid>.sock, or on ${TMPDIR:-/tmp}/termleaf-$USER/<pid>.sock, in a directory with mode 0700.

Known limits:

  • The editor must run in the same multiplexer as termleaf, as your user, on the same machine. Anywhere else (a plain terminal, Konsole, Ghostty), only Neovim works.
  • Helix follow needs a multiplexer from the list and Helix's default statusline: a NOR, INS or SEL label, then the file name, with line:col last. A file name cut short in a narrow pane, or a statusline covered by the : prompt, moves nothing. Where capture is impossible, a Helix 25.07 key can run termleaf --follow.
  • Neovim is found by its swap file, so a Neovim with noswapfile or nvim -n isn't followed.
  • zellij doesn't pass Alt+click or Ctrl+click on, so use e there.
  • A path containing shell or editor metacharacters can't be typed into an editor. Only Neovim's RPC is used for it (path needs RPC).
  • The editor features are tested end to end on Linux. On macOS only the unit tests run.

Other

Install termleaf 0.2.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/backyardbit/termleaf/releases/download/v0.2.0/termleaf-installer.sh | sh

Download termleaf 0.2.0

File Platform Checksum
termleaf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
termleaf-x86_64-apple-darwin.tar.xz Intel macOS checksum
termleaf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
termleaf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 23:01
8d35efa

Install termleaf 0.1.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/backyardbit/termleaf/releases/download/v0.1.1/termleaf-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install backyardbit/tap/termleaf

Download termleaf 0.1.1

File Platform Checksum
termleaf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
termleaf-x86_64-apple-darwin.tar.xz Intel macOS checksum
termleaf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
termleaf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 14:56

Install termleaf 0.1.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/backyardbit/termleaf/releases/download/v0.1.0/termleaf-installer.sh | sh

Download termleaf 0.1.0

File Platform Checksum
termleaf-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
termleaf-x86_64-apple-darwin.tar.xz Intel macOS checksum
termleaf-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
termleaf-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum