A small macOS menu bar app that shows a visual effect at your mouse pointer whenever you click. Handy for screen sharing, demos, and recordings.
- 10 click effects: Ripple, Pulse, Burst, Confetti, Sparks, Chrysanthemum, Crossette, Willow, Ring, Kamuro
- Cursor highlight — persistent glow that follows your cursor
- Drag trail — light dots along your drag path
- Separate colors for left and right clicks
- Adjustable size and speed
- Juice options: hue/size/rotation randomness and combo boost
- Launch at login
- Menu bar only (no Dock icon)
- macOS 13 (Ventura) or later
- Accessibility permission (macOS asks on first launch)
./build-app.shThe built app is build/ClickEffect.app.
For a Universal (Intel + Apple Silicon) build:
./build-app.sh --universal- Drag
build/ClickEffect.appinto/Applications. - Open it from Spotlight or Launchpad.
- macOS will ask for Accessibility permission — grant it in System Settings → Privacy & Security → Accessibility, then relaunch the app if needed.
Note: "Launch at Login" requires the app to live in
/Applications(or~/Applications).
Click the menu bar icon (cursorarrow.rays):
- Enabled — toggle the effect on/off
- Settings… — open the settings window
- Launch at Login — start ClickEffect automatically on login
- Quit ClickEffect
| Section | Controls |
|---|---|
| Click Effect | Style picker, left/right click colors, size, speed |
| Cursor | Cursor highlight toggle + size, drag trail toggle |
| Juice | Hue/size/rotation randomness, combo boost |
ClickEffect is ad-hoc signed, not notarized. When a coworker receives the
.app and opens it for the first time, macOS will refuse with
"ClickEffect cannot be opened because the developer cannot be verified."
To bypass this, once:
- In Finder, right-click (or Control-click) the app → Open.
- In the confirmation dialog, click Open.
After that, it launches normally from Spotlight, Dock, etc.
If the app was downloaded via a browser and .app has the quarantine
attribute, another option is:
xattr -dr com.apple.quarantine /Applications/ClickEffect.app- Quit ClickEffect from the menu bar.
- Delete
/Applications/ClickEffect.app. - (Optional) Remove it from System Settings → Privacy & Security → Accessibility.
Source layout:
Sources/ClickEffect/
main.swift # entry point + CLI args
AppDelegate.swift # wiring
EventTap.swift # CGEventTap for mouse clicks, moves, and drags
OverlayController.swift # per-screen overlay management
OverlayWindow.swift # borderless, click-through NSWindow
StatusItemController.swift # menu bar UI
SettingsStore.swift # UserDefaults-backed ObservableObject
SettingsView.swift # SwiftUI settings form
SettingsWindow.swift # NSWindow wrapping the SwiftUI view
LoginItemManager.swift # SMAppService wrapper
Effects/
ClickEffect.swift # protocol + EffectConfig + EffectKind
RippleEffect.swift
PulseEffect.swift
BurstEffect.swift
ConfettiEffect.swift
SparksEffect.swift
ChrysanthemumEffect.swift
CrossetteEffect.swift
WillowEffect.swift
RingEffect.swift
KamuroEffect.swift
By default the app is ad-hoc signed, which means macOS treats every rebuild as a new app and you must re-grant Accessibility permission each time. To avoid this, create a local self-signed certificate:
./setup-signing.sh # one-time setupAfter this, ./build-app.sh automatically uses the certificate and
Accessibility permission persists across rebuilds.
The build pipeline is plain SwiftPM:
swift build— debug build for development./build-app.sh— assemblesbuild/ClickEffect.appswift Tools/generate-icon.swift— regenerateResources/AppIcon.iconsetfrom the SF Symbol (run once; files are checked in)