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

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

[elpa] externals/nano-modeline 3ea5991 8/8: Fix mu4e + linting


From: ELPA Syncer
Subject: [elpa] externals/nano-modeline 3ea5991 8/8: Fix mu4e + linting
Date: Thu, 7 Oct 2021 06:57:26 -0400 (EDT)

branch: externals/nano-modeline
commit 3ea5991ee45f7177809530f9fe2515531a455721
Author: Nicolas P. Rougier <Nicolas.Rougier@inria.fr>
Commit: Nicolas P. Rougier <Nicolas.Rougier@inria.fr>

    Fix mu4e + linting
---
 nano-modeline.el | 122 ++++++++++++++++++++++++++++++-------------------------
 1 file changed, 67 insertions(+), 55 deletions(-)

diff --git a/nano-modeline.el b/nano-modeline.el
index 2f33915..57c9508 100644
--- a/nano-modeline.el
+++ b/nano-modeline.el
@@ -202,7 +202,7 @@ Modeline is composed as:
   "Compose a string with provided information"
   (let* ((char-width    (window-font-width nil 'header-line))
          (window        (get-buffer-window (current-buffer)))
-     (active        (eq window nano-modeline--selected-window))
+         (active        (eq window nano-modeline--selected-window))
          (space-up       +0.20)
          (space-down     -0.25)
          (prefix (cond ((string= status "RO")
@@ -234,6 +234,7 @@ Modeline is composed as:
                 (propertize primary 'face (if active 
'nano-modeline-active-primary
                                             'nano-modeline-inactive-primary))))
          (right (concat secondary " "))
+         
          (available-width (- (window-total-width) 
                              (length prefix) (length left) (length right)
                              (/ (window-right-divider-width) char-width)))
@@ -443,12 +444,13 @@ depending on the version of mu4e."
   (derived-mode-p 'mu4e-headers-mode))
 
 (defun nano-modeline-mu4e-headers-mode ()
-  (nano-modeline-compose (nano-modeline-status)
-                         (nano-modeline-mu4e-quote 
(nano-modeline-mu4e-last-query))
-                         ""
-                         (format "[%s]"
-                                 (nano-modeline-mu4e-quote
-                                  (mu4e-context-name 
(mu4e-context-current))))))
+  (let ((mu4e-modeline-max-width 80))
+    (nano-modeline-compose (nano-modeline-status)
+                           (nano-modeline-mu4e-quote 
(nano-modeline-mu4e-last-query))
+                           ""
+                           (format "[%s]"
+                                   (nano-modeline-mu4e-quote
+                                    (mu4e-context-name 
(mu4e-context-current)))))))
 
 ;; ---------------------------------------------------------------------
 (defun nano-modeline-mu4e-view-mode-p ()
@@ -460,7 +462,7 @@ depending on the version of mu4e."
          (from    (mu4e~headers-contact-str (mu4e-message-field msg :from)))
          (date     (mu4e-message-field msg :date)))
     (nano-modeline-compose (nano-modeline-status)
-                           (nano-modeline-truncate subject 40)
+                           (nano-modeline-truncate subject 60)
                            ""
                            from)))
 
@@ -493,7 +495,7 @@ depending on the version of mu4e."
                          "Message" "(draft)" ""))
 
 ;; ---------------------------------------------------------------------
-(defvar org-mode-line-string nil)
+;; (defvar org-mode-line-string nil)
 (with-eval-after-load 'org-clock
   (add-hook 'org-clock-out-hook #'nano-modeline-org-clock-out))
 
@@ -502,7 +504,8 @@ depending on the version of mu4e."
   (force-mode-line-update))
 
 (defun nano-modeline-org-clock-mode-p ()
-  org-mode-line-string)
+  (and (boundp 'org-mode-line-string)
+       (not org-mode-line-string)))
 
 (defun nano-modeline-org-clock-mode ()
     (let ((buffer-name (format-mode-line "%b"))
@@ -659,6 +662,48 @@ depending on the version of mu4e."
   (setq nano-modeline--selected-window (selected-window)))
 
 
+
+(defun nano-modeline ()
+  "Build and set the modeline."
+  
+    (let* ((format
+          '((:eval
+             (cond
+              ((nano-modeline-user-mode-p)            (funcall 
,nano-modeline-user-mode)) 
+              ((nano-modeline-prog-mode-p)            
(nano-modeline-default-mode))
+              ((nano-modeline-message-mode-p)         
(nano-modeline-message-mode))
+              ((nano-modeline-elfeed-search-mode-p)   
(nano-modeline-elfeed-search-mode))
+              ((nano-modeline-elfeed-show-mode-p)     
(nano-modeline-elfeed-show-mode))
+              ((nano-modeline-deft-mode-p)            
(nano-modeline-deft-mode))
+              ((nano-modeline-info-mode-p)            
(nano-modeline-info-mode))
+              ((nano-modeline-calendar-mode-p)        
(nano-modeline-calendar-mode))
+              ((nano-modeline-org-capture-mode-p)     
(nano-modeline-org-capture-mode))
+              ((nano-modeline-org-agenda-mode-p)      
(nano-modeline-org-agenda-mode))
+              ((nano-modeline-org-clock-mode-p)       
(nano-modeline-org-clock-mode))
+              ((nano-modeline-term-mode-p)            
(nano-modeline-term-mode))
+              ((nano-modeline-vterm-mode-p)           
(nano-modeline-term-mode))
+              ((nano-modeline-mu4e-dashboard-mode-p)  
(nano-modeline-mu4e-dashboard-mode))
+              ((nano-modeline-mu4e-main-mode-p)       
(nano-modeline-mu4e-main-mode))
+              ((nano-modeline-mu4e-loading-mode-p)    
(nano-modeline-mu4e-loading-mode))
+              ((nano-modeline-mu4e-headers-mode-p)    
(nano-modeline-mu4e-headers-mode))
+              ((nano-modeline-mu4e-view-mode-p)       
(nano-modeline-mu4e-view-mode))
+              ((nano-modeline-text-mode-p)            
(nano-modeline-default-mode))
+              ((nano-modeline-pdf-view-mode-p)        
(nano-modeline-pdf-view-mode))
+              ((nano-modeline-docview-mode-p)         
(nano-modeline-docview-mode))
+              ;; ((nano-modeline-buffer-menu-mode-p)     
(nano-modeline-buffer-menu-mode))
+              ((nano-modeline-completion-list-mode-p) 
(nano-modeline-completion-list-mode))
+              ((nano-modeline-nano-help-mode-p)       
(nano-modeline-nano-help-mode))
+              (t                                      
(nano-modeline-default-mode)))))))
+    
+      (if (eq nano-modeline-position 'top)
+          (progn 
+            (setq header-line-format format)
+            (setq-default header-line-format format))
+        (progn
+          (setq mode-line-format format)
+          (setq-default mode-line-format format)))))
+
+
 (defun nano-modeline-mode--activate ()
   "Activate nano modeline"
 
@@ -712,49 +757,13 @@ depending on the version of mu4e."
   (setq         header-line-format nil)
   (setq-default header-line-format nil)
       
-  (let* ((format
-          '((:eval
-             (cond
-              ((nano-modeline-user-mode-p)            (funcall 
,nano-modeline-user-mode)) 
-              ((nano-modeline-prog-mode-p)            
(nano-modeline-default-mode))
-              ((nano-modeline-message-mode-p)         
(nano-modeline-message-mode))
-              ((nano-modeline-elfeed-search-mode-p)   
(nano-modeline-elfeed-search-mode))
-              ((nano-modeline-elfeed-show-mode-p)     
(nano-modeline-elfeed-show-mode))
-              ((nano-modeline-deft-mode-p)            
(nano-modeline-deft-mode))
-              ((nano-modeline-info-mode-p)            
(nano-modeline-info-mode))
-              ((nano-modeline-calendar-mode-p)        
(nano-modeline-calendar-mode))
-              ((nano-modeline-org-capture-mode-p)     
(nano-modeline-org-capture-mode))
-              ((nano-modeline-org-agenda-mode-p)      
(nano-modeline-org-agenda-mode))
-              ((nano-modeline-org-clock-mode-p)       
(nano-modeline-org-clock-mode))
-              ((nano-modeline-term-mode-p)            
(nano-modeline-term-mode))
-              ((nano-modeline-vterm-mode-p)           
(nano-modeline-term-mode))
-              ((nano-modeline-mu4e-dashboard-mode-p)  
(nano-modeline-mu4e-dashboard-mode))
-              ((nano-modeline-mu4e-main-mode-p)       
(nano-modeline-mu4e-main-mode))
-              ((nano-modeline-mu4e-loading-mode-p)    
(nano-modeline-mu4e-loading-mode))
-              ((nano-modeline-mu4e-headers-mode-p)    
(nano-modeline-mu4e-headers-mode))
-              ((nano-modeline-mu4e-view-mode-p)       
(nano-modeline-mu4e-view-mode))
-              ((nano-modeline-text-mode-p)            
(nano-modeline-default-mode))
-              ((nano-modeline-pdf-view-mode-p)        
(nano-modeline-pdf-view-mode))
-              ((nano-modeline-docview-mode-p)         
(nano-modeline-docview-mode))
-              ;;  ((nano-modeline-buffer-menu-mode-p)     
(nano-modeline-buffer-menu-mode))
-              ((nano-modeline-completion-list-mode-p) 
(nano-modeline-completion-list-mode))
-              ((nano-modeline-nano-help-mode-p)       
(nano-modeline-nano-help-mode))
-              (t                                      
(nano-modeline-default-mode)))))))
-    
-    (if (eq nano-modeline-position 'top)
-        (progn 
-          (setq header-line-format format)
-          (setq-default header-line-format format))
-      (progn
-        (setq mode-line-format format)
-        (setq-default mode-line-format format)))
-
-    ;; This hooks is necessary to register selected window because when
-    ;;  a modeline is evaluated, the corresponding window is always selected.
-    (add-hook 'post-command-hook #'nano-modeline--update-selected-window)
+  (nano-modeline)
+  
+  ;; This hooks is necessary to register selected window because when
+  ;;  a modeline is evaluated, the corresponding window is always selected.
+  (add-hook 'post-command-hook #'nano-modeline--update-selected-window)
 
-    (force-mode-line-update t)
-  ))
+  (force-mode-line-update t))
 
 
 (defun nano-modeline-mode--inactivate ()
@@ -763,9 +772,12 @@ depending on the version of mu4e."
   (custom-reevaluate-setting 'Info-use-header-line)
   (custom-reevaluate-setting 'Buffer-menu-use-header-line)
   (custom-reevaluate-setting 'eshell-status-in-mode-line)
-    
-  (setq ein:header-line-format '(:eval (ein:header-line)))
-  (setq elfeed-search-header-function #'elfeed-search--header)
+
+  (if (boundp 'ein:header-line-format)
+      (setq ein:header-line-format '(:eval (ein:header-line))))
+  (if (boundp 'elfeed-search-header-function)
+      (setq elfeed-search-header-function #'elfeed-search--header))
+  
   (remove-hook 'calendar-initial-window-hook
                #'nano-modeline-calendar-setup-header)
   (remove-hook 'org-capture-mode-hook



reply via email to

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