Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,14 @@ Installed from `didriksg/tap` earlier? `brew upgrade` moves you to the main cask

- **Sharp, Retina-quality scaling on any display**: HiDPI resolutions that make external monitors crisp instead of blurry or tiny, set up automatically for 1440p and larger, always at the panel's full refresh rate (no more 1080p stuck at 50Hz on a 144Hz monitor)
- **Smooth scaling**: set how large everything looks in small steps, far beyond the few sizes macOS offers
- **Brightness everywhere**: the real backlight of external monitors over DDC, software dimming where that isn't supported and below the hardware minimum, and brightness keys that follow the pointer, all displays, or a chosen few
- **Brightness everywhere**: the real backlight of external monitors over DDC, software dimming where that isn't supported and below the hardware minimum, and brightness keys that follow the pointer, all displays, or a chosen few, or shortcuts of your own
- **Extra Brightness**: push XDR MacBook panels and HDR monitors past 100% into their HDR headroom; one toggle per display, then the slider and keys reach further. It draws more power, and HDR video can look overblown while it's on
- **Volume**: monitor speaker volume over DDC, with a slider per display and the volume keys mapped to the monitor when it's your audio output
- **Presets**: save resolution, brightness and arrangement under a name and icon, and apply them with one click
- **Display arrangement**: drag-to-arrange canvas, main display switching
- **Disconnect displays**: turn physical displays off and back on from the menu, remembered across sleep/wake (Apple Silicon)
- **Presets**: save resolution, brightness, arrangement, image adjustment and HDR under a name and icon, and apply them with one click, from Shortcuts, or from crispctl
- **Shortcuts**: apply a preset, set brightness, HDR, Extra Brightness, image adjustment or a monitor's input, and disconnect or reconnect a display, as actions in the Shortcuts app, so an automation can switch your displays between a day and a night setup
- **Display arrangement**: drag-to-arrange canvas, main display switching, and a pointer that crosses edges where displays of different sizes don't line up
- **Disconnect displays**: turn physical displays off and back on from the menu, remembered across sleep and reboot, and keep the built-in off while you're docked (Apple Silicon)
- **Input switching**: switch a monitor to another input over DDC, a second computer on HDMI for instance, and back from the menu
- **System toggles**: Dark Mode, Night Shift, and True Tone, one click from the menu bar
- **Color**: ICC profile switching, XDR reference presets, HDR on/off per display, and image adjustment (gamma, contrast, gain, invert colors)
- **Virtual displays**: create HiDPI virtual screens
Expand Down Expand Up @@ -94,14 +96,17 @@ To keep Keep Awake off on company Macs, push a configuration profile for the `co

## Automation

Crisp ships with `crispctl`, a command line tool for the same controls: list displays, read and set brightness, switch Extra Brightness and HDR, and disconnect or reconnect a display. The Command Line Tool switch in Settings links it into `/usr/local/bin` (the Homebrew cask does this on install); it also lives inside the app at `Crisp.app/Contents/MacOS/crispctl`. Crisp must be running.
Crisp ships with `crispctl`, a command line tool for the same controls: list displays, read and set brightness, switch Extra Brightness and HDR, change image adjustment, apply a preset, switch a monitor's input, and disconnect or reconnect a display. The Command Line Tool switch in Settings links it into `/usr/local/bin` (the Homebrew cask does this on install); it also lives inside the app at `Crisp.app/Contents/MacOS/crispctl`. Crisp must be running.

```sh
crispctl display list # JSON, with each display's id and uuid
crispctl brightness set <display> 40
crispctl display toggle <display> # for a KVM desk or a button
crispctl preset apply Night
```

The same controls are actions in the Shortcuts app: Apply Crisp Preset, Set and Get Display Brightness, Set Extra Brightness, Set Display HDR, Set Display Input, Disconnect and Reconnect Display, and Set and Reset Image Adjustment. A Time of Day automation that runs Apply Crisp Preset switches your displays between a day and a night setup.

`crispctl help` lists every command, and `--help` on any command gives its details. To let an AI agent drive it, `crispctl skill install claude` or `crispctl skill install codex` adds a skill for Claude Code or Codex; for another agent, `crispctl skill show` prints it. Run the install again after updating Crisp.

## Building
Expand Down
30 changes: 22 additions & 8 deletions docs/crisp-vs-betterdisplay-zh.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<meta name="twitter:image" content="https://crispmac.app/og-card-zh.png">
<link rel="icon" href="icon.png">
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Article","headline":"Crisp:免费开源的 BetterDisplay 平替","inLanguage":"zh-Hans","image":["https://crispmac.app/screenshot-zh.png"],"datePublished":"2026-07-31","dateModified":"2026-07-31","author":{"@type":"Person","name":"Didrik Galteland","url":"https://github.com/didriksg"}}
{"@context":"https://schema.org","@type":"Article","headline":"Crisp:免费开源的 BetterDisplay 平替","inLanguage":"zh-Hans","image":["https://crispmac.app/screenshot-zh.png"],"datePublished":"2026-07-31","dateModified":"2026-10-06","author":{"@type":"Person","name":"Didrik Galteland","url":"https://github.com/didriksg"}}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Crisp","item":"https://crispmac.app/zh.html"},{"@type":"ListItem","position":2,"name":"Crisp 对比 BetterDisplay / Lunar / MonitorControl"}]}
Expand All @@ -46,8 +46,8 @@
<img class="icon" src="icon.png" alt="Crisp 图标">
<p class="kicker">对比</p>
<h1>Crisp:免费开源的 BetterDisplay 平替</h1>
<p class="lead">大多数人买 BetterDisplay Pro,就是冲着那几个功能去的(灵活的 HiDPI 缩放、亮度、预设、排列),而 Crisp 把这些都做成了免费、开源(MIT)的功能。下面是它和 BetterDisplay、Lunar、MonitorControl 的逐项对比。</p>
<p class="byline">作者 <a href="https://github.com/didriksg">Didrik Galteland</a>(Crisp 作者)· <time datetime="2026-07-31">2026 年 7 月 31 日</time>更新</p>
<p class="lead">大多数人买 BetterDisplay Pro,就是冲着那几个功能去的(灵活的 HiDPI 缩放、亮度、预设、断开显示器),而 Crisp 把这些都做成了免费、开源(MIT)的功能。下面是它和 BetterDisplay、Lunar、MonitorControl 的逐项对比。</p>
<p class="byline">作者 <a href="https://github.com/didriksg">Didrik Galteland</a>(Crisp 作者)· <time datetime="2026-10-06">2026 年 10 月 6 日</time>更新</p>
</header>

<article class="prose">
Expand Down Expand Up @@ -139,7 +139,7 @@ <h2>功能对比</h2>
<tr>
<th>显示器排列界面</th>
<td class="c col-me"><span class="yes">✓</span></td>
<td class="c"><span class="no">✗</span></td>
<td class="c"><span class="yes">✓</span></td>
<td class="c"><span class="no">✗</span></td>
<td class="c"><span class="no">✗</span></td>
</tr>
Expand All @@ -153,10 +153,24 @@ <h2>功能对比</h2>
<tr>
<th>断开 / 关闭某块屏</th>
<td class="c col-me"><span class="yes">✓</span></td>
<td class="c"><span class="yes">✓</span></td>
<td class="c"><span class="pro">Pro</span></td>
<td class="c"><span class="pro">Pro</span></td>
<td class="c"><span class="no">✗</span></td>
</tr>
<tr>
<th>接上外接屏时自动关闭内建屏</th>
<td class="c col-me"><span class="yes">✓</span></td>
<td class="c"><span class="pro">Pro</span></td>
<td class="c"><span class="pro">Pro</span></td>
<td class="c"><span class="no">✗</span></td>
</tr>
<tr>
<th>切换显示器输入源(DDC)</th>
<td class="c col-me"><span class="yes">✓</span></td>
<td class="c"><span class="yes">✓</span></td>
<td class="c"><span class="yes">✓</span></td>
<td class="c"><span class="no">✗</span></td>
</tr>
<tr>
<th>XDR / HDR 亮度增强</th>
<td class="c col-me"><span class="yes">✓</span></td>
Expand Down Expand Up @@ -187,7 +201,7 @@ <h2>功能对比</h2>
</tr>
<tr>
<th>快捷指令 / 命令行</th>
<td class="c col-me"><span class="yes">✓</span> 命令行</td>
<td class="c col-me"><span class="yes">✓</span></td>
<td class="c"><span class="yes">✓</span></td>
<td class="c"><span class="yes">✓</span> 命令行</td>
<td class="c">~</td>
Expand All @@ -196,10 +210,10 @@ <h2>功能对比</h2>
</table>
</div>
<p class="legend"><span class="yes">✓</span> 免费 &nbsp; <span class="pro">Pro</span> 仅付费版 &nbsp; <span class="no">✗</span> 不支持 &nbsp; ~ 部分 / 受限</p>
<p class="note">价格和免费 / Pro 的划分参考各自的官方文档整理(BetterDisplay、Lunar,截至 2026 年年中)。功能会在版本间调整,具体以官网为准。</p>
<p class="note">价格和免费 / Pro 的划分参考各自的官方文档整理(BetterDisplay、Lunar,截至 2026 年 10 月)。功能会在版本间调整,具体以官网为准。</p>

<h2>为什么选 Crisp</h2>
<p>如果你要的只是 1440p 或 4K 显示器上清晰的 HiDPI,再加上亮度(Mac 的亮度键也能直接调外接屏,和内建屏一样)、预设和排列,Crisp 全都免费给你。现在还包括 <strong>XDR/HDR 亮度增强</strong>,把 XDR MacBook 和 HDR 显示器推过 100%,这项功能 BetterDisplay 和 Lunar 都锁在 Pro 里;另外还能通过 DDC 调显示器自带音箱的音量。App 里还内置了命令行工具 <code>crispctl</code>,亮度、HDR、额外亮度以及连接或断开显示器,都能在终端、Shell 脚本或快捷指令里完成。<strong>不用重置试用期,不用花钱买授权码,更不用去找破解版</strong>,因为它根本没有付费版。开源(MIT),代码随便看,也能自己编译。</p>
<p>如果你要的只是 1440p 或 4K 显示器上清晰的 HiDPI,再加上亮度(Mac 的亮度键也能直接调外接屏,和内建屏一样)、预设和排列,Crisp 全都免费给你。现在还包括 <strong>XDR/HDR 亮度增强</strong>,把 XDR MacBook 和 HDR 显示器推过 100%,这项功能 BetterDisplay 和 Lunar 都锁在 Pro 里;另外还能通过 DDC 调显示器自带音箱的音量。App 里还内置了命令行工具 <code>crispctl</code>,“快捷指令”里也有对应的操作:亮度、HDR、额外亮度、图像调整、预设、输入源以及连接或断开显示器,都能在终端、Shell 脚本或快捷指令自动化里完成。<strong>不用重置试用期,不用花钱买授权码,更不用去找破解版</strong>,因为它根本没有付费版。开源(MIT),代码随便看,也能自己编译。</p>

<h2>BetterDisplay Pro 仍然领先的地方</h2>
<p>先把话说清楚:Crisp 目前<strong>不支持</strong> EDID 覆写和画中画。如果你就是需要这些,<strong>BetterDisplay Pro 更合适</strong>,它成熟、维护得好,21.99 美元也算公道。但如果你要的只是日常的显示器控制,清晰又免费,Crisp 完全够用。</p>
Expand Down
30 changes: 22 additions & 8 deletions docs/crisp-vs-betterdisplay.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<meta name="twitter:image" content="https://crispmac.app/og-card.png">
<link rel="icon" href="icon.png">
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Article","headline":"Crisp: a free, open-source BetterDisplay alternative","image":["https://crispmac.app/screenshot.png"],"datePublished":"2026-07-31","dateModified":"2026-07-31","author":{"@type":"Person","name":"Didrik Galteland","url":"https://github.com/didriksg"}}
{"@context":"https://schema.org","@type":"Article","headline":"Crisp: a free, open-source BetterDisplay alternative","image":["https://crispmac.app/screenshot.png"],"datePublished":"2026-07-31","dateModified":"2026-10-06","author":{"@type":"Person","name":"Didrik Galteland","url":"https://github.com/didriksg"}}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Crisp","item":"https://crispmac.app/"},{"@type":"ListItem","position":2,"name":"Crisp vs BetterDisplay, Lunar and MonitorControl"}]}
Expand All @@ -46,8 +46,8 @@
<img class="icon" src="icon.png" alt="Crisp icon">
<p class="kicker">Comparison</p>
<h1>Crisp: a free, open-source BetterDisplay alternative</h1>
<p class="lead">Crisp does the things most people buy BetterDisplay Pro for (flexible HiDPI scaling, brightness, presets, arrangement), for free, and the whole app is open source (MIT). Here is how it compares with BetterDisplay, Lunar, and MonitorControl.</p>
<p class="byline">By <a href="https://github.com/didriksg">Didrik Galteland</a>, maker of Crisp · Updated <time datetime="2026-07-31">July 31, 2026</time></p>
<p class="lead">Crisp does the things most people buy BetterDisplay Pro for (flexible HiDPI scaling, brightness, presets, disconnecting displays), for free, and the whole app is open source (MIT). Here is how it compares with BetterDisplay, Lunar, and MonitorControl.</p>
<p class="byline">By <a href="https://github.com/didriksg">Didrik Galteland</a>, maker of Crisp · Updated <time datetime="2026-10-06">October 6, 2026</time></p>
</header>

<article class="prose">
Expand Down Expand Up @@ -139,7 +139,7 @@ <h2>Feature comparison</h2>
<tr>
<th>Display arrangement UI</th>
<td class="c col-me"><span class="yes">✓</span></td>
<td class="c"><span class="no">✗</span></td>
<td class="c"><span class="yes">✓</span></td>
<td class="c"><span class="no">✗</span></td>
<td class="c"><span class="no">✗</span></td>
</tr>
Expand All @@ -153,10 +153,24 @@ <h2>Feature comparison</h2>
<tr>
<th>Disconnect / blank a display</th>
<td class="c col-me"><span class="yes">✓</span></td>
<td class="c"><span class="yes">✓</span></td>
<td class="c"><span class="pro">Pro</span></td>
<td class="c"><span class="pro">Pro</span></td>
<td class="c"><span class="no">✗</span></td>
</tr>
<tr>
<th>Built-in off while docked</th>
<td class="c col-me"><span class="yes">✓</span></td>
<td class="c"><span class="pro">Pro</span></td>
<td class="c"><span class="pro">Pro</span></td>
<td class="c"><span class="no">✗</span></td>
</tr>
<tr>
<th>Monitor input switching (DDC)</th>
<td class="c col-me"><span class="yes">✓</span></td>
<td class="c"><span class="yes">✓</span></td>
<td class="c"><span class="yes">✓</span></td>
<td class="c"><span class="no">✗</span></td>
</tr>
<tr>
<th>XDR / HDR brightness boost</th>
<td class="c col-me"><span class="yes">✓</span></td>
Expand Down Expand Up @@ -187,7 +201,7 @@ <h2>Feature comparison</h2>
</tr>
<tr>
<th>Apple Shortcuts / CLI automation</th>
<td class="c col-me"><span class="yes">✓</span> CLI</td>
<td class="c col-me"><span class="yes">✓</span></td>
<td class="c"><span class="yes">✓</span></td>
<td class="c"><span class="yes">✓</span> CLI</td>
<td class="c">~</td>
Expand All @@ -196,10 +210,10 @@ <h2>Feature comparison</h2>
</table>
</div>
<p class="legend"><span class="yes">✓</span> free &nbsp; <span class="pro">Pro</span> paid tier only &nbsp; <span class="no">✗</span> not available &nbsp; ~ partial / limited</p>
<p class="note">Prices and free/Pro splits from each app's own documentation (BetterDisplay and Lunar, mid-2026). Features move between tiers over time, so check their sites for the current state.</p>
<p class="note">Prices and free/Pro splits from each app's own documentation (BetterDisplay and Lunar, October 2026). Features move between tiers over time, so check their sites for the current state.</p>

<h2>Where Crisp wins</h2>
<p>If what you wanted from BetterDisplay was <strong>sharp HiDPI on a 1440p or 4K monitor</strong>, plus brightness (your Mac's own brightness keys drive the external monitors too, just like the built-in), presets and arrangement, Crisp gives you all of it for free. That now includes <strong>XDR/HDR extra brightness</strong>, pushing an XDR MacBook or HDR monitor past 100%, which BetterDisplay and Lunar both keep behind Pro, and DDC volume for the monitor's built-in speakers. Crisp also ships <code>crispctl</code>, a command line tool inside the app, so brightness, HDR, Extra Brightness and connecting or disconnecting a display can be driven from the terminal, a shell script or an Apple Shortcut. There is no trial to reset and no license to buy, because there is no paid tier at all. It is open source, so you can read exactly what it does or build it yourself.</p>
<p>If what you wanted from BetterDisplay was <strong>sharp HiDPI on a 1440p or 4K monitor</strong>, plus brightness (your Mac's own brightness keys drive the external monitors too, just like the built-in), presets and arrangement, Crisp gives you all of it for free. That now includes <strong>XDR/HDR extra brightness</strong>, pushing an XDR MacBook or HDR monitor past 100%, which BetterDisplay and Lunar both keep behind Pro, and DDC volume for the monitor's built-in speakers. Crisp also ships <code>crispctl</code>, a command line tool inside the app, and actions for the Shortcuts app, so brightness, HDR, Extra Brightness, image adjustment, presets, a monitor's input and connecting or disconnecting a display can be driven from the terminal, a shell script or a Shortcuts automation. There is no trial to reset and no license to buy, because there is no paid tier at all. It is open source, so you can read exactly what it does or build it yourself.</p>

<h2>Where BetterDisplay Pro is still ahead</h2>
<p>Being honest keeps this useful. Crisp does <strong>not</strong> do EDID overrides or picture-in-picture. If you specifically need either of those, <strong>BetterDisplay Pro is the better buy</strong>, it is a mature, well-supported app and $21.99 is fair for what it does. Crisp is the right pick when you want the everyday display controls, sharp and free, without a subscription mindset.</p>
Expand Down
Loading
Loading