Technical Briefing: Crisp
The Problem
macOS provides no native mechanism for external monitor control. Users with high-refresh-rate or high-resolution displays encounter blurry text undersized scaling, cannot control monitor brightness beyond OS sliders, lack preset management, and have no DDC-based volume control. Paid alternatives (BetterDisplay, Lunar) address these but charge subscription fees for features that should be native.
What This Does
Crisp is a menu bar app replacing the display control gap in macOS. Core functionality is partitioned across specific service and model files:
Crisp/Services/DDCService.swifthandles DDC/CI commands for brightness and volume control across external monitorsCrisp/Services/HiDPIService.swiftmanages sharp scaled resolutions, enabling Retina-quality scaling on any display rather than the limited macOS scaled sizesCrisp/Services/VirtualDisplayService.swiftcreates and manages virtual displaysCrisp/Services/DisplayManager.swiftorchestrates display arrangement and main display switching- Model files
Crisp/Models/DisplayMode.swift,Crisp/Models/DisplayPreset.swift, andCrisp/Models/DisplayInfo.swiftdefine the data model for modes, saved configurations, and display metadata - UI views (
Crisp/Views/MainDisplayView.swift,Crisp/Views/MenuBarView.swift,Crisp/Views/DisplayModeListView.swift) render the menu bar panel and configuration interfaces
Brightness boost functionality in Crisp/Services/BrightnessBoostService.swift unlocks HDR reserve on XDR MacBook panels, while Crisp/Services/AutoBrightnessService.swift and Crisp/Services/BrightnessKeyService.swift manage pointer-following dimming and hardware minimum bypass.
How It Is Wired
Execution begins at Crisp/App/CrispApp.swift (SwiftUI entry point) and Crisp/App/AppDelegate.swift. The app delegate initializes services and the menu bar interface. Crisp/Services/DisplayManager.swift appears to be the central orchestrator, coordinating between HiDPIService, DDCService, VirtualDisplayService, and PresetService.
Hotkey registration routes through Crisp/Services/HotkeyService.swift, which maps global shortcuts to service actions. The arrangement canvas in Crisp/Views/ArrangementView.swift enables drag-to-reorder display positioning, with Crisp/Services/ArrangementService.swift persisting layout across sessions.
Service dependencies form a dependency graph: BrightnessService and DDCService interact with IOKit/IOService for direct monitor communication; HiDPIService works through CoreGraphics to present custom scaled resolutions; VirtualDisplayService creates display objects via macOS APIs. The PresetService (Crisp/Services/PresetService.swift) handles save/apply cycles for named configurations.
File-level responsibilities are clear: model files define data, services implement macOS interaction, views render UI. No structural cycles were detected in the directory graph, though the service interdependence means changing display scaling behavior requires coordination between HiDPIService, DisplayManager, and the view layer.
How To Use It
Setup: Two paths are documented and supported:
# Homebrew cask
brew install --cask didriksg/tap/crisp
Or download Crisp.dmg from releases and drag Crisp to Applications. Releases are signed and notarized by Apple.
Configuration: No environment variables or keys are required. Localization files exist in Crisp/Resources/Localizable.xcstrings with Simplified Chinese support. Scripts in scripts/i18n- manage translation completeness.
Running it: After installation, Crisp launches as a menu bar application. The entry point is the compiled macOS app bundle; no CLI invocation is provided beyond the install commands.
Real-World Use
A user with a 1440p 144Hz external monitor experiences blurry text at macOS default scaled resolutions. Installing Crisp automatically presents HiDPI options at the panel's native resolution with the full 144Hz refresh rate. The user enables "Sharp Scaling," selects a custom scaling factor between macOS-preset sizes, and text renders crisply. Simultaneously, they use the DDC brightness slider to lower monitor backlight below the OS minimum, and save a preset named "Night Work" with reduced brightness and a specific arrangement for their laptop + external display setup.
Code Health & Issues
Static analysis checks found no structural red flags. The repo contains:
- 11 test files in
CrispTests/covering DDC service matching, display mode geometry, keyboard shortcuts, gamma persistence, refresh rate formats, and variable refresh modes - GitHub Actions CI in
.github/workflows/ci.yml .swiftlint.ymlfor Swift lintingMakefilefor build targets- License file present
- Lockfile present
- 34 documentation files in
docs/ - Localization scripts (
scripts/check-translations.py,scripts/check-localization-keys.py) - Localized in English and Simplified Chinese
No missing license, absent CI, or committed secrets were detected. Test coverage spans model logic, service matching, and geometry edge cases.
The Bottom Line
Crisp delivers on its promise: a functional, free alternative to paid external monitor tools. The codebase is well-structured with clear separation between models, services, and views. HiDPI scaling and DDC brightness work as advertised without Pro tiers or license enforcement. The main limitation is macOS dependency—features requiring new macOS APIs will wait on Apple's platform updates. Engineers needing granular external monitor control without subscription fees should adopt this; teams locked into BetterDisplay/Lunar ecosystems for basic functionality may find sufficient replacement here.