71 lines
3.2 KiB
Org Mode
71 lines
3.2 KiB
Org Mode
#+TITLE: `=Calendar App`
|
|
* Setup sync between google calendar and org file
|
|
:PROPERTIES:
|
|
:ID: 5E190E8A-CA26-4679-B5F8-BF9CFD289271
|
|
:END:
|
|
- Checkout https://github.com/myuhe/org-gcal.el, put the following content in a file ~secret.el~ and set the variable `+calendar-org-gcal-secret-file` to the path of that file.
|
|
#+BEGIN_SRC emacs-lisp
|
|
(setq org-gcal-client-id "your-id-foo.apps.googleusercontent.com"
|
|
org-gcal-client-secret "your-secret"
|
|
org-gcal-file-alist '(("your-mail@gmail.com" . "~/schedule.org")
|
|
("another-mail@gmail.com" . "~/task.org")))
|
|
#+END_SRC
|
|
* Doom faces
|
|
:PROPERTIES:
|
|
:ID: 8223894E-EA68-4259-A2EA-AF7E3653C610
|
|
:END:
|
|
I'm using the following setting:
|
|
#+BEGIN_SRC emacs-lisp
|
|
;; calfw
|
|
(cfw:face-title :foreground blue :bold bold :height 2.0 :inherit 'variable-pitch)
|
|
(cfw:face-header :foreground (doom-blend blue bg 0.8) :bold bold)
|
|
(cfw:face-sunday :foreground (doom-blend red bg 0.8) :bold bold)
|
|
(cfw:face-saturday :foreground (doom-blend red bg 0.8) :bold bold)
|
|
(cfw:face-holiday :foreground nil :background bg-alt :bold bold)
|
|
(cfw:face-grid :foreground vertical-bar)
|
|
(cfw:face-periods :foreground yellow)
|
|
(cfw:face-toolbar :foreground nil :background nil)
|
|
(cfw:face-toolbar-button-off :foreground base6 :bold bold :inherit 'variable-pitch)
|
|
(cfw:face-toolbar-button-on :foreground blue :bold bold :inherit 'variable-pitch)
|
|
|
|
(cfw:face-default-content :foreground fg)
|
|
(cfw:face-day-title :foreground fg :bold bold)
|
|
(cfw:face-today-title :foreground bg :background blue :bold bold)
|
|
(cfw:face-default-day :bold bold)
|
|
(cfw:face-today :foreground nil :background nil :bold bold)
|
|
(cfw:face-annotation :foreground violet)
|
|
(cfw:face-disable :foreground grey)
|
|
(cfw:face-select :background region)
|
|
#+END_SRC
|
|
* Adjust calendar to be included
|
|
:PROPERTIES:
|
|
:ID: D734975C-4B49-4F66-A088-AB2707A77537
|
|
:END:
|
|
Checkout example from https://github.com/kiwanami/emacs-calfw
|
|
#+BEGIN_SRC emacs-lisp
|
|
(defun my-open-calendar ()
|
|
(interactive)
|
|
(cfw:open-calendar-buffer
|
|
:contents-sources
|
|
(list
|
|
(cfw:org-create-source "Green") ; orgmode source
|
|
(cfw:howm-create-source "Blue") ; howm source
|
|
(cfw:cal-create-source "Orange") ; diary source
|
|
(cfw:ical-create-source "Moon" "~/moon.ics" "Gray") ; ICS source1
|
|
(cfw:ical-create-source "gcal" "https://..../basic.ics" "IndianRed") ; google calendar ICS
|
|
)))
|
|
#+END_SRC
|
|
Specifically, if you want to adjust the org files to be included, use a ~let~ binding to set the ~org-agenda-files~ like below:
|
|
#+BEGIN_SRC emacs-lisp
|
|
;;;###autoload
|
|
(defun cfw:open-org-calendar-with-cal1 ()
|
|
(interactive)
|
|
(let ((org-agenda-files '("/path/to/org/" "/path/to/cal1.org")))
|
|
(call-interactively '+calendar/open-calendar)))
|
|
|
|
;;;###autoload
|
|
(defun cfw:open-org-calendar-with-cal2 ()
|
|
(interactive)
|
|
(let ((org-agenda-files '("/path/to/org/" "/path/to/cal2.org")))
|
|
(call-interactively '+calendar/open-calendar)))
|
|
#+END_SRC
|