site: reviews — Herculaneum scroll, Zen Mode, The HTML Review (graduate from finds)
This commit is contained in:
@@ -2458,3 +2458,27 @@ Bundles created:
|
|||||||
- 2026-07-13-lighter-than-what-it-replaces: "Lighter than the thing it replaces" (4) — whimfiles, picview-image-viewer, mojave-paint, marked-ql-finder-preview. Each is the small native answer to one heavyweight (Finder, Preview, Photoshop, opening-an-app-at-all).
|
- 2026-07-13-lighter-than-what-it-replaces: "Lighter than the thing it replaces" (4) — whimfiles, picview-image-viewer, mojave-paint, marked-ql-finder-preview. Each is the small native answer to one heavyweight (Finder, Preview, Photoshop, opening-an-app-at-all).
|
||||||
|
|
||||||
Uncovered finds (15, still shortlisted-but-invisible — next themed bundle or catch): zen-mode-hammerspoon, timegauge, osaurus, powerhouz-starship-home-dashboard, knockoff-shopping, analogtv-full-simulation, transparent-window-bird-feeder, do-your-whisky-whiskey-making-kit, chompsaw-power-tool-for-kids, wyrm-math, grand-view-park-turtle-hill, london-notebook-writing, cjrb-pyrite-light-thermochromic, claymore-3face-mini-area-light, lectrofan-alpha-noise-machine. No honest theme held these together this run — they're a genuine grab-bag (a focus hotkey, a local LLM, a bird feeder, a kids' cardboard saw, a San Francisco hilltop), and padding a cluster with them would have wrecked the six that do hold. Note zen-mode-hammerspoon is uncovered only because it graduates to a review this run and will be visible that way.
|
Uncovered finds (15, still shortlisted-but-invisible — next themed bundle or catch): zen-mode-hammerspoon, timegauge, osaurus, powerhouz-starship-home-dashboard, knockoff-shopping, analogtv-full-simulation, transparent-window-bird-feeder, do-your-whisky-whiskey-making-kit, chompsaw-power-tool-for-kids, wyrm-math, grand-view-park-turtle-hill, london-notebook-writing, cjrb-pyrite-light-thermochromic, claymore-3face-mini-area-light, lectrofan-alpha-noise-machine. No honest theme held these together this run — they're a genuine grab-bag (a focus hotkey, a local LLM, a bird feeder, a kids' cardboard saw, a San Francisco hilltop), and padding a cluster with them would have wrecked the six that do hold. Note zen-mode-hammerspoon is uncovered only because it graduates to a review this run and will be visible that way.
|
||||||
|
|
||||||
|
## 2026-07-13 — review: herculaneum-scroll-first-read
|
||||||
|
|
||||||
|
Graduated from find captured on 2026-07-13, source: Open Culture.
|
||||||
|
Hero: scrollprize.org's own "From object to text" figure (img/firstscroll/fig1.webp, 2400×2148) — the sealed black roll, the X-ray cross-sections showing the sheet spiraled inside, and the flattened surface with all 22 columns of Greek. Replaces the find's 1200×630 OG crop; it tells the whole story in one frame.
|
||||||
|
Category: history (existing).
|
||||||
|
Fact-check (mandatory): the find's core claims all held up against scrollprize.org/firstscroll — PHerc. 1667, held at the National Library of Naples, read via phase-contrast X-ray microtomography (ESRF Grenoble, BM18) plus ML ink detection; the text is a Stoic ethics treatise whose final preserved column names Aristocreon, nephew of Chrysippus. **Four things the find flattened, now corrected in the review:** (1) "entire scroll" needs a gloss — 19th-century, 1969 and 1980s hand-opening attempts destroyed the outer layers, leaving an ~8cm core of an original 19–24cm roll, so what was read end to end is the *preserved* text (~22 columns, ~1.4m), not the original scroll; (2) the author is **unknown** — Aristocreon is named *in* the text, not its author (Chrysippus floated, unproven); (3) the milestone is *continuity* — first rolled scroll read as a document, versus 2023's first word (ΠΟΡΦΥΡΑϹ) and 2024's Grand Prize ~5% of one roll; (4) it is a **preprint**, not yet peer-reviewed (announced 2026-06-25). Added: companion results on PHerc. Paris 4 (ink now directly visible in the 3D X-ray data, independently reproducing the 2023 reading one-to-one — a real check that the ML wasn't hallucinating) and PHerc. 139 (title recovered: Philodemus, *On Gods*, Book 8). Corroborated against Smithsonian and Archaeology Magazine.
|
||||||
|
Amazon: n-a.
|
||||||
|
|
||||||
|
## 2026-07-13 — review: zen-mode-hammerspoon
|
||||||
|
|
||||||
|
Graduated from find captured on 2026-07-13, source: Hacker News — Show HN.
|
||||||
|
Hero: hero.mp4 — the repo's own screenshots/demo.mp4 (3024×1964 @30fps) re-encoded to 1440×936, 1.8MB. **Deliberately NOT the find's hero.gif**: `src/lib/hero.ts` globs `.gif` into the image branch, where astro:assets `<Image>` runs it through sharp without `animated: true` — an animated GIF hero would have been silently flattened to a single static frame, killing the whole point of a motion demo. Nine existing reviews use hero.mp4 (the cotypist review sets the precedent — it also converted a source GIF). Worth remembering as a standing trap for any future animated hero.
|
||||||
|
Category: focus (existing).
|
||||||
|
Fact-check (mandatory): find held up on the core claim — it is a Hammerspoon script (not an app), and the effect really is app-agnostic because it works at the window-manager level. **Corrections:** the backdrop is not opaque black but an adjustable 85%-alpha dark scrim (fillColor alpha 0.0–1.0), and the mechanism is one full-screen canvas raised to cursor level with a rounded cutout punched over the focused window — not per-window dimming. **Added:** needs Accessibility permission only, no Screen Recording (the author chose a dark fill over a frosted blur specifically to avoid it). **Limits documented in the review:** one window at a time; native full-screen windows don't respond; single display; Esc is globally captured while active (a Vim caveat); it sets `hs.window.animationDuration = 0` *globally*, which breaks animation for any other script in your Hammerspoon config; tested on macOS 26 only. **Maturity flagged honestly:** the repo is two days old (created 2026-07-11), 25 stars, 0 issues, MIT, by Ryan Cabeen — actively pushed, so the graduation stands, but the review says plainly that there is no track record yet.
|
||||||
|
Amazon: n-a (software).
|
||||||
|
|
||||||
|
## 2026-07-13 — review: html-review-issue-05
|
||||||
|
|
||||||
|
Graduated from find captured on 2026-07-13, source: Things Magazine.
|
||||||
|
Hero: the find's own hero.png (3600×1890, the issue's cover art) carried across — nothing richer on the site is license-safe (the issue index's other imagery is per-piece contributor art).
|
||||||
|
Category: reading (existing).
|
||||||
|
Fact-check (mandatory): **the find had a factual error** — it said Issue 05 "runs sixteen pieces deep"; it is **fifteen** (counted from the raw HTML, entries 01–15; corroborated by the archive page). Corrected in both the review and the find body. Both pieces the find named are real and correctly attributed — "Intersymmetric: Connect" (James Bradbury, Rian Treanor, Mark Fell) and "carecore" (Raphaël Bastide) — but both were misdescribed: Connect broadcasts *pattern data* between everyone on the page in real time (not "a shared audio survey"), and carecore is a *persistent shared garden* (plant a seed a day, feed others' plants, treat parasites, compost the dead), not merely "generative CSS botany." Journal verified: annual, published on the first day of Spring; five issues, Spring 2022 → Spring 2026, 74 pieces total; free, no account; edited by Shelby Wilson and Maxwell Neely-Cohen; submissions open Nov 1–Dec 1, $500 per contribution, contributors keep their work in perpetuity. Two further standouts named and verified: "Banner Highway 01" (Richard Lewei Huang, Yufeng Zhao) and "Kp'ọjọ kp'ọjọ" (Omayeli Arenyeka). Could not verify the journal's funding source — the About page names none, so the review claims nothing about it.
|
||||||
|
Amazon: n-a.
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ shortlist: true
|
|||||||
link: "https://scrollprize.org/firstscroll"
|
link: "https://scrollprize.org/firstscroll"
|
||||||
linkText: "scrollprize.org"
|
linkText: "scrollprize.org"
|
||||||
source: "Open Culture"
|
source: "Open Culture"
|
||||||
|
promotedTo: herculaneum-scroll-first-read
|
||||||
topics: [history-and-archives, ai]
|
topics: [history-and-archives, ai]
|
||||||
tags: [archive, ancient-history, machine-learning, papyrology]
|
tags: [archive, ancient-history, machine-learning, papyrology]
|
||||||
description: "The Vesuvius Challenge has virtually unwrapped and read an entire Herculaneum scroll, PHerc. 1667, for the first time in two thousand years."
|
description: "The Vesuvius Challenge has virtually unwrapped and read an entire Herculaneum scroll, PHerc. 1667, for the first time in two thousand years."
|
||||||
|
|||||||
@@ -6,9 +6,10 @@ shortlist: true
|
|||||||
link: "https://thehtml.review/05/"
|
link: "https://thehtml.review/05/"
|
||||||
linkText: "thehtml.review"
|
linkText: "thehtml.review"
|
||||||
source: "Things Magazine"
|
source: "Things Magazine"
|
||||||
|
promotedTo: html-review-issue-05
|
||||||
topics: [web-tools, design-and-art, writing-and-notes]
|
topics: [web-tools, design-and-art, writing-and-notes]
|
||||||
tags: [literary-journal, css-art, interactive-fiction]
|
tags: [literary-journal, css-art, interactive-fiction]
|
||||||
description: "A free annual journal of web-native literature — poems, essays, and interactive pieces that only work as living web pages."
|
description: "A free annual journal of web-native literature — poems, essays, and interactive pieces that only work as living web pages."
|
||||||
---
|
---
|
||||||
|
|
||||||
The HTML Review is a free annual journal of writing built to exist on the web rather than be printed from it. Issue 05 (Spring 2026) runs sixteen pieces deep, including "Intersymmetric: Connect," a multiplayer music system by James Bradbury, Rian Treanor, and Mark Fell that turns visitors' inputs into a shared audio survey, and "carecore," a piece of generative CSS botany by Raphaël Bastide dedicated to caregivers. There's also a CSS webtoon, a folktale, and poems that lean on the page itself as part of the text — the kind of work that would lose something if you tried to put it on paper.
|
The HTML Review is a free annual journal of writing built to exist on the web rather than be printed from it. Issue 05 (Spring 2026) runs fifteen pieces deep, including "Intersymmetric: Connect," a multiplayer music system by James Bradbury, Rian Treanor, and Mark Fell that turns visitors' inputs into a shared audio survey, and "carecore," a piece of generative CSS botany by Raphaël Bastide dedicated to caregivers. There's also a CSS webtoon, a folktale, and poems that lean on the page itself as part of the text — the kind of work that would lose something if you tried to put it on paper.
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ source: "Hacker News — Show HN"
|
|||||||
topics: [macos-apps, productivity]
|
topics: [macos-apps, productivity]
|
||||||
tags: [hammerspoon, focus, open-source, utility]
|
tags: [hammerspoon, focus, open-source, utility]
|
||||||
description: "A Hammerspoon script that adds one global focus hotkey to macOS: the active window centers and grows while the Menu Bar, Dock, and every other window fade to black."
|
description: "A Hammerspoon script that adds one global focus hotkey to macOS: the active window centers and grows while the Menu Bar, Dock, and every other window fade to black."
|
||||||
|
promotedTo: zen-mode-hammerspoon
|
||||||
---
|
---
|
||||||
|
|
||||||
Zen Mode is a Hammerspoon script, not an app: one hotkey (`Option + Cmd + Z`) glides the focused window to center, grows it to full height, and fades the Menu Bar, Dock, and everything else to black. Because it operates at the window-manager level instead of inside a single app, the same keystroke works identically in Terminal, a browser, or a PDF reader — unlike the zen modes built into individual editors, which only ever cover that one app. Press `Esc` or the hotkey again to restore the window to its exact prior position and size.
|
Zen Mode is a Hammerspoon script, not an app: one hotkey (`Option + Cmd + Z`) glides the focused window to center, grows it to full height, and fades the Menu Bar, Dock, and everything else to black. Because it operates at the window-manager level instead of inside a single app, the same keystroke works identically in Terminal, a browser, or a PDF reader — unlike the zen modes built into individual editors, which only ever cover that one app. Press `Esc` or the hotkey again to restore the window to its exact prior position and size.
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 474 KiB |
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
name: "The First Herculaneum Scroll, Read"
|
||||||
|
subtitle: "A 2,000-year-old scroll read in full without ever being opened"
|
||||||
|
date: 2026-07-13
|
||||||
|
category: history
|
||||||
|
topics: [history-and-archives, ai]
|
||||||
|
tags: [archive, ancient-history, machine-learning, papyrology, open-source]
|
||||||
|
link: "https://scrollprize.org/firstscroll"
|
||||||
|
linkText: "scrollprize.org"
|
||||||
|
description: "The Vesuvius Challenge has virtually unwrapped PHerc. 1667 — a carbonized Herculaneum scroll — and read its preserved text continuously, end to end, for the first time in two thousand years. X-ray microtomography, machine-learning ink detection, and a pan-and-zoom of the unwrapped surface you can read yourself."
|
||||||
|
source: "Open Culture"
|
||||||
|
fromFind: herculaneum-scroll-first-read
|
||||||
|
---
|
||||||
|
|
||||||
|
import { Image } from 'astro:assets';
|
||||||
|
import hero from './hero.webp';
|
||||||
|
|
||||||
|
<Image src={hero} alt="Four panels from the Vesuvius Challenge: the blackened carbonized roll of PHerc. 1667 photographed on a white background; two X-ray cross-sections showing the papyrus sheet spiraled tightly inside the sealed roll; and the flattened, unwrapped writing surface with twenty-two numbered columns of Greek text recovered by machine-learning ink detection." />
|
||||||
|
|
||||||
|
*From object to text, in one image: the sealed lump, the X-ray cross-sections of the sheet wound inside it, and the twenty-two columns of Greek that came out the other end.*
|
||||||
|
|
||||||
|
> PHerc. 1667 — carbonized by Vesuvius in 79 AD and far too fragile to unroll — has been virtually unwrapped with X-ray scanning and machine learning, and its surviving text read continuously from beginning to end. It is the first Herculaneum scroll ever read that way, and you can pan across the unwrapped page yourself.
|
||||||
|
|
||||||
|
The Herculaneum papyri have always come with a cruel catch: they survived the eruption only by being carbonized, and carbonization is what makes them unopenable. To unroll one is to destroy it. That is not a hypothetical — it is PHerc. 1667's own biography. Hand-opening attempts in the nineteenth century, and again in 1969 and the 1980s, tore away its outer layers and left a compact inner core roughly 8 cm tall out of an original 19–24 cm. By the 1980s it was written off as unreadable. Hundreds of rolls in the same library have sat sealed ever since, their contents intact and unreachable at the same time.
|
||||||
|
|
||||||
|
On 25 June 2026 the Vesuvius Challenge announced it had read that core straight through. Worth being precise about what "read end to end" means, because it is both less and more than it sounds: this is not the entire original scroll — more than half of that was destroyed by the people who tried to open it — but it *is* the entire preserved text, roughly 1.4 metres of papyrus and around twenty-two columns of Greek, read continuously rather than in the isolated words and patches that every previous milestone produced. That distinction is the whole story. In October 2023 the Challenge recovered a single word from a sealed scroll (ΠΟΡΦΥΡΑϹ — "purple"). In February 2024 its Grand Prize went to a few columns' worth, around 5% of one roll. This is the first time anyone has read a rolled Herculaneum scroll as a *document* — front to back, in order, with enough continuity for scholars to actually work on.
|
||||||
|
|
||||||
|
The method is the same idea scaled up and hardened. The scroll was scanned with high-resolution phase-contrast X-ray microtomography on the BM18 beamline at the European Synchrotron Radiation Facility in Grenoble, in collaboration with the National Library of Naples "Vittorio Emanuele III", which holds the papyri. From those volumes the team reconstructed the scroll's geometry, traced the wound sheet and flattened it into a readable surface, then trained machine-learning models to pick out ink that is chemically and visually almost indistinguishable from the carbonized papyrus under it — the middle and bottom panels of the image above are exactly that pipeline. Papyrologists then examined and transcribed every reading. Two companion results landed alongside it: in PHerc. Paris 4, higher-resolution imaging now makes ink *directly visible* in the 3D X-ray data, and segmenting it reproduces the 2023 Grand Prize reading one-to-one — an independent confirmation, from better data, that the ML readings were real and not hallucinated. And in a third scroll, PHerc. 139, the title block was recovered: Philodemus, *On Gods*, Book 8.
|
||||||
|
|
||||||
|
What PHerc. 1667 actually says is the part worth slowing down for. It is a philosophical treatise on ethics, and the evidence points to a **Stoic** work — notable in itself, since the Villa dei Papiri library is dominated by Epicurean material (Philodemus, as the PHerc. 139 title above obligingly demonstrates). It turns on human nature, impulse, and moral progress, and its final preserved column names **Aristocreon**, nephew and disciple of Chrysippus, which together with its language and themes places it in a Stoic context and dates the work to the 2nd century BC — some papyrologists read the hand as late 3rd. The author is not named and remains unknown; the lead papyrologist's team has floated Chrysippus himself as a suspect, but the title and attribution were lost long ago and the scroll does not give them up. A sentence nobody had read in two millennia: *"…we will inquire into something, but we will not grasp it, if in some way we depart from ourselves and from our own nature…"*
|
||||||
|
|
||||||
|
Honest limits, and there are several. The readings are fragmentary — the papyrus is damaged and there are gaps wherever the surface is gone, and because only the lower band of the roll survived, what you get is the *lower parts* of those twenty-two columns rather than whole ones. The work is a preprint, not yet peer-reviewed. The attribution is open. And PHerc. 1667 is one scroll out of hundreds still sealed. What keeps this from being a press release is that the whole thing is open: the tomographic data, reconstructed surfaces and transcriptions are released under a Creative Commons licence at [scrollprize.org/data](https://scrollprize.org/data), archived at the ESRF, with the code on GitHub — anyone can check the work or apply it to the next roll. And the page itself is the artifact, not a write-up of one: it opens with the complete unwrapped writing surface as a pan-and-zoom viewer you drag sideways through all 1.4 metres and click to magnify, with the translated passages, a cross-section video sweeping through the sealed roll, and a high-resolution download of the page. Go read the columns.
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 596 KiB |
@@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
name: "The HTML Review, Issue 05"
|
||||||
|
subtitle: "Fifteen pieces of literature that only work as living web pages"
|
||||||
|
date: 2026-07-13
|
||||||
|
category: reading
|
||||||
|
topics: [web-tools, design-and-art, writing-and-notes]
|
||||||
|
tags: [literary-journal, css-art, interactive-fiction, web-native, annual]
|
||||||
|
link: "https://thehtml.review/05/"
|
||||||
|
linkText: "thehtml.review"
|
||||||
|
description: "The HTML Review is a free annual journal of literature made to exist on the web. Issue 05 (Spring 2026) runs fifteen pieces — a multiplayer music system, a shared CSS garden, banner-ad poetry — that would all lose their point on paper."
|
||||||
|
source: "Things Magazine"
|
||||||
|
fromFind: html-review-issue-05
|
||||||
|
---
|
||||||
|
|
||||||
|
import { Image } from 'astro:assets';
|
||||||
|
import hero from './hero.png';
|
||||||
|
|
||||||
|
<Image src={hero} alt="Cover art for the HTML Review Issue 05, Spring 2026." />
|
||||||
|
|
||||||
|
> The HTML Review is a free annual journal of "literature made to exist on the web" — not writing that happens to be published online, but writing where the page is the medium. Issue 05 (Spring 2026) is fifteen pieces long, and most of them stop making sense the moment you try to print them.
|
||||||
|
|
||||||
|
Edited by Shelby Wilson and Maxwell Neely-Cohen, the journal publishes one issue a year, on the first day of Spring, and has done since Issue 01 in 2022. It is free to read, with no account and no paywall; submissions open for a single month each year (November 1 to December 1), contributors are paid $500 per piece, and they keep their work in perpetuity — the review only archives a copy of the code. That last detail is the tell. This is a journal whose editorial process covers "text, design, and code," because for most of what it prints the three are the same object.
|
||||||
|
|
||||||
|
The distinction it's drawing is narrower than "digital literature" and worth stating precisely. A PDF poem, a Substack essay, a Kindle novel — all of those are print that arrived by wire. What the HTML Review wants is work that could not have been made anywhere else: the cursor, the scroll, the hyperlink, the stylesheet, the fact that other people are on the page with you right now. It isn't a new idea, but it is an unusually well-edited one, and the results have landed in places that don't normally read literary magazines — pieces from past issues have taken the New Media Writing Prize and been shown at Rhizome, Pioneer Works, and the de Young.
|
||||||
|
|
||||||
|
Three from this issue give the shape of it. **"Intersymmetric: Connect"** by James Bradbury, Rian Treanor, and Mark Fell is a multiplayer music system: a browser instrument where your inputs are broadcast to everyone else currently on the page (the system shares pattern data, not audio streams), so the thing you are playing is also being played by strangers. Its text frames that as the social survey curdling into surveillance — the minutiae of a life, "recorded, mapped, controlled." **"carecore"** by Raphaël Bastide, which the issue files under the genre "CSS botany," is a persistent shared garden: plant one seed a day, feed other people's plants, treat them against parasites, compost the dead ones for nutrients. It is dedicated "to all caregivers, whether by choice or circumstance," and Bastide built it in explicit reaction to AI-generated interfaces — his argument being that you cannot care for a black box. And **"Banner Highway 01"** by Richard Lewei Huang and Yufeng Zhao rebuilds the old Burma-Shave roadside sign poems out of salvaged late-90s banner ads, scrolled through like a highway; click any banner and it confesses its original metadata. Elsewhere in the issue: a CSS webtoon (**"les aventures de mr mister in the land of lines"** by zeste le reste), an Itsẹkiri folktale (**"Kp'ọjọ kp'ọjọ"** by Omayeli Arenyeka), and a page that is simply a place to sit next to someone (**"Cursor Park"** by Christopher Shank).
|
||||||
|
|
||||||
|
The honest limits: this is an annual, so the entire body of work is five issues — 74 pieces since 2022, and you can read the good half of any one of them in an evening. The hit rate is what you'd expect from an art form with no settled grammar; some pieces are genuinely moving, some are a clever mechanic in search of a text, and a few want a landscape screen and an unmuted device before they'll work at all. It is also art, not utility — nothing here saves you time or solves a problem. What it does is make a case, once a year and for free, that the web is a place you can write *in* rather than *to*, and Issue 05 is the strongest argument the journal has made yet.
|
||||||
Binary file not shown.
@@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
name: "Zen Mode"
|
||||||
|
subtitle: "One global hotkey that zens any Mac app, not just editors"
|
||||||
|
date: 2026-07-13
|
||||||
|
category: focus
|
||||||
|
topics: [macos-apps, productivity]
|
||||||
|
tags: [hammerspoon, focus, open-source, utility, macos, window-management]
|
||||||
|
link: "https://github.com/cabeen/zen-mode"
|
||||||
|
linkText: "GitHub"
|
||||||
|
description: "A Hammerspoon script that adds one global focus hotkey to macOS: the active window centers and grows to full height while the Menu Bar, Dock, wallpaper, and every other window black out. MIT, ~250 lines of Lua — and it needs Hammerspoon."
|
||||||
|
source: "Hacker News — Show HN"
|
||||||
|
fromFind: zen-mode-hammerspoon
|
||||||
|
---
|
||||||
|
|
||||||
|
import demo from './hero.mp4';
|
||||||
|
|
||||||
|
<video src={demo} autoplay loop muted playsinline preload="metadata" aria-label="Zen Mode toggling on and off across a terminal and a browser window: the focused window glides to center and grows to full height while the rest of the desktop fades to black." />
|
||||||
|
|
||||||
|
*One keystroke, twice — first in a terminal, then in a browser. The window centers and grows; the wallpaper, Menu Bar, Dock, and every other window go dark behind it.*
|
||||||
|
|
||||||
|
> Zen Mode is one hotkey that centers the focused window, grows it to full height, and blacks out everything else on screen — Menu Bar, Dock, wallpaper, other windows. It is not an app. It is about 250 lines of Hammerspoon Lua, which is both the appeal and the catch.
|
||||||
|
|
||||||
|
Every good writing app ships a zen mode, and every one of them stops at its own window. VS Code, Obsidian, and iA Writer will each give you a centered, chrome-free canvas — but only for VS Code, Obsidian, or iA Writer. The moment the work is in a terminal, a browser tab, or a PDF, there is no zen mode to reach for, because zen mode was never a property of the desktop. Zen Mode moves it there: it operates on whatever window is focused, so the same keystroke works everywhere, with no per-app setup and nothing to configure per app.
|
||||||
|
|
||||||
|
The mechanism is smarter than dimming background windows one by one. The script draws a single full-screen canvas, raised to the macOS *cursor* window level — above the layers the Menu Bar and Dock live on, which is why it can actually bury them — and then punches a rounded, transparent cutout exactly where your focused window sits. Your window is never touched or re-parented; it stays a completely normal, interactive window, and everything around it is simply blacked out. `Option + Cmd + Z` toggles it; `Esc` also exits. Entering is choreographed in two phases for a reason worth knowing: the window first glides to center *at its original size* while the backdrop fades, and only grows to full height once the screen is fully dark — resizing forces an app to re-layout (a terminal reflows its entire character grid), so the ugly part happens where you can't see it. Exiting reverses the sequence and restores the window's exact prior position and size.
|
||||||
|
|
||||||
|
One correction to the pitch, including the project's own: it is not a true black overlay. The default backdrop is `{white = 0, alpha = 0.85}` — an 85%-opaque dark scrim, not opacity 1.0 — and the alpha is a variable you can set anywhere from `0.0` to `1.0`. That is a deliberate choice, not a shortcut. A frosted-glass blur would need private API, or a screenshot-and-blur workaround that demands Screen Recording permission and produces a frozen image that goes stale the moment anything moves. A translucent dark fill stays live, costs nothing, and works in both light and dark mode. The practical upshot is that Zen Mode needs **Accessibility permission only** — no Screen Recording. The rest of the aesthetics are equally tunable: top and bottom margins, corner radius, the edge seal, and the two animation durations (set them to `0` for instant snapping).
|
||||||
|
|
||||||
|
Now the friction, and it is real. This is a Hammerspoon script, not an app — there is no download, no `.dmg`, no Settings window. You install Hammerspoon (`brew install --cask hammerspoon`), grant it Accessibility, append the repo's `init.lua` to your `~/.hammerspoon/init.lua`, and pick Reload Config from the menu bar. If you already run Hammerspoon, that is a two-minute append and the barrier is nil. If you don't, you are installing a whole desktop automation runtime and maintaining a Lua config file in order to get one hotkey — a genuine cost, and one the project is upfront about. Note too that the script sets `hs.window.animationDuration = 0` globally, which disables the built-in move animation for every *other* window script in your config.
|
||||||
|
|
||||||
|
The limits are honest and documented. Only one window can be zenned at a time — the top request on its Show HN thread, and already in the TODO. Native full-screen windows don't respond at all, because macOS puts them in their own Space and ignores the reposition, so leave full screen first. The overlay covers only the display the focused window is on; other monitors are untouched. Windows that refuse to resize (some utility and settings panels) will center but keep their size. Switching Spaces while active is untested. And `Esc` is captured globally while Zen Mode is on, so Vim users should toggle off with the hotkey instead. It's tested on macOS 26 "Tahoe" only; on older releases the default `cornerRadius = 24` is too generous and wants dropping to about `10`.
|
||||||
|
|
||||||
|
Ryan Cabeen published it two days ago under MIT — 25 stars, no forks, no open issues, which is to say there is no track record here at all. Judge it as what it is: a small, readable, dependency-free script that does one thing the operating system should probably have done itself, and that you can read end to end in a few minutes before deciding to trust it.
|
||||||
Reference in New Issue
Block a user