Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Cmus Control

Control cmus with Media Keys ▶️ under macOS.

Project Outlines

The project outlines as described in my blog post about Open Source Software Collaboration.

  • The main purpose of this software is to provide a support for cmus under macOS. Cmus can be controlled by the Media Keys of your Apple Keyboard.
  • The feature-set is restricted because this software already provides the features what it was made of. But still, feel free to request features.


  • At least macOS 10.8.
  • cmake to build it.
  • Since Cmus Control doesn't have the behavior of changing any foreign processes it's highly recommended to deactivate the Remote Control Daemon.
  • cmus installed. ;)


You can either install Cmus Control via Homebrew or manually. The preferred method of installation is via Homebrew.

Homebrew installation

  1. Add the thefox/brewery tap to brew.

    $ brew tap thefox/brewery
  2. Actual installation

    $ brew install cmus-control
  3. After a successful installation follow the Caveats output, start the service:

    $ brew services start thefox/brewery/cmus-control

    Or, if you don't want/need a background service you can just run

    $ cmuscontrold

Manual installation

  1. You need to install cmake: brew install cmake
  2. Run make install to compile Cmus Control Daemon and install cmuscontrold under /usr/local/bin path. A launchd.plist file named at.fox21.cmuscontrold.plist will be created under ~/Library/LaunchAgents to start Cmus Control Daemon automatically on login.

If you just want to compile Cmus Control Daemon without installing run make. The binary will be created at build/release/bin/cmuscontrold.


Just run make uninstall. Doing so

  • cmuscontrold will be unloaded via launchctl;
  • ~/Library/LaunchAgents/at.fox21.cmuscontrold.plist will be removed;
  • /usr/local/bin/cmuscontrold will be removed.


After a successful manual installation the cmuscontrold is loaded/started automatically with launchctl. You can unload the daemon manually:

$ make unload

Or load it manually:

$ make load


After changing the source code you might want to re-build the binary and re-install it.

make unload
make -C build/release
make install