You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update README for v1.0 release with SEO optimization
- Remove Gatekeeper workaround (app is now signed and notarized)
- Add build status and privacy badges
- Add SEO-optimized title, keywords, and descriptions
- Add "Why AppJail?" section for competitive positioning
- Link to latest release instead of generic releases page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
A lightweight macOS menu bar utility that blocks distracting apps and browser tabs.
3
+
A free, open-source macOS menu bar app that blocks distracting applications and browser tabs to help you stay focused. No background polling, no network requests, no browser extensions required.
4
4
5
5
AppJail sits in your menu bar and enforces focus by terminating blocked applications and closing browser tabs that match URL keywords — all powered by native macOS APIs.
-**Menu Bar Only** — Runs entirely from the menu bar with no dock icon. Minimal, distraction-free interface.
16
18
-**Event-Driven** — Monitors app switches via `NSWorkspace` notifications. No polling, no CPU waste.
19
+
-**Privacy-First** — No network requests, no telemetry, no tracking. Everything runs locally on your Mac.
17
20
-**Violation Alerts** — A floating panel appears briefly when a blocked app or URL is caught.
18
-
-**Persistent** — Your block lists survive app restarts (stored in UserDefaults).
21
+
-**Persistent Block Lists** — Your block lists survive app restarts (stored in UserDefaults).
19
22
20
23
## Supported Browsers
21
24
@@ -35,13 +38,9 @@ AppJail sits in your menu bar and enforces focus by terminating blocked applicat
35
38
36
39
### Download
37
40
38
-
Download the latest DMG from [Releases](https://github.com/devsemih/appjail/releases), open it, and drag **appjail** to your Applications folder.
41
+
Download the latest `AppJail.dmg` from [Releases](https://github.com/devsemih/appjail/releases/latest), open it, and drag **AppJail** to your Applications folder.
39
42
40
-
Since the app is not notarized, macOS may show a "damaged" warning. Run this after installing:
41
-
42
-
```bash
43
-
xattr -cr /Applications/appjail.app
44
-
```
43
+
The app is signed and notarized by Apple — just download, install, and run.
@@ -62,16 +61,20 @@ AppJail needs two permissions on first launch:
62
61
|**Accessibility**| To monitor which app is frontmost and terminate blocked apps |
63
62
|**Automation**| To read browser URLs and close tabs via AppleScript |
64
63
65
-
The onboarding screen guides you through granting both. You can manage them later in **System Settings → Privacy & Security**.
64
+
The onboarding screen guides you through granting both. You can manage them later in **System Settings > Privacy & Security**.
66
65
67
66
## How It Works
68
67
69
68
1. AppJail observes `NSWorkspace.didActivateApplicationNotification` to detect app switches.
70
69
2. When a blocked app comes to the foreground, it calls `terminate()` on the process.
71
-
3. When a registered browser activates and URL keywords exist, it waits 300ms for the page to load, reads the active tab URL via AppleScript, and closes the tab if a keyword matches.
70
+
3. When a browser activates and URL keywords exist, it reads the active tab URL via AppleScript and closes the tab if a keyword matches.
72
71
73
72
No background polling. No network requests. Everything runs locally.
74
73
74
+
## Why AppJail?
75
+
76
+
Unlike browser extensions or network-level blockers, AppJail blocks both apps and browser tabs from a single native menu bar interface. Compared to tools like SelfControl, Cold Turkey, or Freedom — AppJail is lightweight, open source, and works across 8+ browsers without modifying network settings or requiring a subscription.
0 commit comments