55 lines
1.8 KiB
EmacsLisp
55 lines
1.8 KiB
EmacsLisp
;;; init-pomodoro.el --- Pomodoro settings -*- lexical-binding: t -*-
|
|
;;; Commentary:
|
|
|
|
;;; Code:
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; org-pomodoro
|
|
(use-package org-pomodoro
|
|
:custom-face
|
|
(org-pomodoro-mode-line ((t (:inherit warning))))
|
|
(org-pomodoro-mode-line-overtime ((t (:inherit error))))
|
|
(org-pomodoro-mode-line-break ((t (:inherit success))))
|
|
:bind (:map org-mode-map
|
|
("C-c C-x m" . org-pomodoro))
|
|
:init
|
|
(with-eval-after-load 'org-agenda
|
|
(bind-keys :map org-agenda-mode-map
|
|
("K" . org-pomodoro)
|
|
("C-c C-x m" . org-pomodoro))))
|
|
|
|
;; https://github.com/devbins/.emacs.d/blob/5341a41e2b100c1228eb2438aa5a83927857cfb0/lisp/init-func.el#L335
|
|
(defun notify-osx (title msg)
|
|
(call-process "terminal-notifier"
|
|
nil 0 nil
|
|
"-group" "Emacs"
|
|
"-title" title
|
|
;; "-sender" "org.gnu.Emacs"
|
|
"-message" msg
|
|
"-sound" "Glass"
|
|
"-active" "org.gnu.Emacs"))
|
|
;; org-pomodoro mode hooks
|
|
(add-hook 'org-pomodoro-started-hook
|
|
(lambda ()
|
|
(notify-osx "Pomodoro started!" "Time for a pomodoro.")))
|
|
|
|
(add-hook 'org-pomodoro-finished-hook
|
|
(lambda ()
|
|
(notify-osx "Pomodoro completed!" "Time for a break.")))
|
|
|
|
(add-hook 'org-pomodoro-break-finished-hook
|
|
(lambda ()
|
|
(notify-osx "Pomodoro Short Break Finished" "Ready for Another?")))
|
|
|
|
(add-hook 'org-pomodoro-long-break-finished-hook
|
|
(lambda ()
|
|
(notify-osx "Pomodoro Long Break Finished" "Ready for Another?")))
|
|
|
|
(add-hook 'org-pomodoro-killed-hook
|
|
(lambda ()
|
|
(notify-osx "Pomodoro Killed" "One does not simply kill a pomodoro!")))
|
|
|
|
(provide 'init-pomodoro)
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;; init-pomodoro.el ends here
|