summary refs log tree commit diff
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2024-09-05 08:33:41 -0700
committerFranck Cuny <franck@fcuny.net>2024-09-05 08:33:41 -0700
commit45b7eeca226e33af2488b2416236ca15888ecade (patch)
tree589bce9dc9c2fab989eeb403eda1a4d9175912d9
parentmore denote stuff (diff)
downloademacs.d-45b7eeca226e33af2488b2416236ca15888ecade.tar.gz
going to try howm
Based on https://news.ycombinator.com/item?id=41438107 and
https://github.com/Emacs101/howm-manual/blob/main/Howm_tutorial_eng.pdf

This could simplify things quite a lot, compared to denote and org in
general. I'm going to give it a try for personal and work related things.
-rw-r--r--config/init-notes.el82
1 files changed, 29 insertions, 53 deletions
diff --git a/config/init-notes.el b/config/init-notes.el
index 0d393c4..55d3620 100644
--- a/config/init-notes.el
+++ b/config/init-notes.el
@@ -7,25 +7,37 @@
 
 ;;; Code:
 
-(use-package denote
+(use-package howm
   :ensure t
-  :hook (dired-mode . denote-dired-mode)
   :init
-  (use-package denote-org-extras
-    :ensure nil)
-  (use-package denote-journal-extras
-    :ensure nil)
-  :bind (("C-c n r" . denote-rename-file)
-	 ("C-c n t" . denote-journal-extras-new-or-existing-entry)
-	 ("C-c n n" . denote-subdirectory))
-  :custom
-  (denote-rename-buffer-mode 1)
-  (denote-journal-extras-directory (concat denote-directory "journal/" (format-time-string "%Y")))
-  (denote-file-type "org")
-  (denote-org-capture-specifiers "%i\n%?")
-  (denote-dired-directories (list denote-directory))
-  (denote-dired-directories-include-subdirectories t)
-  (denote-journal-extras-title-format 'day-date-month-year))
+  ;; Org-compatible filenames and syntax.
+  (setq howm-file-name-format "%Y/%m/%Y-%m-%d-%H%M%S.org")
+  (setq howm-view-title-header "*")
+
+  ;; Use ripgrep for fast searching.
+  (setq howm-view-use-grep t)
+  (setq howm-view-grep-command "rg")
+  (setq howm-view-grep-option "-nH --no-heading --color never")
+  (setq howm-view-grep-extended-option nil)
+  (setq howm-view-grep-fixed-option "-F")
+  (setq howm-view-grep-expr-option nil)
+  (setq howm-view-grep-file-stdin-option nil)
+
+  ;; Make the "comefrom links" case-insensitive.
+  (setq howm-keyword-case-fold-search t)
+
+  ;; Get rid of the old-fashioned separators.
+  (setq howm-view-summary-sep "\t")
+
+  ;; Where to store data.
+  (setq howm-directory "~/Documents/notes")
+  (setq howm-home-directory howm-directory)
+  :config
+  (custom-set-faces
+   '(howm-menu-list-face ((t (:foreground "#a9a9a9"))))
+   '(howm-reminder-normal-face ((t (:foreground "#ab82ff"))))
+   '(howm-reminder-today-face ((t (:background "#993333" :foreground "white"))))
+   '(howm-reminder-todo-face ((t (:foreground "#ffb90f"))))))
 
 (use-package org
   :hook
@@ -35,8 +47,6 @@
 
   :custom
   (org-directory "~/Documents/notes")
-  (org-default-notes-file (expand-file-name "tasks.org" org-directory))
-  (org-agenda-files '("tasks.org"))
   
   (org-startup-folded t)
   (org-startup-indented t)
@@ -46,19 +56,6 @@
   (org-enforce-todo-dependencies t)
   (org-enforce-todo-checkbox-dependencies t)
 
-  ;; quick access for todo states
-  (org-todo-keywords
-   '((sequence "TODO(t)" "NEXT(n)" "WAITING(w!)" "|" "DONE(d)")
-     (sequence "|" "CANCELLED(c)")))
-
-  (org-log-done 'time)
-  (org-log-into-drawer t)
-
-  ;; org-refile options
-  (org-refile-allow-creating-parent-nodes (quote confirm))
-  (org-refile-targets '(("tasks.org" :tag . "target")))
-  (org-refile-use-outline-path 'file)
-
   (org-hide-emphasis-markers t)
   (org-hide-leading-stars t)
   (org-pretty-entities t)
@@ -88,27 +85,6 @@
      ("q" . "quote")
      ("V" . "verbatim"))))
 
-(use-package org-capture
-  :ensure nil
-  :after org
-  :bind
-  ("C-c c" . org-capture)
-  :config
-  (setq org-capture-templates
-        `(("t" "Tasks" entry (file+olp "tasks.org" "Inbox")
-	   "* TODO %?\n%U" :prepend t :empty-lines 0)
-	  ("n" "note" plain (file denote-last-path) #'denote-org-capture
-           :no-save t :immediate-finish nil :kill-buffer t :jump-to-captured nil))))
-
-(use-package org-agenda
-  :ensure nil
-  :after org
-  :bind
-  ("C-c a" . org-agenda)
-  :custom
-  (org-agenda-hide-tags-regexp (regexp-opt '("target")))
-  (org-agenda-start-on-weekday 1))
-  
 (use-package org-auto-tangle
   :ensure t
   :hook (org-mode . org-auto-tangle-mode))