matte.hx is a Helix editor plugin written in Steel Scheme that provides a distraction-free writing mode by centering the text column and enabling zoom on the focused split.

Stars

4

7-day growth

No data

Forks

0

Open issues

0

License

AGPL-3.0

Last updated

2026-07-30

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It brings a focused, zen-like editing experience to Helix through clipping and soft wrap, with a clever zoom feature that preserves split layouts, all implemented as a plugin without modifying the editor core.

Who it is for

  • Helix users seeking a centered, minimalist editing mode
  • Developers who frequently work with split layouts and want quick focus toggling
  • Writers or programmers who prefer a limited line width for readability

Use cases

  • Toggle a centered text column for distraction-free coding or writing
  • Widen or narrow the centered measure dynamically with keybindings
  • Zoom into the current split for focused editing and restore previous split arrangement
  • Combine matte and zoom into a single 'zen' mode for instant full-screen centered editing

Strengths

  • Gutter compensation centers the text column, not just the view, improving visual alignment
  • Remembers and rebuilds split layouts when toggling zoom, preserving as much state as possible
  • Configurable width, padding, soft wrap, and bufferline hiding via Scheme settings
  • Unit-tested core logic for clip arithmetic and snapshot ordering

Considerations

  • Pickers, prompts, and other plugin components are not clipped, and the info box may be misplaced or truncated
  • Gutter measurement relies on cursor position; can fail with off-screen cursor or tab indentation, falling back to no compensation
  • `:config-reload` resets the plugin state, and counts only work through keybindings, not typed commands

README quick start

matte.hx

Zen mode for the Helix editor, written in Steel Scheme: a centred text column, and zoom on the focused split.

:matte clips the editor to a measure and centres it in the terminal. It can also soft wrap at that measure and hide the bufferline; both are off unless you ask for them.

:zoom maximises the focused split and puts the others back afterwards.

Demo

Install

Requires a plugin-enabled Helix build. With forge, Steel’s package manager:

forge pkg install --git https://github.com/waddie/matte.hx

Then in ~/.config/helix/init.scm:

(require "matte.hx/matte.scm")

Or, from a checkout, ./install.sh.

Commands

CommandAction
matteToggle centring
matte_widenWiden the measure by the count, entering the mode first
matte_narrowNarrow the measure by the count
zoomToggle zoom on the focused split
zenToggle matte and zoom modes together, for convenience

Configuration

Settings are functions, called from init.scm before or after the require:

(require "matte.hx/matte.scm")

(matte-width! 88)                  ; columns of text, default 88
(matte-padding! 0)                 ; rows of inset top and bottom, default 0
(matte-soft-wrap! #false)          ; soft wrap at the measure, default off
(matte-bufferline! #false)         ; hide the bufferline, default off
(matte-gutter-compensation! #true) ; centre the text, not the view

Gutter compensation is the difference between centring the text column and centring the view. The gutter sits inside the view, so without it the text reads as sitting right of centre by the width of the line numbers.

A count only reaches a command through a keybinding, so bind the two that take one:

(require "helix/keymaps.scm")
(require "matte.hx/matte.scm")

(keymap (global)
  (normal
    (space (m
            (m ":matte")
            (w ":matte_widen")
            (n ":matte_narrow")
            (z ":zoom")
            (Z ":zen"))))
  (select
    (space (m
            (m ":matte")
            (w ":mat

Description

Zen mode for Helix: centre a buffer, zoom and restore splits

Related repositories

Similar projects matched by category, topics, and programming language.

waddie
waddie GitHub avatar

previously.hx

A Helix editor plugin that provides a fuzzy-filtered picker to browse and reuse yanks, command history, and search history stored in registers.

Scheme
3
Ra77a3l3-jar
Ra77a3l3-jar GitHub avatar

forest.hx

forest.hx is a file tree explorer for the Helix editor offering two selectable UI styles: a persistent sidebar panel with fuzzy search ('snacks') and floating Miller columns with live preview ('mini').

Scheme
71
angieruiz17
angieruiz17 GitHub avatar

codex-gpt-plugin

Codex Gpt Plugin connects a Codex agent to a logged-in ChatGPT Pro session via browser automation, enabling high-leverage tasks like architecture review and debugging strategy.

JavaScript
136