Christian Mayer's Weblog

Cmus mit Media Tasten steuern

[This post is also available in English.]

Es existieren viele Artikel zum Thema Wie ändere ich das Verhalten meiner Apple Tastatur in Bezug auf die Media Keys und iTunes. Es gibt auch viele Cocoa Code-Beispiele darüber, wie man die Media Keys in seiner eigenen Mac Applikation verwenden kann. Aber jede Lösung, die ich im Internet fand, war mir zu taktlos.

Viele Posts haben beschrieben, dass der sogenannte Remote Control Daemon (RCD) dafür verantwortlich ist, dass iTunes jedes mal automatisch gestartet wird, wenn man die Play-Taste drückt. Was ja auch nicht falsch ist, aber ich denke man sollte den RCD-Prozess nicht mit killall killen[1], geschweige den mit einem unseriösen Tool patchen[2]. Das ist alles nicht nötig, wenn es auch eine elegantere Lösung dafür gibt. Man sollte sowieso nie einen System-Prozess ändern, wenn man nicht ganz sicher ist, was man da überhaupt macht oder wenn es sowieso eine einfachere, bessere Lösung dafür gibt.

Lösung

Mein Lösungsweg beginnt mit dem Command Line Tool namens launchctl, welches bei jeder OS X Installation standardmäßig mitgeliefert wird. Es ist nämlich nicht nötig, dass ich den Remote Control Daemon kille, oder patche, sondern es ist nur notwendig den RCD zu deaktivieren[3]. Das ist mit launchctl möglich:

$ launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist

Danach einfach iTunes und Spotify beenden und die eigene Applikation kann auf die Media Tasten zugreifen, ohne dass iTunes wieder gestartet wird. Ich habe dazu ein kleines Mac programm geschrieben, dass die Media Tasten Drücke abfängt und mittels cmus-remote an cmus weiterleitet. Natürlich ist es bei Cmus Control nötig, so wie bei iTunes und Spotify auch, dass die Applikation im Hintergrund rennt. Cmus Control hat aber den Vorteil, dass es nur im Hintergrund rennt und keine Fenster benötigt. Zu diesem Zweck wird der Cmus Control Daemon bei launchctl automatisch registriert und danach gestartet. Weitere Informationen findet man auf der Cmus Control GitHub Projekt Seite.

Weitere Ressourcen

Footnotes

Posted on .
Categories: Project
Tags: Apple, Mac, Media, Keys, Tasten, Tastatur, iTunes, Spotify, Cocoa, Objective-C, RCD, Remote Control Daemon, Play, Pause, launchctl

Imprint | Usage | Categories | RSS Feed
Copyright © 2006 by