From 59443f92027364d9542a12df7faf7aede82f4be5 Mon Sep 17 00:00:00 2001 From: jao Date: Wed, 9 Feb 2022 05:33:07 +0000 Subject: mpris nits --- lib/media/jao-mpris.el | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'lib/media') diff --git a/lib/media/jao-mpris.el b/lib/media/jao-mpris.el index 08b405a..977dab3 100644 --- a/lib/media/jao-mpris.el +++ b/lib/media/jao-mpris.el @@ -28,7 +28,7 @@ (require 'jao-themes) (require 'jao-minibuffer) -(defvar jao-mpris-player "chromium") +(defvar jao-mpris-player "playerctld") (defun jao-mpris--playerctl (&rest args) (shell-command-to-string (format "playerctl -p %s %s" @@ -96,6 +96,9 @@ (defun jao-mpris--set-current (k v) (when v (setf (alist-get k jao-mpris--current "" t) v))) +(defun jao-mpris--del-current (k) + (setf (alist-get k jao-mpris--current "" t) "")) + (defun jao-mpris--fmt-time (x suffix) (if x (format "%02d:%02d%s" (/ x 60) (mod x 60) (or suffix "")) "")) @@ -130,8 +133,9 @@ (cons (jao-mpris--get 'artist) (jao-mpris--get 'title)))) ;;;###autoload -(defun jao-mpris-show-osd () - (interactive) +(defun jao-mpris-show-osd (&optional refresh) + (interactive "P") + (when refresh (jao-mpris--track)) (when jao-mpris--current (jao-notify (format "%s%s" (if-let (s (jao-mpris--get 'status)) (format "%s: " s) @@ -158,7 +162,10 @@ (jao-mpris--set-current 'album alb) (jao-mpris--set-current 'length len))) (when-let (st (caadr (assoc "PlaybackStatus" properties))) - (jao-mpris--set-current 'status st)) + (jao-mpris--set-current 'status st) + (when (string= st "Stopped") + (dolist (k '(track title artist album length)) + (jao-mpris--del-current k)))) (jao-mpris--track jao-mpris--current)) ;;;###autoload -- cgit v1.2.3