User Options and Variables
Every documented variable, grouped by the chapter that defines it. Each row links to the entry, which gives the accepted values, the default and the scope. A buffer-local variable can hold a different value in each buffer; a process-wide one applies everywhere.
Images
Section titled “Images”| Variable | Purpose |
|---|---|
ebox-image-converters |
Ordered (NAME . FUNCTION) image converters, called only by preparation. |
Viewport
Section titled “Viewport”| Variable | Purpose |
|---|---|
ebox-viewport-settle-delay |
Seconds of quiet after the last size change before Ebox reflows. |
ebox-viewport-width |
Viewport width in pixels for rendering outside a mount, or nil. |
ebox-viewport-height |
Viewport height in lines for rendering outside a mount, or nil. |
Scrolling
Section titled “Scrolling”| Variable | Purpose |
|---|---|
ebox-scroll-step |
Lines scrolled by one wheel step or ebox-scroll-down. |
ebox-swipe-distance |
Horizontal pixels a gesture travels before it counts as a swipe. |
ebox-swipe-quiet |
Seconds without horizontal wheel events that end a swipe gesture; a direction change also ends it immediately. |
Keyboard
Section titled “Keyboard”| Variable | Purpose |
|---|---|
etaf-direction-scheme |
Direction scheme of the key layer: arrows (default) or vim. |
ebox-buffer-mode-map |
Keymap of mounted Ebox buffers: scrolling, focus navigation and activation. |
Text Input
Section titled “Text Input”| Variable | Purpose |
|---|---|
ebox-input-edit-commands |
Commands that edit the session value when a session :keymap binds them. |
Animation
Section titled “Animation”| Variable | Purpose |
|---|---|
etaf-animation-easings |
Alist of (NAME . FUNCTION) easing curves from progress to eased progress. |
etaf-animation-interpolators |
Ordered ((PREDICATE . FUNCTION) ...) conversions consulted before built-in interpolation. |
etaf-animation-frame-rate |
Display clock rate in frames per second for running animations. |
etaf-animation-speed |
Animation speed multiplier, a positive number; 1.0 is normal speed. |
etaf-animation-paused |
While non-nil, the shared clock stops advancing. |
etaf-animation-enabled |
Whether animations interpolate over time; t by default. |
Native Video
Section titled “Native Video”| Variable | Purpose |
|---|---|
etaf-video-audio |
Whether new videos play their source's audio track by default. |
etaf-video-audio-volume |
Default audio volume for new videos, from 0 to 100. |
etaf-video-density-ramp |
Characters used for one video pixel in the ascii render mode. |
etaf-video-display-fps |
Display timer rate in frames per second for new video playback. |
etaf-video-ffmpeg-program |
Name or absolute path of the ffmpeg executable used to decode video. |
etaf-video-ffplay-program |
Name or absolute path of the ffplay executable used for audio. |
etaf-video-ffprobe-program |
Name or absolute path of the ffprobe executable used for metadata. |
| Variable | Purpose |
|---|---|
etaf-ui-icon-default-set |
The registered fallback style, initially nerd; bind or set it before rendering. |
Markdown
Section titled “Markdown”| Variable | Purpose |
|---|---|
etaf-ui-markdown-flavor |
Default markdown dialect of etaf-ui-markdown-parse. |
etaf-ui-markdown-flavors |
Named dialects and the extension flags they enable. |
Parameter Reference
Section titled “Parameter Reference”| Variable | Purpose |
|---|---|
ekp-alignment |
Paragraph alignment mode. |
ekp-first-line-indent |
First-line indentation: pixels, or t for 2 em of the paragraph font. |
ekp-parshape |
Per-line layout, as a sequence of (INDENT . WIDTH) cons cells. |
ekp-line-penalty |
Penalty for each line break. Higher = fewer lines. Default 10. |
ekp-hyphen-penalty |
Penalty for hyphenated breaks. Higher = avoid hyphenation. Default 50. |
ekp-adjacent-fitness-penalty |
Penalty when adjacent lines differ in tightness by more than one class. |
ekp-consecutive-hyphen-penalty |
Base penalty multiplier for consecutive hyphenated lines. |
ekp-last-line-min-ratio |
Minimum fill ratio for last line (0.0-1.0). |
ekp-last-line-short-penalty |
Penalty multiplier for underfilled last lines. |
ekp-looseness |
Target line count offset: 0=optimal, +1=looser (more lines), -1=tighter. |
ekp-ragged-stretch-pixel |
Per-line end-of-line flexibility (pixels) for non-justify alignment. |
ekp-default-cws-stretch-pixel |
Max stretched pixel of whitespace between CJK chars. |
ekp-kinsoku-profile |
Kinsoku profile used when compiling paragraph break permissions. |
ekp-cjk-no-line-start-extra |
Custom/Japanese CJK letters that must not start a line. |
ekp-cjk-no-line-end-extra |
Custom CJK characters that must not end a line. |
ekp-protrusion |
Non-nil enables right-edge character protrusion (hanging punctuation). |
ekp-protrusion-ratios |
Alist CLASS → RATIO of the glyph width allowed to protrude. |
ekp-number-unit-suffixes |
Exact suffixes recognized by the compact number-unit classifier. |
ekp-break-policy |
Text property controlling regional break policy. |
ekp-inline-code-policy |
Default break policy for automatic inline code spans. |
ekp-token-break-policies |
Break policies for bounded automatic token classifiers. |
ekp-overlong-token-policy |
Policy for ordinary non-CJK tokens wider than the measure. |
ekp-hyphenation |
Global discretionary hyphenation policy. |
ekp-latin-lang |
Language code for hyphenation (e.g., "en_US", "de_DE"). |
ekp-buffer-measure |
Measure used for automatic and default manual buffer layout. |
ekp-buffer-margin-pixel |
Pixels reserved inside the window body width. |
ekp-buffer-skip-faces |
Faces whose paragraphs stay verbatim. |
ekp-buffer-inline-faces |
Faces whose exact spans use ekp-inline-code-policy. |
ekp-buffer-skip-predicate |
Function called with a paragraph string that should stay verbatim. |
ekp-buffer-mode-policy-alist |
Mode profiles consulted by automatic and manual buffer layout. |
ekp-auto-justify-lazy-threshold |
Buffer size beyond which whole-buffer reflows run visible-first. |
ekp-auto-justify-paragraph-limit |
Maximum hard-paragraph characters planned automatically. |
ekp-auto-justify-resize-delay |
Seconds to debounce window resize reflows. |
ekp-auto-justify-tick-budget |
Seconds of work allowed in one lazy reflow tick. |
ekp-auto-justify-native-append |
Use the loaded native module for automatic live append DP. |
ekp-para-cache-limit |
Maximum number of cached paragraphs. |
ekp-use-c-module |
When non-nil, use C dynamic module for DP computation if available. |
Performance Engineering
Section titled “Performance Engineering”| Variable | Purpose |
|---|---|
etaf-performance-max-records |
Maximum completed operations retained by the recorder. |
- In EKP a parameter can come from three places. A buffer-local value wins over a matching mode profile, which wins over the global variable; the entry for each parameter says how it is read.
- Some variables are read every time the subsystem runs, so a change takes effect from the next key press or the next frame; others are captured when a new video, animation or session starts. The entry says which.
ebox-buffer-mode-mapholds a keymap andebox-input-edit-commandsa command list; the other rows hold data values.