Вроде бы тут еще никто не писал про
Emacs-интерфейс к shell-fm.
Shell FM - это простой консольный клиент для
Last FM.
Emacs-shellfm позволяет управлять прослушиванием прямо из Emacs с помощью команд shellfm-... или из меню Shell.FM.
Мне показалось удобным забиндить управление на кнопки Play/Stop/Next/Prev, которые есть на моем ноутбуке, а так же реализовать быстрый просмотр текста текущей песни в w3m:
(global-set-key [(meta XF86AudioNext)] 'shellfm-skip-track)
(global-set-key [(meta XF86AudioPrev)] 'shellfm-love-track)
(global-set-key [(meta XF86AudioStop)] 'shellfm-ban-track)
(global-set-key [(meta XF86AudioPause)] 'shellfm-pause)
(defun shellfm-show-lyrics ()
"Show lyrics of shellfm current song in w3m"
(interactive)
(let* ((art-tit (split-string (substring (shellfm-track-info) 18) " - "))
(artist (car art-tit))
(title (cadr art-tit)))
(w3m-goto-url
(format "
http://www.lyricsplugin.com/wmplayer03/plugin/?artist=%s&title=%s" artist title))))
(global-set-key [(control XF86AudioPause)] 'shellfm-show-lyrics)
Наверно можно улучшить функцию так, чтобы она работала без w3m, но я пока этого не умею.