Support org-pomodoro with desktop notification on macOS
This commit is contained in:
parent
f8565daf66
commit
e12f7ff9ce
7
init.el
7
init.el
@ -26,9 +26,6 @@
|
|||||||
(require 'init-meow)
|
(require 'init-meow)
|
||||||
(require 'init-dired)
|
(require 'init-dired)
|
||||||
|
|
||||||
;; Gtd
|
|
||||||
(require 'init-calendar)
|
|
||||||
|
|
||||||
;; Reading
|
;; Reading
|
||||||
(require 'init-english)
|
(require 'init-english)
|
||||||
|
|
||||||
@ -48,6 +45,10 @@
|
|||||||
(require 'init-tex)
|
(require 'init-tex)
|
||||||
(require 'init-pdf)
|
(require 'init-pdf)
|
||||||
|
|
||||||
|
;; Gtd
|
||||||
|
(require 'init-calendar)
|
||||||
|
(require 'init-pomodoro)
|
||||||
|
|
||||||
(require 'init-session)
|
(require 'init-session)
|
||||||
(emacs-session-restore)
|
(emacs-session-restore)
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ fi
|
|||||||
# emacs
|
# emacs
|
||||||
brew tap d12frosted/emacs-plus
|
brew tap d12frosted/emacs-plus
|
||||||
brew uninstall emacs-plus
|
brew uninstall emacs-plus
|
||||||
brew install emacs-plus --with-xwidgets --with-imagemagick
|
brew install emacs-plus --with-xwidgets --with-imagemagick --with-dbus --with-ctags
|
||||||
brew services restart d12frosted/emacs-plus/emacs-plus@29
|
brew services restart d12frosted/emacs-plus/emacs-plus@29
|
||||||
osascript -e 'tell application "Finder" to make alias file to posix file "/opt/homebrew/opt/emacs-plus@29/Emacs.app" at POSIX file "/Applications" with properties {name:"Emacs.app"}'
|
osascript -e 'tell application "Finder" to make alias file to posix file "/opt/homebrew/opt/emacs-plus@29/Emacs.app" at POSIX file "/Applications" with properties {name:"Emacs.app"}'
|
||||||
|
|
||||||
@ -29,9 +29,9 @@ brew install node
|
|||||||
npm install -g yaml-language-server
|
npm install -g yaml-language-server
|
||||||
npm install -g bash-language-server
|
npm install -g bash-language-server
|
||||||
npm install -g vscode-langservers-extracted
|
npm install -g vscode-langservers-extracted
|
||||||
npm install -g pyright
|
|
||||||
pip3 install ruff-lsp --break-system-packages
|
pip3 install ruff-lsp --break-system-packages
|
||||||
brew install texlab
|
brew install texlab
|
||||||
|
brew install basedpyright
|
||||||
|
|
||||||
# aider
|
# aider
|
||||||
brew install aider
|
brew install aider
|
||||||
@ -40,5 +40,8 @@ brew install aider
|
|||||||
brew install --cask squirrel
|
brew install --cask squirrel
|
||||||
brew install librime
|
brew install librime
|
||||||
|
|
||||||
|
# pomodoro
|
||||||
|
brew install terminal-notifier
|
||||||
|
|
||||||
# fetch submodules
|
# fetch submodules
|
||||||
git submodule update --init
|
git submodule update --init
|
||||||
|
54
lisp/init-pomodoro.el
Normal file
54
lisp/init-pomodoro.el
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
;;; 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
|
@ -1 +1 @@
|
|||||||
Subproject commit a7f21534522a725259cf2efd46837d7bd88ec231
|
Subproject commit a256968d1faaf2936d12696a364158df56931cdb
|
@ -1 +1 @@
|
|||||||
Subproject commit 425ff7cb89a76e08878d13743728a14a38da98ab
|
Subproject commit 781ee08f8d92f640dff8a0d8838b67a13a391846
|
Loading…
Reference in New Issue
Block a user