A lightweight window border tool for macOS, written in Rust. Inspired by JankyBorders.
brew install pablopunk/brew/edges# Start as a background service (runs at login)
brew services start edges
# Or run directly
edgesCreate ~/.config/edges/edges.toml:
style = "round"
width = 6.0
active_color = "0xffe2e2e3"
inactive_color = "0xff414550"
# order = "below"
# hidpi = falseChanges take effect after restarting: brew services restart edges
CLI args override the config file:
edges --width 6.0 --active-color 0xffe2e2e3 --inactive-color 0xff414550
edges --style square
edges --hidpi| Flag | Description | Default |
|---|---|---|
--width <N> |
Border width in points | 4.0 |
--style <S> |
round, square, or uniform |
round |
--active-color <HEX> |
Focused window border (ARGB) | 0xffe1e3e4 |
--inactive-color <HEX> |
Unfocused window border (ARGB) | 0x00000000 |
--hidpi |
Enable HiDPI rendering | off |
--config <PATH> |
Config file path | ~/.config/edges/edges.toml |
brew services start edges # start and enable at login
brew services stop edges # stop
brew services restart edges # restart after config changesEdges is designed to be lightweight. Memory scales with the number of open windows and is fully reclaimed when windows close:
| Open windows | Footprint |
|---|---|
| 5 | ~70 MB |
| 10 | ~85 MB |
| 20 | ~100 MB |
Most of the memory is macOS CoreAnimation backing stores for the overlay windows — the process's own heap usage is under 20 MB.
- macOS 14.0+
- Accessibility permissions (System Settings → Privacy & Security)
- Screen Recording permissions
cargo build --release
./target/release/edgesMIT
- JankyBorders by FelixKratz
