Shifty was made to expand the capabilities of the built in Night Shift feature in macOS. You can disable Night Shift for specific apps, websites, and custom time periods. It also provides easy access to a slider to fine tune your color temperature. With Shifty, Night Shift becomes a power user feature!
Shifty is customizable! Make it easier to toggle Night Shift with Quick Toggle or set dark mode based on the schedule. For common Shifty actions, you can set global keyboard shortcuts.
- macOS 10.12.4 or later
- System meets the requirements for Night Shift
- Website shifting supports Safari, Chrome, and Vivaldi.
Shifty is free and open source, licensed under GPLv3. Feel free to make a pull request!
If you'd like to help translate Shifty into other languages, you can contribute here.
This fork adds support for external displays and fullscreen-aware gamma control.
macOS Night Shift only works on built-in Retina displays. This fork uses CGSetDisplayTransferByTable gamma ramp to apply the same color temperature effect to any external monitor — tested on BenQ D43-720 5K.
- Three calibrated presets: 5500K (cool), 4200K (neutral-warm), 3400K (warmest)
- Default: 4200K
- Gamma tables calibrated from live f.lux readings
When any app enters fullscreen mode, Night Shift + gamma ramp are automatically disabled, then restored when you exit fullscreen. This uses the Window Server API (CGWindowListCopyWindowInfo), so no Accessibility permission is needed.
Website Shifting (per-site Night Shift rules) requires Accessibility permission to watch browser URLs. This fork uses an AX live probe (AXUIElementCopyAttributeValue → Window Server IPC) instead of relying on AXIsProcessTrusted() — which macOS caches per-process and never refreshes until app restart.
When you grant Accessibility in System Settings, Shifty auto-detects it and enables Website Shifting immediately — no restart needed. If the probe fails after 30 seconds, an in-app restart button appears as fallback.
Unlike the original, this fork enables the most useful preferences out of the box on a fresh install:
| Preference | Default |
|---|---|
| Launch at login | On |
| Set icon according to Night Shift | On |
| Disable in fullscreen | On |
| Night Shift on first launch | On |
Releases use YYYY.MM.DD.MICRO (CalVer). Each tagged release auto-builds a DMG via GitHub Actions.

