Skip to content

Commit

Permalink
Merge pull request doomemacs#1326 from ragone/develop
Browse files Browse the repository at this point in the history
feat: org-habit
  • Loading branch information
Henrik Lissner authored Apr 22, 2019
2 parents ff42cf0 + ae0c0f2 commit db7a37d
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 0 deletions.
1 change: 1 addition & 0 deletions init.example.el
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@
+babel ; running code in org
+capture ; org-capture in and outside of Emacs
+export ; Exporting org to whatever you want
+habit ; Keep track of your habits
+present ; Emacs for presentations
+protocol) ; Support for org-protocol:// links
;;perl ; write code no one else can comprehend
Expand Down
28 changes: 28 additions & 0 deletions modules/lang/org/+habit.el
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
;;; lang/org/+habit.el -*- lexical-binding: t; -*-

(defvar +org-habit-graph-padding 2
"The padding added to the end of the consistency graph")

(defvar +org-habit-min-width 30
"Hides the consistency graph if the `org-habit-graph-column' is less than this value")

(defvar +org-habit-graph-window-ratio 0.3
"The ratio of the consistency graphs relative to the window width")

(defun +org-habit|resize-graph()
"Right align and resize the consistency graphs based on `+org-habit-graph-window-ratio'"
(require 'org-habit)
(let* ((total-days (float (+ org-habit-preceding-days org-habit-following-days)))
(preceding-days-ratio (/ org-habit-preceding-days total-days))
(graph-width (floor (* (window-width) +org-habit-graph-window-ratio)))
(preceding-days (floor (* graph-width preceding-days-ratio)))
(following-days (- graph-width preceding-days))
(graph-column (- (window-width) (+ preceding-days following-days)))
(graph-column-adjusted (if (> graph-column +org-habit-min-width)
(- graph-column +org-habit-graph-padding)
nil)))
(setq-local org-habit-preceding-days preceding-days)
(setq-local org-habit-following-days following-days)
(setq-local org-habit-graph-column graph-column-adjusted)))

(add-hook 'org-agenda-mode-hook #'+org-habit|resize-graph)
1 change: 1 addition & 0 deletions modules/lang/org/config.el
Original file line number Diff line number Diff line change
Expand Up @@ -514,5 +514,6 @@ conditions where a window's buffer hasn't changed at the time this hook is run."
(if (featurep! +babel) (load! "+babel"))
(if (featurep! +capture) (load! "+capture"))
(if (featurep! +export) (load! "+export"))
(if (featurep! +habit) (load! "+habit"))
(if (featurep! +present) (load! "+present"))
(if (featurep! +protocol) (load! "+protocol")))

0 comments on commit db7a37d

Please sign in to comment.