aboutsummaryrefslogtreecommitdiff
path: root/emacs/.emacs.d/lisp
diff options
context:
space:
mode:
authorYuchen Pei <id@ypei.org>2025-06-29 18:11:31 +1000
committerYuchen Pei <id@ypei.org>2025-06-29 18:11:31 +1000
commitee0cb21933d11002633d241c33128f2a74b80f00 (patch)
treeca89730ceae419197c0b3c5835a206170169789b /emacs/.emacs.d/lisp
parent8d2ef40cd102d34e83a23f2dd663cd04bda45acb (diff)
[emacs] fix emms overlay
Diffstat (limited to 'emacs/.emacs.d/lisp')
-rw-r--r--emacs/.emacs.d/lisp/my/my-emms.el14
1 files changed, 11 insertions, 3 deletions
diff --git a/emacs/.emacs.d/lisp/my/my-emms.el b/emacs/.emacs.d/lisp/my/my-emms.el
index c2d2eaa..cdd9567 100644
--- a/emacs/.emacs.d/lisp/my/my-emms.el
+++ b/emacs/.emacs.d/lisp/my/my-emms.el
@@ -464,21 +464,29 @@ under /zzz-seren/."
(min end-ln maybe-group-end))))
(cons group-start group-end))))
+(defvar-local my-emms-playlist-group-start-overlay nil)
+(defvar-local my-emms-playlist-group-end-overlay nil)
+
(defun my-emms-playlist-mark-bounds (group-end)
"Mark bounds of the current track group.
An up arrow at the first played in the current group, and a down
arrow at the end of the track group."
- (remove-overlays)
+ (when my-emms-playlist-group-start-overlay
+ (delete-overlay my-emms-playlist-group-start-overlay))
+ (when my-emms-playlist-group-start-overlay
+ (delete-overlay my-emms-playlist-group-end-overlay))
+ (setq my-emms-playlist-group-start-overlay (make-overlay (point) (point)))
(overlay-put
- (make-overlay (point) (point))
+ my-emms-playlist-group-start-overlay
'before-string (propertize
"x" 'display
`(left-fringe up-arrow emms-playlist-selected-face)))
(save-excursion
(goto-line (1- group-end))
+ (setq my-emms-playlist-group-end-overlay (make-overlay (point) (point)))
(overlay-put
- (make-overlay (point) (point))
+ my-emms-playlist-group-end-overlay
'before-string (propertize
"x" 'display
`(left-fringe down-arrow emms-playlist-selected-face)))))