Repository navigation
Releases
v0.4.2
Small fix to how mutewake reports things — muting behavior is unchanged.
Fixed
- Right after waking, macOS's audio system is occasionally slow enough that mutewake's "is audio muted?" check times out. That used to be read as "unmuted", so mutewake re-muted (harmless) but logged and announced "Muted on wake" even when audio had been muted all along.
- Now a timed-out check counts as unknown: mutewake still mutes to be safe, but Recent Activity says "Muted on wake (status didn't respond)" and the banner says "Audio is muted." rather than claiming the wake changed anything.
- The timeout itself shows as "Audio status check timed out" in Recent Activity instead of raw
osascripttext.
Updating
mutewake update # from a clone
mutewake update ~/Downloads/mutewake-0.4.2.tar.gz # from the archive belowNew here? See the 0.4.0 release for install instructions.
v0.4.1
Banners now come from mutewake — its own name and icon — instead of Script Editor.
Changed
- Wake/unlock banners post through the macOS notification center. On first run, macOS asks whether mutewake may send notifications; allow it. Banners never play a sound.
- If you turn mutewake's notifications off, it respects that; the menu's Recent Activity notes "Banner off in Notifications settings" when one is skipped.
osascriptremains only as a fallback for when macOS rejects the permission request outright.
Why it used to say Script Editor
The README blamed ad-hoc signing. The real cause was the build bug fixed in 0.4.0: the binary claimed a minimum macOS newer than the one it ran on, so LaunchServices never registered the app — which the notification center needs.
Notes
- Your notification setting survives updates. The first run right after an install or
mutewake updatemay briefly use theosascriptfallback while macOS catches up with the rebuilt app; those banners still show as mutewake. - Corrected after release: an earlier version of these notes said each rebuild resets the permission. Testing showed it doesn't.
Updating
mutewake update # from a clone
mutewake update ~/Downloads/mutewake-0.4.1.tar.gz # from the archive belowNew here? See the 0.4.0 release for install instructions.
v0.4.0
mutewake is now a proper Mac app: it installs into ~/Applications with its own icon, so you can find it in Spotlight, Launchpad, and Finder.
Install from a clone (recommended — you get mutewake update):
git clone https://github.com/00mkp/mutewake.git
cd mutewake && ./install.shInstall from the archives below:
tar -xzf mutewake-0.4.0.tar.gz
cd mutewake-0.4.0 && ./install.shAlready installed? mutewake update moves it for you: the app goes to ~/Applications and the old copy under ~/.local/share is removed. Your on/off setting is kept.
Requires macOS 13+ and the Xcode Command Line Tools. Built from source on your machine, so there's no Gatekeeper quarantine.
What's new
- Lives in ~/Applications (like other apps) instead of
~/.local/share. Want it elsewhere?APP_DIR=/Applications ./install.sh— updates remember the choice. - App icon — the menu bar's sleeping speaker on a dusk-to-night tile, shown in Finder, Launchpad, Spotlight, and About.
- Open it to bring it back — after Quit, opening mutewake from Spotlight/Launchpad/Finder starts it again and shows the menu; opening it while it's running just shows the menu. launchd still owns the one running copy.
- If you drag the app somewhere else in Finder, opening it explains how to reinstall instead of doing nothing.
Fixed
- The app binary was built with a minimum macOS newer than the one it ran on. The background agent didn't care, but macOS refused to open the app from Finder or Spotlight. It now targets macOS 13, as documented.
- Installs build in a staging folder first, so a failed build leaves the running copy untouched.
43 integration tests (./test/verify.sh). Muting behavior is unchanged.
Known limitation
The banner is attributed to Script Editor, not mutewake — macOS refuses to
register an ad-hoc-signed app with the notification center. See the README.
v0.3.1
Bug fix for 0.3.0.
Fixed
- The About mutewake panel showed the old slashed-speaker icon instead of the
sleeping speaker used in the menu bar. They now match.
Updating
mutewake update # from a clone
mutewake update ~/Downloads/mutewake-0.3.1.tar.gz # from the archive belowNew here? See the 0.3.0 release
for install instructions and what the menu bar item does.
v0.3.0
Mutes your Mac's audio output every time it sleeps, locks, wakes, or unlocks — and now lives in your menu bar.
Install from a clone (recommended — you get mutewake update):
git clone https://github.com/00mkp/mutewake.git
cd mutewake && ./install.shInstall from the archives below:
tar -xzf mutewake-0.3.0.tar.gz
cd mutewake-0.3.0 && ./install.shAlready installed? mutewake update (from a clone) or mutewake update ~/Downloads/mutewake-0.3.0.tar.gz.
Requires macOS 13+ and the Xcode Command Line Tools. The daemon is built from
source on your machine rather than shipped as a binary, so you never hit
Gatekeeper quarantine.
What's new
- Menu bar item — a sleeping-speaker icon (dimmed when off) with a native menu:
on/off status, current audio, Turn On/Off, Mute Now / Unmute Now, the last five
events, Open Log, About, and Quit. - "Off" keeps the icon.
offnow just sets the flag, and the daemon stays up
idle so the menu can turn it back on. Off still survives a reboot, and nothing is
muted while it's set. Quit from the menu to stop the daemon until next login or
mutewake on. - The menu and CLI stay in sync —
mutewake offin a terminal dims the icon immediately. updateand reinstalls now keep mutewake on or off as you left it.- Hardening: a stuck
osascriptcall is killed after 3s instead of freezing the daemon. - 31 integration tests (
./test/verify.sh).
Muting behavior itself — what happens on sleep, lock, wake, and unlock — is unchanged.
Known limitation
The banner is attributed to Script Editor, not mutewake — macOS refuses to
register an ad-hoc-signed app with the notification center. See the README.
v0.2.0
Mutes your Mac's audio output every time it sleeps, locks, wakes, or unlocks.
Install from a clone (recommended — you get mutewake update):
git clone https://github.com/00mkp/mutewake.git
cd mutewake && ./install.shInstall from the archives below:
tar -xzf mutewake-0.2.0.tar.gz
cd mutewake-0.2.0 && ./install.shAlready installed? mutewake update ~/Downloads/mutewake-0.2.0.tar.gz works too.
Requires macOS 13+ and the Xcode Command Line Tools. The daemon is built from
source on your machine rather than shipped as a binary, so you never hit
Gatekeeper quarantine.
What's in it
- Mutes on sleep, lock, wake, and unlock
mutewake on/off/toggle/status/update/uninstalloffsurvives a reboot with no process left running- 20 integration tests (
./test/verify.sh)
Known limitation
The banner is attributed to Script Editor, not mutewake — macOS refuses to
register an ad-hoc-signed app with the notification center. See the README.