summaryrefslogtreecommitdiff
path: root/justfile
Commit message (Collapse)AuthorAgeFilesLines
* fix(justfile): test-sixel-tmux skips nesting when already inside tmuxcashmere2026-04-261-8/+21
| | | | | | | | | Running `just test-sixel-tmux' from a tmux pane previously printed `sessions should be nested with care, unset $TMUX to force' and exited with code 1. Switch the recipe to a shebang body that branches at runtime: when `$TMUX' is already set, run emacs directly in the current pane (the test condition is already satisfied -- we're inside tmux); otherwise spawn a fresh `tmux new-session' wrapper as before.
* feat(tmux): unlock Sixel backend inside tmux >= 3.4cashmere2026-04-261-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sixel detection used to hard-disable the moment `$TMUX' was set. That guard predates tmux 3.4 (released 2024-02-13), which ships native Sixel rendering, so we were rejecting a working configuration. Drop the hard guard, gate on a parsed `tmux -V' >= 3.4, and let users opt out via a new custom var. - `kitty-gfx-tmux-allow-sixel' (default t). Set to nil if your tmux build lacks `--enable-sixel' or if you want to avoid the upstream scroll artifact (tmux's cell buffer is not pixel-aware, so images may persist after scrolling). - `kitty-gfx--tmux-version' parses `tmux -V' once per session and caches the result in `kitty-gfx--tmux-version-cache' (with an `unset' sentinel so we can distinguish "not probed" from "no tmux"). - `kitty-gfx--tmux-sixel-supported-p' centralises the (in-tmux + opt-in + version >= 3.4) check. - `kitty-gfx--sixel-detect' now uses the helper instead of `(not in-tmux)'. Debug log gained `tmux-ver=' and `tmux-ok='. - AGENTS.md / README.org / CHANGELOG.org: limitation reworded from "no tmux support" to a partial entry that explains exactly what works and what the remaining caveats are (Kitty APC passthrough is still unimplemented; scroll artifacts are upstream). - justfile: new `test-sixel-tmux' recipe wraps `test-sixel-image' in `tmux new-session' for one-command interactive verification, and the sibling `test-sixel-image' recipe was switched from a fragile shell conditional to an elisp `when' so passing an encoder argument no longer breaks the parse. Refs #2.
* chore(justfile): add sixel test recipescashmere2026-04-261-0/+49
| | | | | | | | | | | | | | | After rebasing onto master (which now carries the justfile from #8), add recipes for the new configurable encoder + timeout work: - `sixel-encoder' prints what `kitty-gfx--sixel-resolve-encoder' picks. - `sixel-encode [ENCODER]' encodes tests/test-image.png headlessly and reports payload size; pass an encoder name to force a specific binary (e.g. `just sixel-encode img2sixel'). - `sixel-timeout-test' verifies the watchdog kills a `sleep 60' fake encoder within `kitty-gfx-sixel-encoder-timeout' seconds. - `test-sixel-image [ENCODER]' opens tests/test-image.png in Emacs with the Sixel backend forced, for manual rendering checks in foot/Konsole/ mintty/mlterm/WezTerm.
* feat: add typst inline equation previewcashmere2026-04-261-0/+103
Mirrors the existing LaTeX fragment integration but uses the `typst` CLI to compile `$...$' math fragments into PNGs that are then displayed inline through the existing kitty-graphics overlay pipeline. - New section in kitty-graphics.el: customs (typst-command, ppi, text-size, preamble), SHA-1 cached PNGs under /tmp/kitty-gfx-typst, Emacs face-foreground -> typst rgb() hex conversion. - Two autoloaded commands: `kitty-gfx-typst-preview' and `kitty-gfx-typst-clear-preview', region-aware. - Regex skips backslash-escaped dollars (\\$not math\\$). - justfile with recipes: compile/lint/load + per-feature test-* and headless typst-render / typst-show. - tests/test-typst.typ fixture with inline, display, mixed and edge-case fragments. - AGENTS.md updated: test instructions, dependency note, issue marked done. Closes #7. Parent #5.