From 5623f161f194372382433076e7bba9c63af93ced Mon Sep 17 00:00:00 2001 From: Vincent Zhang Date: Sat, 25 Jul 2020 14:24:18 +0800 Subject: [PATCH] Add dashboard mode-line. --- doom-modeline-segments.el | 30 +++++++++++++++++++++--------- doom-modeline.el | 13 +++++++++++-- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/doom-modeline-segments.el b/doom-modeline-segments.el index 435085e..77a77a2 100644 --- a/doom-modeline-segments.el +++ b/doom-modeline-segments.el @@ -408,8 +408,8 @@ mouse-1: Previous buffer\nmouse-3: Next buffer" 'local-map mode-line-buffer-identification-keymap))) (doom-modeline-def-segment buffer-default-directory - "Displays `default-directory'. This is for special buffers like the scratch -buffer where knowing the current project directory is important." + "Displays `default-directory' with the icon and state . This is for special buffers +like the scratch buffer where knowing the current project directory is important." (let ((face (cond ((buffer-modified-p) 'doom-modeline-buffer-modified) ((doom-modeline--active) 'doom-modeline-buffer-path) @@ -423,6 +423,18 @@ buffer where knowing the current project directory is important." (doom-modeline-vspc))) (propertize (abbreviate-file-name default-directory) 'face face)))) +(doom-modeline-def-segment buffer-default-directory-simple + "Displays `default-directory'. This is for special buffers like the scratch +buffer where knowing the current project directory is important." + (let ((face (if (doom-modeline--active) 'doom-modeline-buffer-path 'mode-line-inactive))) + (concat (doom-modeline-spc) + (and doom-modeline-major-mode-icon + (concat (doom-modeline-icon + 'octicon "file-directory" "🖿" "" + :face face :v-adjust -0.05 :height 1.25) + (doom-modeline-vspc))) + (propertize (abbreviate-file-name default-directory) 'face face)))) + ;; ;; Encoding @@ -521,9 +533,9 @@ buffer where knowing the current project directory is important." (cadr (assq major-mode delighted-modes))) mode-name)) 'help-echo "Major mode\n\ -mouse-1: Display major mode menu\n\ -mouse-2: Show help for major mode\n\ -mouse-3: Toggle minor modes" + mouse-1: Display major mode menu\n\ + mouse-2: Show help for major mode\n\ + mouse-3: Toggle minor modes" 'mouse-face 'mode-line-highlight 'local-map mode-line-major-mode-keymap) (when (and doom-modeline-env-version doom-modeline-env--version) @@ -564,9 +576,9 @@ mouse-3: Toggle minor modes" 'mode-line-inactive)) (mouse-face 'mode-line-highlight) (help-echo "Minor mode -mouse-1: Display minor mode menu -mouse-2: Show help for minor mode -mouse-3: Toggle minor modes")) + mouse-1: Display minor mode menu + mouse-2: Show help for minor mode + mouse-3: Toggle minor modes")) (if (bound-and-true-p minions-mode) `((:propertize ("" ,(--filter (memq (car it) minions-direct) minor-mode-alist)) @@ -576,7 +588,7 @@ mouse-3: Toggle minor modes")) local-map ,mode-line-minor-mode-keymap) ,(doom-modeline-spc) (:propertize ("" ,(doom-modeline-icon 'octicon "gear" "⚙" ";-" - :face face :v-adjust -0.05)) + :face face :v-adjust -0.05)) mouse-face ,mouse-face help-echo "Minions mouse-1: Display minor modes menu" diff --git a/doom-modeline.el b/doom-modeline.el index bed07de..1ed8395 100644 --- a/doom-modeline.el +++ b/doom-modeline.el @@ -105,6 +105,10 @@ '(bar window-number buffer-default-directory) '(misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process)) +(doom-modeline-def-modeline 'dashboard + '(bar window-number buffer-default-directory-simple) + '(misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process)) + (doom-modeline-def-modeline 'vcs '(bar window-number modals matches buffer-info buffer-position parrot selection-info) '(misc-info battery irc mu4e gnus github debug minor-modes buffer-encoding major-mode process)) @@ -173,6 +177,11 @@ If DEFAULT is non-nil, set the default mode-line for all buffers." "Set project mode-line." (doom-modeline-set-modeline 'project)) +;;;###autoload +(defun doom-modeline-set-dashboard-modeline () + "Set dashboard mode-line." + (doom-modeline-set-modeline 'dashboard)) + ;;;###autoload (defun doom-modeline-set-vcs-modeline () "Set vcs mode-line." @@ -255,7 +264,7 @@ So it can be restored when `doom-modeline-mode' is disabled.") ;; Add hooks (add-hook 'Info-mode-hook #'doom-modeline-set-info-modeline) (add-hook 'dired-mode-hook #'doom-modeline-set-project-modeline) - (add-hook 'dashboard-mode-hook #'doom-modeline-set-project-modeline) + (add-hook 'dashboard-mode-hook #'doom-modeline-set-dashboard-modeline) (add-hook 'image-mode-hook #'doom-modeline-set-media-modeline) (add-hook 'message-mode-hook #'doom-modeline-set-message-modeline) (add-hook 'git-commit-mode-hook #'doom-modeline-set-message-modeline) @@ -283,7 +292,7 @@ So it can be restored when `doom-modeline-mode' is disabled.") ;; Remove hooks (remove-hook 'Info-mode-hook #'doom-modeline-set-info-modeline) (remove-hook 'dired-mode-hook #'doom-modeline-set-project-modeline) - (remove-hook 'dashboard-mode-hook #'doom-modeline-set-project-modeline) + (remove-hook 'dashboard-mode-hook #'doom-modeline-set-dashboard-modeline) (remove-hook 'image-mode-hook #'doom-modeline-set-media-modeline) (remove-hook 'message-mode-hook #'doom-modeline-set-message-modeline) (remove-hook 'git-commit-mode-hook #'doom-modeline-set-message-modeline)