summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/config.md17
-rw-r--r--docs/design.typ3
2 files changed, 15 insertions, 5 deletions
diff --git a/docs/config.md b/docs/config.md
index d1cc2e6e..9c51f329 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -25,16 +25,19 @@ which `Config` reports as `no per-user config path`.
`+Config` pane. It reports the startup path and every live config-like value:
theme, colors, focus tint, syntax weight, wrapping, tag position, debug mode, the requested shell and the
executable actually resolved at the last spawn, requested/effective GUI font
-and size, tagline scale, window opacity, panel transition,
+and size, tagline scale, window opacity, ligatures (SDL GUI only), panel transition,
scene effects, hover delay, platform, native-image support, and (on SDL) whether
the executable uses live-built shaders or the paired prebuilt shader snapshot.
Platform-dependent rows say `unsupported` instead of looking like an off or
-empty supported setting. The five fields of `config.Runtime.Capabilities` gate
+empty supported setting. The fields of `config.Runtime.Capabilities` gate
them and are stated once as plain data in `builtins.capabilities`:
`font_picker` is the SDL GUI and
native macOS only, `scene_shaders` the same two, `panel_transitions` every
-hosted shell, `window_opacity` the SDL GUI only, and `tagline_font_size`
-everything but the TTY and the board. So
+hosted shell, `window_opacity` the SDL GUI and macOS, `window_blur` macOS
+only, `ligatures` the SDL GUI only, and `tagline_font_size`
+everything but the TTY and the board. `ligatures` is the exception to
+`unsupported`: where it is off, `Ligatures` is not a builtin at all and
+`Config` has no row for it. So
the TTY reports Font, TaglineSize and the scene shaders as unsupported; the
browser reports Font, panel transitions and the scene shaders as unsupported,
and its TaglineSize row reads `82 (build-time only)` — tagline font size is
@@ -133,6 +136,12 @@ the current value. A `FocusTint` line in a fresh startup configuration disables
the tint; a `SyntaxBold` line enables the stronger keyword weight. Those two
appearance controls leave focus, selections and editing behavior unchanged.
+`Ligatures` (SDL GUI only) toggles a font's programming ligatures, such as
+Maple Mono's `->` and `!=` drawn across their cells; it is on by default.
+Off, every cell draws its own glyph, exactly as a font without ligatures does.
+`Ligatures on` and `Ligatures off` set it explicitly. The native macOS shell
+draws CoreText ligatures of its own, which this setting does not reach.
+
`TreeContext` toggles sticky declaration headers for the current source pane.
It is off by default and appears in the default pane tag when a tree-sitter
grammar supports that file. `TreeContext on` and `TreeContext off` set it
diff --git a/docs/design.typ b/docs/design.typ
index 8ec025f1..01b850b9 100644
--- a/docs/design.typ
+++ b/docs/design.typ
@@ -2043,7 +2043,8 @@ a tagline or a one-cell-tolerant pane separator latches to a left-mouse gesture
for its lifetime, keeping layout drags out of the scroll heuristic. Touch
input translation and scroll/tap state live entirely in the JavaScript shell.
The native SDL shell uses a FreeType light-hinted grayscale atlas over the SDL GPU API (SPIR-V),
-with words shaped by HarfBuzz so a font's ligatures span their cells.
+with words shaped by HarfBuzz so a font's ligatures span their cells
+(`Ligatures off` draws every cell as its own glyph).
The browser exposes each cell as selectable, inspectable text and applies the
surface styles with CSS. The browser `.snap` harness drives real Chromium touch
input and reads both text and per-cell styles from the DOM renderer's packed