Raycast extension plus native macOS helper for temporarily locking the keyboard and showing a dark cleaning screen while you clean your display.
When launched from Raycast, it:
- covers every display with a pure black overlay
- shows an
End Cleaning Sessionbutton in the center of the primary screen - blocks keyboard input while the session is active
- keeps mouse input available so you can end the session by clicking
- keeps emergency fallback shortcut:
Control-U
It is designed to bring the functionality of existing standalone keyboard-cleaning tools into a Raycast workflow.
src/index.ts: Raycast command entry point with dynamic Swift compilationassets/clean-screen-helper/: Swift package source code for the native overlay helper
- macOS 13+
- Raycast
- Node.js and npm for Raycast extension development
- Swift / Xcode Command Line Tools (for automatic compilation)
- Accessibility permission when the helper launches
The Swift helper is automatically compiled on first run and when source files change.
cd clean-screen
npm install
npm run devThen open Raycast and run Start Cleaning Session. The extension will build the Swift helper automatically on first launch.
- Run
npm installsopackage-lock.jsonis generated. - Run
npm run buildto validate the extension. - Run
npm run publishto submit it to Raycast.
- Keyboard blocking on macOS is permission-sensitive. Users must grant Accessibility access to
CleanScreenHelper.appon first use. - Some hardware or system-level keys may still bypass the blocker depending on macOS behavior.