Control rhythmbox inside Emacs

Control rhythmbox inside Emacs

Control rhythmbox inside Emacs

It is until recently that I came across a configuration option that emacs can send shell command to other applications such as rhythmbox, so I created a simple file to make this work inside emacs.

The rhythmbox comes with a client tool to make it possible to control the playing from a terminal, so that life will be a lot easier when implementing controlling inside emacs, the functions involved is as follows:

(defun rhythmbox-linux-command (command-name)
  "Execute command for rhythmbox inside emacs"
  (interactive)
  (setq command-text (format "rhythmbox-client %s" command-name))
  (shell-command command-text))

(defun rhythmbox-toggle ()
  "Play/Pause rhythmbox"
  (interactive)
  (rhythmbox-linux-command "--play-pause"))

(defun rhythmbox-next ()
  "Next song in rhythmbox"
  (interactive)
  (rhythmbox-linux-command "--next"))

(defun rhythmbox-previous ()
  "Previous song in the rhythmbox"
  (interactive)
  (rhythmbox-linux-command "--previous"))

(defun rhythmbox-volume-up ()
  "Increase the playback valume"
  (interactive)
  (rhythmbox-linux-command "--volume-up"))

(defun rhythmbox-volume-down ()
  "Decrease the playback volume"
  (interactive)
  (rhythmbox-linux-command "--volume-down"))

(global-set-key (kbd "<C-kp-4>") 'rhythmbox-previous)
(global-set-key (kbd "<C-kp-6>") 'rhythmbox-next)
(global-set-key (kbd "<C-kp-5>") 'rhythmbox-toggle)
(global-set-key (kbd "<C-kp-8>") 'rhythmbox-volume-up)
(global-set-key (kbd "<C-kp-2>") 'rhythmbox-volume-down)

I only implemented some common controlling functions for the rhythmbox, more can be added with the reference manual of rhythmbox-client.

Author: wujing

Created: 2014-10-07 二 21:09

Emacs 24.3.1 (Org mode 8.2.6)

Validate

posted on 2014-10-07 21:10  wujingcqu  阅读(191)  评论(0编辑  收藏  举报