markdown · 1670 bytes Raw Blame History

ers

Window border renderer for macOS. Draws colored overlay borders around application windows using private SkyLight framework APIs.

Built as a companion to tarmac, but runs standalone.

Usage

ers [OPTIONS] [WINDOW_ID]

OPTIONS:
  -w, --width <PX>       Border width in pixels (default: 4.0)
  -r, --radius <PX>      Corner radius (default: 10.0)
  -c, --color <HEX>      Active border color (default: #5294e2)
  -i, --inactive <HEX>   Inactive border color (default: #59595980)
      --active-only      Only show border on focused window
      --list             List on-screen windows and exit
  -h, --help             Show this help

Run with no arguments to border all windows. Ctrl-C to stop (overlays are cleaned up).

Debug logging: RUST_LOG=debug ers

With tarmac

tarmac manages ers as a child process. Set border_width > 0 in your ~/.config/tarmac/init.lua:

gar.set("border_width", "4")
gar.set("border_color_focused", "#5294e2")
gar.set("border_color_unfocused", "#59595980")
gar.set("border_radius", "10")

tarmac spawns ers automatically with --active-only. Config reloads restart ers.

Install

Homebrew:

brew tap gardesk/tap
brew install ers

From source:

cargo install --git https://github.com/gardesk/ers

Requirements

  • macOS (Apple Silicon or Intel)
  • Accessibility permissions (System Settings → Privacy & Security → Accessibility)

Limitations

  • Uses private macOS APIs (SkyLight/CGS). These are undocumented and may break across macOS versions.
  • Tested on macOS Tahoe. Should work on Monterey and later but no guarantees.

License

MIT

View source
1 # ers
2
3 Window border renderer for macOS. Draws colored overlay borders around application windows using private SkyLight framework APIs.
4
5 Built as a companion to [tarmac](https://github.com/gardesk/tarmac), but runs standalone.
6
7 ## Usage
8
9 ```
10 ers [OPTIONS] [WINDOW_ID]
11
12 OPTIONS:
13 -w, --width <PX> Border width in pixels (default: 4.0)
14 -r, --radius <PX> Corner radius (default: 10.0)
15 -c, --color <HEX> Active border color (default: #5294e2)
16 -i, --inactive <HEX> Inactive border color (default: #59595980)
17 --active-only Only show border on focused window
18 --list List on-screen windows and exit
19 -h, --help Show this help
20 ```
21
22 Run with no arguments to border all windows. Ctrl-C to stop (overlays are cleaned up).
23
24 Debug logging: `RUST_LOG=debug ers`
25
26 ## With tarmac
27
28 tarmac manages ers as a child process. Set `border_width > 0` in your `~/.config/tarmac/init.lua`:
29
30 ```lua
31 gar.set("border_width", "4")
32 gar.set("border_color_focused", "#5294e2")
33 gar.set("border_color_unfocused", "#59595980")
34 gar.set("border_radius", "10")
35 ```
36
37 tarmac spawns ers automatically with `--active-only`. Config reloads restart ers.
38
39 ## Install
40
41 Homebrew:
42 ```
43 brew tap gardesk/tap
44 brew install ers
45 ```
46
47 From source:
48 ```
49 cargo install --git https://github.com/gardesk/ers
50 ```
51
52 ## Requirements
53
54 - macOS (Apple Silicon or Intel)
55 - Accessibility permissions (System Settings → Privacy & Security → Accessibility)
56
57 ## Limitations
58
59 - Uses private macOS APIs (SkyLight/CGS). These are undocumented and may break across macOS versions.
60 - Tested on macOS Tahoe. Should work on Monterey and later but no guarantees.
61
62 ## License
63
64 MIT