Sidl
Sidl is a macOS menu bar app that adds gestures to the edges and corners of your trackpad. Slide along an edge to change the volume or the screen brightness. Swipe in from an edge, or click a top corner, to open an app, control music, or send a shortcut.
Website: sidl.shresthaoshan.com
The story behind Sidl
I was scrolling Threads with nothing on my mind when I saw a post about a tool that adds gesture controls like these to the trackpad you already have.
I went to its website. It cost $9, and that was the sale price.
So I built my own overnight, with the help of a DeepSeek-powered coding harness. That became Sidl: free and open source.
I do not have an Apple Developer Program membership yet (it costs $99 a year 😞), so there is no signed release.
For now, Sidl is here as source code. If you can build it yourself, you save the $9. Pull requests are welcome.
Gestures
Edge gestures (two fingers)
Each edge zone is the outer 10% of the trackpad.
| Gesture | Default action |
|---|---|
| Swipe right from the left edge | Open Terminal |
| Swipe down from the top edge | Play/Pause |
| Slide up or down on the left edge | Brightness |
| Slide up or down on the right edge | Volume |
The macOS gesture for Notification Center (two-finger swipe left from the right edge) still works. A horizontal move on the right edge cancels the volume slide.
Corner clicks (one finger)
Click, or tap if tap-to-click is on, in a top corner of the trackpad. Each corner zone is 12% × 12% of the trackpad. Sidl runs the corner’s action, and the app under the pointer gets no click.
| Corner | Default action |
|---|---|
| Top-left | Previous track |
| Top-right | Next track |
Clicks with two fingers, and clicks outside the top corners, work as normal.
Actions
- Swipes and corner clicks: Open any app, Play/Pause, Next track, Previous track, Screenshot, Keyboard shortcut, or None.
- Screenshot opens the macOS screenshot toolbar (the same as ⇧⌘5).
- Keyboard shortcut sends a key combination that you record in Settings, for example ⌥⌘T.
- Slides: Volume, Brightness, or None.
Features
- Settings window: choose the action for each gesture and corner, or turn it off.
- Sensitivity: one setting for slides (how far you slide for a full change) and one for swipes (how far you swipe before it triggers). Each has levels 1 to 5.
- On-screen display: shows the volume or brightness level while you slide.
- Scroll blocking: while an edge gesture is active, the window under the pointer does not scroll.
- Launch at login.
Requirements
- macOS 13 Ventura or later.
- A Mac trackpad: built-in, or a Magic Trackpad.
- Accessibility permission, for scroll blocking, corner clicks, and the Screenshot and Keyboard shortcut actions. The other gestures and actions work without it.
Brightness changes the display that has the pointer:
- Built-in display: always works.
- Apple displays (Studio Display, Pro Display XDR, LG UltraFine): should work, but this is not tested yet.
- Other external monitors: work over DDC/CI on Apple silicon Macs, when only one external monitor is connected and DDC/CI is on in the monitor’s own menu. Some HDMI ports, docks, and adapters do not pass DDC/CI through.
- If brightness cannot be changed, the on-screen display shows “Not supported on this display”.
Install
There are no releases yet (see The story behind Sidl). To use Sidl now, build it from source.
Build from source
You need Xcode or the Xcode Command Line Tools (Swift 5.9 or later).
git clone https://github.com/shresthaoshan/sidl.git
cd sidl
swift test
scripts/bundle.sh
open Sidl.app
scripts/bundle.sh builds Sidl.app (debug by default; run scripts/bundle.sh release for a release build).
Signing
macOS links the Accessibility permission to the app’s code signature.
- If you have no signing certificate, the script uses ad-hoc signing. Each rebuild then gets a new identity, and you must grant Accessibility again after each build.
- To keep the permission across rebuilds, create a self-signed certificate one time:
- Open Keychain Access → Certificate Assistant → Create a Certificate.
- Name:
Touchyy Dev. Identity Type: Self Signed Root. Certificate Type: Code Signing. - Open the certificate, and set Trust → Code Signing to Always Trust.
To use a certificate with a different name, set SIGN_IDENTITY:
SIGN_IDENTITY="My Certificate" scripts/bundle.sh
Permissions
When Sidl starts, macOS asks for Accessibility permission. Turn on Sidl in System Settings → Privacy & Security → Accessibility.
The menu bar panel shows Scroll blocking: on when the permission is active.
How it works
Sidl uses private macOS frameworks. That is why it is not on the Mac App Store.
| Part | API |
|---|---|
| Raw finger positions | MultitouchSupport.framework (private), loaded at runtime with dlopen |
| Volume | CoreAudio |
| Brightness | DisplayServices.framework (private); DDC/CI with IOAVService I2C functions (private) for external monitors |
| Play/Pause, next, previous | MediaRemote.framework (private) |
| Scroll blocking, corner clicks | One CGEventTap on scroll events and left clicks |
| Screenshot, keyboard shortcuts | Key events posted with CGEvent |
| Open app, launch at login | NSWorkspace, SMAppService |
Private APIs can change in any macOS update.
Known limitations
- Sidl supports two trackpads at the same time, and trackpads that connect after it starts. These are not yet tested with a real Magic Trackpad. Please report problems.
- External monitor brightness (DDC/CI) is not yet tested with a real monitor. It works with one external monitor at a time, only on Apple silicon. Please report problems with your monitor model and how it connects.
Project layout
Sources/CMultitouch/ C shim that loads MultitouchSupport
Sources/Sidl/ The app: recognizers, router, actions, settings, HUD
Tests/SidlTests/ Unit tests
scripts/bundle.sh Builds and signs Sidl.app
Contributing
See CONTRIBUTING.md for setup, architecture, tests, and how to send a change.
License
Sidl is released under the MIT License.