3 Commits
Author SHA1 Message Date
thomas.koppandClaude Opus 5 de59a5a904 feat: add preview tuning — hi-DPI PDF previewer and opener setup
preview/ holds a yazi.toml and a pdf-hidpi plugin that fix unreadable PDF
previews. Yazi calls pdftoppm without -r (150 DPI) and then caps the image at
600x900, so pages are downscaled and upscaled again; the plugin renders at
300 DPI as PNG and the cap goes to 1600x2400, turning that into supersampling.

Previewer and preloader both have to be overridden — they share the cache file.

README documents this plus what video previews can and cannot do: the preview
is a single ffmpeg keyframe by design, J/K scrubs it, and the opener offers
mpv --vo=kitty with shared-memory transfer for inline playback.

Targets the 26.9 plugin API (fs.cha, not main's fs.stat).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 20:12:42 +02:00
thomas.koppandClaude Opus 5 6dc8e1b3ae feat: add own Gruvbox tmTheme, drop the AGPL dependency
Syntax highlighting for the file preview no longer points at an external
repository. gruvbox-dark.tmTheme is written from scratch here: 39 scope rules
following morhetz/gruvbox's own vim highlight links (Comment=gray italic,
String=green, Constant=purple, Keyword=red, Identifier=blue, Function=green
bold, Type=yellow, StorageClass=orange, PreProc=aqua, Operator=Normal).

The theme commonly paired with Yazi is AGPL-3.0 and would have forced that
licence on this repository. Writing our own keeps everything MIT and makes the
repo self-contained.

Verified under syntect (the library Yazi uses): rendering a sample through bat
emits only palette colours, and a Yazi frame shows 14 distinct colours with no
foreign value.

regen-tmtheme.py reproduces the file byte-for-byte.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 12:26:24 +02:00
thomas.koppandClaude Opus 5 4ea70c669e feat: Gruvbox Dark theme for Yazi 26.9, icons included
Panel chrome, filetype colours and the full 725-entry icon table.

The icon table is Yazi's preset with every glyph colour remapped onto the
Gruvbox palette: nearest neighbour in Oklab with lightness weighted down so
hue drives the match, chromatic and greyish sources matched from separate
pools, and target tones below 3:1 contrast on #282828 excluded. 221 upstream
colours collapse onto 19 Gruvbox tones, dimmest icon at 3.48:1.

regen-icons.py reproduces the mapping against a newer Yazi preset.

Uses the current schema ([mgr]/[tabs]/[pick]/[cmp]), not the pre-25.x one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 12:20:12 +02:00