🧀 Emacs 配置 Dashboard
Dashboard
我配置最终的样式
读一篇 readme 其实配置基本没什么问题,我这里就记录一下我碰到的几个问题
使用 nerd-icons
(,(nerd-icons-faicon "nf-fa-blogger_b" :height 1.1 :v-adjust 0.0)
我一开始看文档,
我以为 nf-fa
部分,不需要输入,也就是 nerd-icons-faicon "blogger_b"
这样
但是不是这样的,还是要输入的 nf-fa
的
打开 heading-icon 报错
就是不知道什么原因, dashboard-heading-icons
最终设置错误,
我遇到这个报错的时候,这个值只有两个,但是我 dashboard-item
有5个, project
, recents
,bookmark
,register
,agenda
所以其他三个自然就是 nil ,所以报错了,
解决方式就是手动的 setq 一下
1
2
3
4
5
(setq dashboard-heading-icons '((recents . "nf-oct-history")
(bookmarks . "nf-oct-bookmark")
(agenda . "nf-oct-calendar")
(projects . "nf-oct-rocket")
(registers . "nf-oct-database")))
nil icon name when dashboard-set-heading-icons turned on
设置 page-break-line
1
2
3
(with-eval-after-load 'page-break-lines
(setq dashboard-page-separator "\n\f\n") ;; 必须要加这一行,才能显示出 page line
(dashboard-insert-page-break))
但我觉得 page-break-line
加了不好看
我的完整配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
(require 'dashboard)
(require 'dashboard-widgets)
(dashboard-setup-startup-hook)
(setq dashboard-startup-banner 'logo)
(setq dashboard-banner-logo-png "/Users/mmmmmcclxxvii/Works/cyven/820x312.png")
;; Set the title
(setq dashboard-banner-logo-title "To feel this 🧗 level of happiness just one time in your life")
;; Content is not centered by default. To center, set
(setq dashboard-center-content t)
;; vertically center content
(setq dashboard-vertically-center-content t)
(with-eval-after-load 'projectile
(setq dashboard-projects-backend 'projectile)
(add-to-list 'dashboard-items '(projects . 5)))
(add-to-list 'dashboard-items '(registers . 5) t)
(setq dashboard-startupify-list '(dashboard-insert-banner
dashboard-insert-newline
dashboard-insert-banner-title
dashboard-insert-newline
dashboard-insert-navigator
dashboard-insert-newline
dashboard-insert-init-info
dashboard-insert-items
dashboard-insert-newline
dashboard-insert-footer))
(setq dashboard-navigation-cycle t)
(with-eval-after-load 'nerd-icons
(setq dashboard-display-icons-p t) ; display icons on both GUI and terminal
(setq dashboard-icon-type 'nerd-icons) ; use `nerd-icons' package
(dashboard-modify-heading-icons '((recents . "nf-oct-file_code")
(bookmarks . "nf-oct-book")))
;;如果 heading-icons 设置有问题,取消下面的注释
;;(setq dashboard-heading-icons '((recents . "nf-oct-history")
;; (bookmarks . "nf-oct-bookmark")
;; (agenda . "nf-oct-calendar")
;; (projects . "nf-oct-rocket")
;; (registers . "nf-oct-database")))
(setq dashboard-set-heading-icons t)
(setq dashboard-set-file-icons t)
;; Format: "(icon title help action face prefix suffix)"
(setq dashboard-navigator-buttons
`(;; line1
(
(,(nerd-icons-faicon "nf-fa-blogger_b" :height 1.1 :v-adjust 0.0)
"Homepage"
"Browse homepage"
(lambda (&rest _) (browse-url "https://www.cybertheye.com")))
(,(nerd-icons-octicon "nf-oct-mark_github" :height 1.1 :v-adjust 0.0)
"Github"
""
(lambda (&rest _) (browse-url "https://github.com/cybertheye")))
)))
)
(setq dashboard-agenda-sort-strategy '(scheduled-up deadline-up category-keep priority-down))
;; 加了 page-break-line 感觉不好看
;;(with-eval-after-load 'page-break-lines
;; (setq dashboard-page-separator "\n\f\n") ;; 必须要加这一行,才能显示出 page line
;; (dashboard-insert-page-break))
;;(page-break-lines-mode))
(provide 'init-dashboard)
This post is licensed under CC BY 4.0 by the author.