emacs: mode-line-related tweaks
[~bandali/configs] / .emacs.d / init.el
index b02ab90..21eecd6 100644 (file)
@@ -658,7 +658,7 @@ For disabling the behaviour for certain buffers and/or modes."
   :defer 0.2
   :config
   (add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:")
   :defer 0.2
   :config
   (add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:")
-  (setq recentf-max-saved-items 40))
+  (setq recentf-max-saved-items 2000))
 
 ;; smart M-x enhancement (needed by counsel for history)
 (use-package smex)
 
 ;; smart M-x enhancement (needed by counsel for history)
 (use-package smex)
@@ -1222,7 +1222,8 @@ For disabling the behaviour for certain buffers and/or modes."
   :commands (sml/apply-theme)
   :demand
   :config
   :commands (sml/apply-theme)
   :demand
   :config
-  (sml/setup))
+  (sml/setup)
+  (smart-mode-line-enable))
 
 (use-package doom-themes)
 
 
 (use-package doom-themes)
 
@@ -1336,10 +1337,22 @@ For disabling the behaviour for certain buffers and/or modes."
          ("<end>"  . mwim-end-of-line-or-code)))
 
 (use-package projectile
          ("<end>"  . mwim-end-of-line-or-code)))
 
 (use-package projectile
+  :defer 0.5
   :bind-keymap ("C-c P" . projectile-command-map)
   :config
   (projectile-mode)
 
   :bind-keymap ("C-c P" . projectile-command-map)
   :config
   (projectile-mode)
 
+  (defun a/projectile-mode-line-fun ()
+  "Report project name and type in the modeline."
+  (let ((project-name (projectile-project-name))
+        (project-type (projectile-project-type)))
+    (format "%s%s"
+            projectile-mode-line-prefix
+            (if project-type
+                (format ":%s" project-type)
+              ""))))
+  (setq projectile-mode-line-function 'a/projectile-mode-line-fun)
+
   (defun my-projectile-invalidate-cache (&rest _args)
     ;; ignore the args to `magit-checkout'
     (projectile-invalidate-cache nil))
   (defun my-projectile-invalidate-cache (&rest _args)
     ;; ignore the args to `magit-checkout'
     (projectile-invalidate-cache nil))
@@ -1629,7 +1642,7 @@ For disabling the behaviour for certain buffers and/or modes."
             (nnimap-inbox "INBOX")
             (nnimap-split-methods 'nnimap-split-fancy)
             (nnimap-split-fancy (|
             (nnimap-inbox "INBOX")
             (nnimap-split-methods 'nnimap-split-fancy)
             (nnimap-split-fancy (|
-                                 (: gnus-registry-split-fancy-with-parent)
+                                 ;; (: gnus-registry-split-fancy-with-parent)
                                  ;; (: gnus-group-split-fancy "INBOX" t "INBOX")
                                  ;; gnu
                                  (list ".*emacs-devel.gnu.org" "l.gnu.emacs.devel")
                                  ;; (: gnus-group-split-fancy "INBOX" t "INBOX")
                                  ;; gnu
                                  (list ".*emacs-devel.gnu.org" "l.gnu.emacs.devel")
@@ -1644,6 +1657,7 @@ For disabling the behaviour for certain buffers and/or modes."
                                  (list ".*bug-gnuzilla.gnu.org" "l.gnu.gnuzilla.bug")
                                  (list ".*gnuzilla-dev.gnu.org" "l.gnu.gnuzilla.dev")
                                  (list ".*guile-devel.gnu.org" "l.gnu.guile.devel")
                                  (list ".*bug-gnuzilla.gnu.org" "l.gnu.gnuzilla.bug")
                                  (list ".*gnuzilla-dev.gnu.org" "l.gnu.gnuzilla.dev")
                                  (list ".*guile-devel.gnu.org" "l.gnu.guile.devel")
+                                 (list ".*guile-user.gnu.org" "l.gnu.guile.user")
                                  (list ".*guix-devel.gnu.org" "l.gnu.guix.devel")
                                  (list ".*info-guix.gnu.org" "l.gnu.guix.info")
                                  (list ".*savannah-hackers-public.gnu.org" "l.gnu.savannah.hackers.public")
                                  (list ".*guix-devel.gnu.org" "l.gnu.guix.devel")
                                  (list ".*info-guix.gnu.org" "l.gnu.guix.info")
                                  (list ".*savannah-hackers-public.gnu.org" "l.gnu.savannah.hackers.public")
@@ -1675,7 +1689,7 @@ For disabling the behaviour for certain buffers and/or modes."
              (nnimap-inbox "INBOX")
              (nnimap-split-methods 'nnimap-split-fancy)
              (nnimap-split-fancy (|
              (nnimap-inbox "INBOX")
              (nnimap-split-methods 'nnimap-split-fancy)
              (nnimap-split-fancy (|
-                                  (: gnus-registry-split-fancy-with-parent)
+                                  ;; (: gnus-registry-split-fancy-with-parent)
                                   ;; se463-s19
                                   ("subject" "\\(SE\\s-?463\\|Deliverable\\)" "course.se463-s19")
                                   (from "\\(SE\\s-?463\\|Gema\\|Hemant\\|Davood\\|Camilo\\|Reza\\|Michael\\|Sandy\\)" "course.se463-s19")
                                   ;; se463-s19
                                   ("subject" "\\(SE\\s-?463\\|Deliverable\\)" "course.se463-s19")
                                   (from "\\(SE\\s-?463\\|Gema\\|Hemant\\|Davood\\|Camilo\\|Reza\\|Michael\\|Sandy\\)" "course.se463-s19")
@@ -1735,6 +1749,9 @@ For disabling the behaviour for certain buffers and/or modes."
      ("l\\.gnu\\.guile\\.devel"
       (to-address . "guile-devel@gnu.org")
       (to-list    . "guile-devel@gnu.org"))
      ("l\\.gnu\\.guile\\.devel"
       (to-address . "guile-devel@gnu.org")
       (to-list    . "guile-devel@gnu.org"))
+     ("l\\.gnu\\.guile\\.user"
+      (to-address . "guile-user@gnu.org")
+      (to-list    . "guile-user@gnu.org"))
      ("l\\.gnu\\.guix\\.devel"
       (to-address . "guix-devel@gnu.org")
       (to-list    . "guix-devel@gnu.org"))
      ("l\\.gnu\\.guix\\.devel"
       (to-address . "guix-devel@gnu.org")
       (to-list    . "guix-devel@gnu.org"))
@@ -1806,7 +1823,7 @@ For disabling the behaviour for certain buffers and/or modes."
   (require 'ebdb-mua)
   (require 'ebdb-gnus)
 
   (require 'ebdb-mua)
   (require 'ebdb-gnus)
 
-  (gnus-registry-initialize)
+  ;; (gnus-registry-initialize)
 
   (with-eval-after-load 'recentf
     (add-to-list 'recentf-exclude gnus-home-directory)))
 
   (with-eval-after-load 'recentf
     (add-to-list 'recentf-exclude gnus-home-directory)))