emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/emms 9fec86dbb7: * emms-mode-line.el: modeline will tru


From: ELPA Syncer
Subject: [elpa] externals/emms 9fec86dbb7: * emms-mode-line.el: modeline will truncate long descriptions
Date: Sun, 11 Feb 2024 18:58:06 -0500 (EST)

branch: externals/emms
commit 9fec86dbb768b3b5714036d08129a20664f57657
Author: yrk <yrk@gnu.org>
Commit: yrk <yrk@gnu.org>

    * emms-mode-line.el: modeline will truncate long descriptions
    
    Modified `emms-mode-line-playlist-current' to truncate long track
    descriptions in order not to overload the mode-line.
    
    Length can be customized via `emms-mode-line-length-limit'.
---
 emms-mode-line.el | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/emms-mode-line.el b/emms-mode-line.el
index 404453f04b..7773f8f3d9 100644
--- a/emms-mode-line.el
+++ b/emms-mode-line.el
@@ -1,6 +1,6 @@
 ;;; emms-mode-line.el --- Mode-Line and titlebar infos for emms  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2004-2021  Free Software Foundation, Inc.
+;; Copyright (C) 2004-2024  Free Software Foundation, Inc.
 
 ;; Author: Mario Domgörgen <kanaldrache@gmx.de>
 ;; Keywords: multimedia
@@ -51,10 +51,23 @@
   :type 'string
   :group 'emms)
 
+(defcustom emms-mode-line-length-limit 70
+  "Maximum length before track information is truncated."
+  :type 'natnum
+  :group 'emms)
+
+
 (defun emms-mode-line-playlist-current ()
   "Format the currently playing song."
-  (format emms-mode-line-format (emms-track-description
-                                (emms-playlist-current-selected-track))))
+  (let ((track-desc (emms-track-description
+                    (emms-playlist-current-selected-track))))
+    (format emms-mode-line-format
+           (if (< (string-width track-desc) emms-mode-line-length-limit)
+               track-desc
+             (concat
+              (seq-subseq track-desc 0 emms-mode-line-length-limit)
+              "...")))))
+
 
 (define-obsolete-variable-alias 'emms-mode-line-active-p
   'emms-mode-line-mode "Apr 2021")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]