aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bard-elisp/bard-dashboard.el104
-rw-r--r--bard-emacs-modules/bard-emacs-dashboard.el32
2 files changed, 84 insertions, 52 deletions
diff --git a/bard-elisp/bard-dashboard.el b/bard-elisp/bard-dashboard.el
index fe222cf..567ad50 100644
--- a/bard-elisp/bard-dashboard.el
+++ b/bard-elisp/bard-dashboard.el
@@ -1,55 +1,55 @@
-;; (defun dashboard-insert-custom (list-size)
-;; "Insert custom itemes LIST-SIZE."
-;; (interactive)
-;; (insert "  TODOs (A)  Cal: (c) ♪ Music: (m)  Mail: (M)  Emacs: (e)"))
-
-;; (add-hook 'dashboard-mode-hook
-;; (lambda()
-;; (define-key dashboard-mode-map (kbd "A") #'(lambda ()(interactive)(org-agenda nil "D")))
-;; ;; FIXME look at browse url for explanation
-;; ;; (define-key global-map (kbd "g") #')
-;; (define-key dashboard-mode-map (kbd "c") #'calendar)
-;; (define-key dashboard-mode-map (kbd "M") #'notmuch)
-;; (define-key dashboard-mode-map (kbd "e") #'(lambda ()(interactive)(dired user-emacs-directory)))
-;; (define-key dashboard-mode-map (kbd "m") #'(lambda ()(interactive)(emms)))
-;; ))
-
-;; (defvar dashboard-recover-layout-p nil
-;; "Whether recovers the layout.")
-
-;; (defun open-dashboard ()
-;; "Open the *dashboard* buffer and jump to the first widget."
+ (defun dashboard-insert-custom (list-size)
+ "Insert custom itemes LIST-SIZE."
+ (interactive)
+ (insert "  TODOs (A)  Cal: (c) ♪ Music: (m)  Mail: (M)  Emacs: (e)"))
+
+(add-hook 'dashboard-mode-hook
+ (lambda()
+ (define-key dashboard-mode-map (kbd "A") #'(lambda ()(interactive)(org-agenda nil "D")))
+ ;; FIXME look at browse url for explanation
+ ;; (define-key global-map (kbd "g") #')
+ (define-key dashboard-mode-map (kbd "c") #'calendar)
+ (define-key dashboard-mode-map (kbd "M") #'notmuch)
+ (define-key dashboard-mode-map (kbd "e") #'(lambda ()(interactive)(dired user-emacs-directory)))
+ (define-key dashboard-mode-map (kbd "m") #'(lambda ()(interactive)(emms)))
+ ))
+
+(defvar dashboard-recover-layout-p nil
+ "Whether recovers the layout.")
+
+(defun open-dashboard ()
+ "Open the *dashboard* buffer and jump to the first widget."
+ (interactive)
+ (setq dashboard-recover-layout-p t)
+ (delete-other-windows)
+ (dashboard-refresh-buffer)
+ (dashboard-goto-recent-files))
+
+(defun quit-dashboard ()
+ "Quit dashboard window."
+ (interactive)
+ (quit-window t)
+ (when (and dashboard-recover-layout-p
+ (bound-and-true-p winner-mode))
+ (winner-undo)
+ (setq dashboard-recover-layout-p nil)))
+
+;; TODO replace with browse-url librewolf that opens to localhost new tab
+;; (defun bard/open-librewolf ()
;; (interactive)
-;; (setq dashboard-recover-layout-p t)
-;; (delete-other-windows)
-;; (dashboard-refresh-buffer)
-;; (dashboard-goto-recent-files))
+;; (if (string-match "\\`bardiel" system-name)
+;; (async-shell-command "librewolf-bin"))
+;; '(async-shell-command "librewolf"))
-;; (defun quit-dashboard ()
-;; "Quit dashboard window."
+;; TODO replace this with browse-url that opens to localhost new tab
+;; (defun bard/open-firefox ()
;; (interactive)
-;; (quit-window t)
-;; (when (and dashboard-recover-layout-p
-;; (bound-and-true-p winner-mode))
-;; (winner-undo)
-;; (setq dashboard-recover-layout-p nil)))
-
-;; ;; TODO replace with browse-url librewolf that opens to localhost new tab
-;; ;; (defun bard/open-librewolf ()
-;; ;; (interactive)
-;; ;; (if (string-match "\\`bardiel" system-name)
-;; ;; (async-shell-command "librewolf-bin"))
-;; ;; '(async-shell-command "librewolf"))
-
-;; ;; TODO replace this with browse-url that opens to localhost new tab
-;; ;; (defun bard/open-firefox ()
-;; ;; (interactive)
-;; ;; (if (string-match "\\`bardiel" system-name)
-;; ;; (async-shell-command "firefox-bin"))
-;; ;; '(async-shell-command "firefox"))
-
-;; ;; FIXME browse-url-librewolf is incomplete
-;; ;; (defun bard/open-user-github ()
-;; ;; (browse-url-librewolf 'user-github-url))
-
-;; (provide 'bard-dashboard)
+;; (if (string-match "\\`bardiel" system-name)
+;; (async-shell-command "firefox-bin"))
+;; '(async-shell-command "firefox"))
+
+;; FIXME browse-url-librewolf is incomplete
+;; (defun bard/open-user-github ()
+;; (browse-url-librewolf 'user-github-url))
+
+(provide 'bard-dashboard)
diff --git a/bard-emacs-modules/bard-emacs-dashboard.el b/bard-emacs-modules/bard-emacs-dashboard.el
new file mode 100644
index 0000000..87f9044
--- /dev/null
+++ b/bard-emacs-modules/bard-emacs-dashboard.el
@@ -0,0 +1,32 @@
+(require 'bard-dashboard)
+
+(use-package dashboard
+ :ensure t
+ :config
+ (define-key global-map (kbd "<home>") #'dashboard-open)
+ (define-key global-map (kbd "C-z d") #'dashboard-open)
+ (setq initial-buffer-choice 'dashboard-open)
+ (dashboard-setup-startup-hook)
+ (setq dashboard-startup-banner "~/.emacs.d/img/emacslogo.png")
+ (setq dashboard-banner-logo-width 50)
+ (setq dashboard-banner-logo-height 50)
+ (setq dashboard-center-content t)
+ ;; dashboar items
+ (setq dashboard-items '((recents . 5)
+ (agenda . 5)))
+
+ ;; Insert custom item
+ (add-to-list 'dashboard-item-generators '(custom . dashboard-insert-custom))
+ (add-to-list 'dashboard-items '(custom) t)
+
+ (setq dashboard-banner-logo-title "Time for another recreational programming session.")
+ (setq dashboard-startupify-list '(dashboard-insert-banner
+ dashboard-insert-newline
+ dashboard-insert-banner-title
+ dashboard-insert-newline
+ dashboard-insert-items
+ dashboard-insert-newline))
+
+ (setq dashboard-set-init-info nil))
+
+(provide 'bard-emacs-dashboard)