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

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

[elpa] master c44ef65 3/4: * spinner.el: Use mode-line-process, not buff


From: Artur Malabarba
Subject: [elpa] master c44ef65 3/4: * spinner.el: Use mode-line-process, not buffer-id
Date: Thu, 09 Apr 2015 16:28:56 +0000

branch: master
commit c44ef65515f50bd38304a6f50adebc984fb8e431
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>

    * spinner.el: Use mode-line-process, not buffer-id
---
 spinner.el |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/spinner.el b/spinner.el
index db230aa..5573030 100644
--- a/spinner.el
+++ b/spinner.el
@@ -3,7 +3,7 @@
 ;; Copyright (C) 2015 Free Software Foundation, Inc.
 
 ;; Author: Artur Malabarba <address@hidden>
-;; Version: 1.0
+;; Version: 1.1
 ;; Package-Requires: ((cl-lib "0.5"))
 ;; URL: https://github.com/Malabarba/spinner.el
 ;; Keywords: processes mode-line
@@ -25,7 +25,7 @@
 ;; 1 Usage
 ;; ═══════
 ;;
-;; 1. Add `(spinner "1.0")' to your package’s dependencies.
+;; 1. Add `(spinner "1.1")' to your package’s dependencies.
 ;;
 ;; 2. Call `(spinner-start)' and a spinner will be added to the
 ;; mode-line.
@@ -104,7 +104,7 @@ Applications can override this value.")
 
 ;;; The main function
 ;;;###autoload
-(defun spinner-start (&optional type fps)
+(defun spinner-start (&optional type fps noadd)
   "Start a mode-line spinner of given TYPE.
 Spinners are buffer local. It is added to the mode-line in the
 buffer where `spinner-start' is called.
@@ -116,6 +116,11 @@ buffer where the spinner was created.
 FPS, if given, is the number of desired frames per second.
 Default is `spinner-frames-per-second'.
 
+If NOADD is non-nil, the spinner is not added to the mode-line.
+It is then your responsibility to add the symbol
+`spinner--mode-line-construct' somewhere in the mode-line,
+probably as part of a minor-mode lighter.
+
 If TYPE is nil, use the first element of `spinner-types'.
 If TYPE is `random', use a random element of `spinner-types'.
 If it is a symbol, it specifies an element of `spinner-types'.
@@ -138,12 +143,11 @@ is chosen as the spinner type."
   (setq spinner--counter 0)
 
   ;; Maybe add to mode-line.
-  (unless (memq 'spinner--mode-line-construct mode-line-format)
-    (setq mode-line-format (cl-copy-list mode-line-format))
-    (let ((cell (memq 'mode-line-buffer-identification mode-line-format)))
-      (if cell
-          (setcdr cell (cons 'spinner--mode-line-construct (cdr cell)))
-        (setcdr (last mode-line-format) '(spinner--mode-line-construct)))))
+  (unless (or noadd
+              (memq 'spinner--mode-line-construct mode-line-process))
+    (setq mode-line-process
+          (list (or mode-line-process "")
+                'spinner--mode-line-construct)))
 
   ;; Create timer.
   (when (timerp spinner--timer)



reply via email to

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