ui/doom-dashboard: lock point in buttons #465

This commit is contained in:
Henrik Lissner 2018-03-18 02:35:52 -04:00
parent 9a247f4dc1
commit a9c8f8f41b
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -63,29 +63,42 @@ Possible values:
(setq-local show-trailing-whitespace nil) (setq-local show-trailing-whitespace nil)
(cl-loop for (car . _cdr) in fringe-indicator-alist (cl-loop for (car . _cdr) in fringe-indicator-alist
collect (cons car nil) into alist collect (cons car nil) into alist
finally do (setq fringe-indicator-alist alist))) finally do (setq fringe-indicator-alist alist))
(add-hook 'post-command-hook #'+doom-dashboard|reposition-point nil t))
(map! :map +doom-dashboard-mode-map (map! :map +doom-dashboard-mode-map
"n" #'+doom-dashboard/next-button "n" #'+doom-dashboard/next-button
"p" #'+doom-dashboard/previous-button "p" #'+doom-dashboard/previous-button
"N" #'+doom-dashboard/last-button "N" #'+doom-dashboard/last-button
"P" #'+doom-dashboard/first-button "P" #'+doom-dashboard/first-button
[remap evil-insert] #'ignore
[remap evil-replace] #'ignore
[remap evil-change] #'ignore
[remap evil-visual-char] #'ignore
[remap evil-visual-line] #'ignore
(:when (featurep! :feature evil) (:when (featurep! :feature evil)
:em "j" #'+doom-dashboard/next-button :m "j" #'+doom-dashboard/next-button
:em "k" #'+doom-dashboard/previous-button :m "k" #'+doom-dashboard/previous-button
:em "gg" #'+doom-dashboard/first-button :m "gg" #'+doom-dashboard/first-button
:em "G" #'+doom-dashboard/last-button)) :m "G" #'+doom-dashboard/last-button
[remap evil-delete] #'ignore
[remap evil-delete-line] #'ignore
[remap evil-insert] #'ignore
[remap evil-append] #'ignore
[remap evil-replace] #'ignore
[remap evil-replace-state] #'ignore
[remap evil-change] #'ignore
[remap evil-change-line] #'ignore
[remap evil-visual-char] #'ignore
[remap evil-visual-line] #'ignore))
;; ;;
;; Hooks ;; Hooks
;; ;;
(defun +doom-dashboard|reposition-point ()
"Trap the point in the buttons."
(unless (button-at (point))
(or (+doom-dashboard/previous-button)
(+doom-dashboard/first-button))))
(defun +doom-dashboard|init () (defun +doom-dashboard|init ()
"Initializes Doom's dashboard." "Initializes Doom's dashboard."
(add-hook 'focus-in-hook #'+doom-dashboard-reload) (add-hook 'focus-in-hook #'+doom-dashboard-reload)