doomemacs/modules/app/calendar/config.el

95 lines
3.5 KiB
EmacsLisp
Raw Normal View History

;;; app/calendar/config.el -*- lexical-binding: t; -*-
2018-01-13 17:26:40 +08:00
(defvar +calendar-open-function #'+calendar/open-calendar
2018-02-19 15:18:36 -05:00
"TODO")
;;
;; Packages
2018-02-19 15:18:36 -05:00
(use-package! calfw
:commands cfw:open-calendar-buffer
2018-01-13 17:26:40 +08:00
:config
;; better frame for calendar
2018-02-19 15:18:36 -05:00
(setq cfw:face-item-separator-color nil
cfw:render-line-breaker 'cfw:render-line-breaker-none
cfw:fchar-junction ?╋
cfw:fchar-vertical-line ?┃
cfw:fchar-horizontal-line ?━
cfw:fchar-left-junction ?┣
cfw:fchar-right-junction ?┫
cfw:fchar-top-junction ?┯
cfw:fchar-top-left-corner ?┏
cfw:fchar-top-right-corner ?┓)
(set-popup-rule! "^\\*cfw:details" :quit t :ttl 0 :select t :size 0.4)
(define-key cfw:calendar-mode-map "q" #'+calendar/quit)
(when (modulep! :editor evil +everywhere)
(set-evil-initial-state! '(cfw:calendar-mode cfw:details-mode) 'motion)
(add-hook! (cfw:calendar-mode cfw:details-mode) #'evil-normalize-keymaps)
(map! (:map cfw:calendar-mode-map
:m "q" #'+calendar/quit
:m "SPC" #'cfw:show-details-command
:m "RET" #'cfw:show-details-command
:m "TAB" #'cfw:navi-prev-item-command
:m [tab] #'cfw:navi-prev-item-command
:m [backtab] #'cfw:navi-next-item-command
:m "$" #'cfw:navi-goto-week-end-command
:m "." #'cfw:navi-goto-today-command
:m "<" #'cfw:navi-previous-month-command
:m ">" #'cfw:navi-next-month-command
:m "C-h" #'cfw:navi-previous-month-command
:m "C-l" #'cfw:navi-next-month-command
:m "D" #'cfw:change-view-day
:m "M" #'cfw:change-view-month
:m "T" #'cfw:change-view-two-weeks
:m "W" #'cfw:change-view-week
:m "^" #'cfw:navi-goto-week-begin-command
:m "gr" #'cfw:refresh-calendar-buffer
:m "h" #'cfw:navi-previous-day-command
:m "H" #'cfw:navi-goto-first-date-command
:m "j" #'cfw:navi-next-week-command
:m "k" #'cfw:navi-previous-week-command
:m "l" #'cfw:navi-next-day-command
:m "L" #'cfw:navi-goto-last-date-command
:m "t" #'cfw:navi-goto-today-command)
(:map cfw:details-mode-map
:m "SPC" #'cfw:details-kill-buffer-command
:m "RET" #'cfw:details-kill-buffer-command
:m "TAB" #'cfw:details-navi-prev-item-command
:m [tab] #'cfw:details-navi-prev-item-command
:m [backtab] #'cfw:details-navi-next-item-command
:m "q" #'cfw:details-kill-buffer-command
:m "C-h" #'cfw:details-navi-prev-command
:m "C-l" #'cfw:details-navi-next-command
:m "C-k" #'cfw:details-navi-prev-item-command
:m "C-j" #'cfw:details-navi-next-item-command)))
2018-02-19 15:18:36 -05:00
(add-hook 'cfw:calendar-mode-hook #'doom-mark-buffer-as-real-h)
(add-hook 'cfw:calendar-mode-hook #'hide-mode-line-mode)
2018-02-19 15:18:36 -05:00
(advice-add #'cfw:render-button :override #'+calendar-cfw:render-button-a))
2018-02-19 15:18:36 -05:00
2018-01-13 17:26:40 +08:00
(use-package! calfw-org
2018-01-13 17:26:40 +08:00
:commands (cfw:open-org-calendar
cfw:org-create-source
cfw:org-create-file-source
cfw:open-org-calendar-withkevin))
2018-01-13 17:26:40 +08:00
(use-package! calfw-cal
:commands (cfw:cal-create-source))
(use-package! calfw-ical
:commands (cfw:ical-create-source))
2018-02-19 15:18:36 -05:00
(use-package! org-gcal
:defer t
:init
(defvar org-gcal-dir (concat doom-cache-dir "org-gcal/"))
(defvar org-gcal-token-file (concat org-gcal-dir "token.gpg")))