Add action for capturing zoom meeting

master
Jacopo De Simoi 3 years ago
parent 5533b91fe1
commit 75a5744fbf
  1. 87
      global.org

@ -652,6 +652,53 @@
mm-text-html-renderer 'gnus-w3m
mu4e-completing-read-function 'completing-read)
(let (p1 p2 myLine)
(setq p1 (line-beginning-position) )
(setq p2 (line-end-position) )
(setq myLine (buffer-substring-no-properties p1 p2)))
(defun get-buffer-current-line ()
(let ((p (line-beginning-position))
(q (line-end-position)))
(buffer-substring-no-properties p q)))
(defun get-buffer-to-eol ()
(let ((p (point))
(q (line-end-position)))
(buffer-substring-no-properties p q)))
(defun format-zoom-meeting ()
(concat zoom-summary
" [[" zoom-link "][link]] (" zoom-passcode "\n :SCHEDULED: " zoom-scheduled-time))
(defun create-item-for-meeting (msg)
"Search for messages sent by the sender of the message at point."
(save-excursion
(beginning-of-buffer)
(when (search-forward "Join Zoom Meeting")
(message "found zoom meeting")
(right-char)
(setq zoom-link (get-buffer-current-line))
(when (search-forward "Passcode:")
(setq zoom-passcode (get-buffer-current-line)))
(search-backward "Time:")
(search-forward "<")
(left-char)
(setq zoom-scheduled-time (get-buffer-to-eol))
(search-backward "Summary:")
(right-word)
(right-word)
(left-word)
(setq zoom-summary (get-buffer-to-eol))
(org-capture nil "z"))))
;; define 'z' as the shortcut
(add-to-list 'mu4e-view-actions
'("zCreate agenda item for meeting" . create-item-for-meeting) t)
(advice-add 'mu4e~header-line-format :around
(lambda (orig-fun &rest args)
(let ((mu4e-use-fancy-chars t)
@ -1311,25 +1358,27 @@
This is my capture template: it needs to be revised as I really do not use
The Idea, journal and break entry
#+begin_src emacs-lisp
(setq org-default-notes-file "~/org/master.org")
(setq org-capture-templates
'(("t" "TODO today" entry (file+headline "~/org/orgzly/scheduled.org" "Tasks")
"* TODO %?\n SCHEDULED: %t" :clock-in t :clock-resume t)
("n" "TODO next" entry (file+headline "~/org/orgzly/scheduled.org" "Tasks")
"* NEXT %?\n " :clock-in t :clock-resume t)
("T" "TODO" entry (file+headline "~/org/orgzly/scheduled.org" "Tasks")
"* TODO %?\n %a" :clock-in t :clock-resume t)
("i" "Idea" entry (file+headline "~/org/master.org" "Ideas")
"* IDEA %?\n %u" :clock-in t :clock-resume t )
("j" "Journal" entry (file+datetree "~/org/master.org")
"* %?\n%U\n" :clock-in t :clock-resume t)
("b" "Break" entry (file+datetree "~/org/master.org")
"* break %?\n" :clock-in t :clock-resume t)
("e" "Mail To" entry (file+headline "~/org/orgzly/scheduled.org" "E-mails")
"* DONE mailto:%?")
("R" "Reply" entry (file+headline "~/org/orgzly/scheduled.org" "E-Mails")
"* TODO Reply to %:from \nSCHEDULED: %(org-insert-time-stamp
(org-read-date nil t \"+0d\"))\n%a\n%?\n")))
(setq org-default-notes-file "~/org/master.org")
(setq org-capture-templates
'(("t" "TODO today" entry (file+headline "~/org/orgzly/scheduled.org" "Tasks")
"* TODO %?\n SCHEDULED: %t" :clock-in t :clock-resume t)
("n" "TODO next" entry (file+headline "~/org/orgzly/scheduled.org" "Tasks")
"* NEXT %?\n " :clock-in t :clock-resume t)
("T" "TODO" entry (file+headline "~/org/orgzly/scheduled.org" "Tasks")
"* TODO %?\n %a" :clock-in t :clock-resume t)
("i" "Idea" entry (file+headline "~/org/master.org" "Ideas")
"* IDEA %?\n %u" :clock-in t :clock-resume t )
("j" "Journal" entry (file+datetree "~/org/master.org")
"* %?\n%U\n" :clock-in t :clock-resume t)
("b" "Break" entry (file+datetree "~/org/master.org")
"* break %?\n" :clock-in t :clock-resume t)
("e" "Mail To" entry (file+headline "~/org/orgzly/scheduled.org" "E-mails")
"* DONE mailto:%?")
("R" "Reply" entry (file+headline "~/org/orgzly/scheduled.org" "E-Mails")
"* TODO Reply to %:from \nSCHEDULED: %(org-insert-time-stamp
(org-read-date nil t \"+0d\"))\n%a\n%?\n")
("z" "Zoom meeting" entry (file+headline "~/org/orgzly/scheduled.org" "Tasks")
"* TODO Attend %(format-zoom-meeting)\n%a" :immediate-finish t)))
#+end_src
*** LaTeX export
#+begin_src emacs-lisp

Loading…
Cancel
Save