Desktop notification (with sound) when RAM usage crosses a threshold. Works on Linux and macOS. Edge-triggered — fires once per crossing, then resets when RAM drops back below.
jojo_demo.mp4
curl -fsSL https://raw.githubusercontent.com/webtaken/jojo/main/install.sh | bashThis downloads jojo + the alert sound, installs to ~/.local/bin/, and registers with the right scheduler for your OS:
| OS | Scheduler | Config location |
|---|---|---|
| Linux | cron |
user crontab |
| macOS | launchd |
~/Library/LaunchAgents/com.webtaken.jojo.plist |
If ~/.local/bin isn't on your PATH, the installer will tell you how to add it.
jojo set threshold 75 # persist threshold (1-99, percent)
jojo set delay 5 # persist check interval (1-59, minutes)
jojo set behaviour annoying # alert cadence while above threshold
jojo get # show all values
jojo status # show usage, threshold, delay, behaviour, state
jojo check # run the check manually
jojo uninstall # remove binary and scheduler entry
jojo help # list all commands| Mode | Emoji | What it does |
|---|---|---|
annoying |
🚨 | Fires on every check while above threshold — relentless |
casual |
🙂 | Fires on crossing, then every 10 minutes while high (default) |
chill |
😎 | Fires once per crossing, then silent until RAM drops back |
Defaults: threshold 80%, delay 1 minute, behaviour casual. Changing delay auto-updates your scheduler entry.
One-off override: RAM_THRESHOLD=1 jojo check.
- Linux: reads
/proc/meminfo(MemTotal/MemAvailable). - macOS: reads
sysctl hw.memsizeandvm_stat(active + wired + compressedpages). - Stores last seen state (
OK/ALERT) in~/.cache/jojo/state. - On the
OK → ALERTtransition only: sends a desktop notification (notify-send/osascript) and playsfahhh.mp3(ffplay/mpg123/paplay/afplay).
- Linux:
awk,crontab,notify-send(libnotify-bin). Sound is optional (ffplay/mpg123/paplay). - macOS: all built-in —
launchctl,osascript,afplay,sysctl,vm_stat.