blob: 51efcb819e245d0e435b59631e62f5a03f755a42 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
;;; package --- Summary
;;; Commentary:
;; Putting org settings into its separate file.
;;; Code:
(require 'org)
;; remove tags from the agenda view
(setq org-agenda-remove-tags t)
;; START indented
(setq org-startup-indented t)
;; START folded
(setq org-startup-folded t)
;; START hidden asterisks
(setq org-hide-leading-stars t)
;; basic agenda stuff
(setq org-directory "~/Nextcloud/org")
(setq org-agenda-files "~/Nextcloud/org/agenda-files.org")
(setq org-default-notes-file (concat org-directory "/refile.org"))
(setq diary-file "~/Nextcloud/org/emacs-diary")
;; set day view as default
(setq org-agenda-span 'day)
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(setq org-log-done 'time)
(setq org-agenda-include-diary t)
(setq org-return-follows-link t) ;; not working! use C-c C-o instead - that is from org and it works
;; enable python for Org-babel (doing source code stuff in org mode)
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . nil)
(python . t)))
;; Enable state logging enable for the TODO state in org mode i.e. the "!" part
(setq org-todo-keywords
(quote
((sequence "TODO(t!)" "NEXT(n!)" "READ(r!)" "WRITE(o!)" "FIXME(f!)" "BUG(b!)" "|" "DONE(d!)")
(sequence "WAITING(w@/!)" "SOMEDAY(s@/!)" "|" "CANCELLED(c@/!)"))))
;; Capture shit
(define-key global-map "\C-cc" 'org-capture)
(setq org-default-notes-file "~/Nextcloud/org/refile.org")
(setq org-capture-templates
(quote (("z" "Todo" entry (file "~/Nextcloud/org/todo.org")
"* TODO %?")
("o" "On-call log" entry (file "~/Nextcloud/org/oncall-logs.org")
"* TODO %? :oncall:\nDetails of alert: \nEntered on %U\n")
("j" "Journal" entry (file+datetree "~/Nextcloud/org/journal.org")
"* %?\nEntered on %U\n %i\n %a")
("e" "Emacs Tip" entry (file+headline "~/Nextcloud/org/emacs-tips.org" "Emacs Tips")
"* %?\n %i\n %a")
("r" "RAM TODO/FIXME/BUG" entry (file+headline "~/Nextcloud/org/ram.org" "Tasks")
"* %?\n%a"))))
;; test for colourising TODO tags
(setq org-tag-faces
(quote (("code" :foreground "green yellow")
("read" :foreground "orange")
("urgent" :foreground "red" :background "white" :underline t)
("laptop" :foreground "orange")
("home" :foreground "orchid")
("work" :foreground "tomaton" :underline t)
("ram" :foreground "orange red")
("brainstorm" :foreground "aquamarine")
("research" :foreground "mint cream")
("oncall" :foreground "yellow" :weight bold)
("repeating" :foreground "pale turquoise")
("phone" :foreground "hot pink"))))
;; remap some keys
;; (global-set-key (kbd "<f1>") 'org-agenda)
;; colourize the headline tags
(setq org-todo-keyword-faces
(quote (("TODO" :foreground "red" :weight bold)
("NEXT" :foreground "cyan" :weight bold)
("FIXME" :foreground "yellow" :weight bold)
("BUG" :foreground "yellow" :weight bold)
("DONE" :foreground "forest green" :weight bold)
("READ" :foreground "orange" :weight bold)
("WRITE" :foreground "magenta" :weight bold)
("CANCELLED" :foreground "forest green" :weight bold)
("WAITING" :foreground "MediumOrchid1" :weight bold)
("SOMEDAY" :foreground "forest green" :weight bold))))
;; use fast selection
(setq org-use-fast-todo-selection t)
;; getting much of this stuff form http://doc.norang.ca/org-mode.html by the way
;; use shift and arrows to change stage a TODO item without logging the change, which is great for fixing mistakes
(setq org-treat-S-cursor-todo-selection-as-state-change nil)
;; tag stuff automatically dependent on a change of state
(setq org-todo-state-tags-triggers
(quote (("CANCELLED" ("CANCELLED" . t))
("WAITING" ("WAITING" . t))
("HOLD" ("WAITING") ("HOLD" . t))
(done ("WAITING") ("HOLD"))
("TODO" ("WAITING") ("CANCELLED") ("HOLD"))
("NEXT" ("WAITING") ("CANCELLED") ("HOLD"))
("DONE" ("WAITING") ("CANCELLED") ("HOLD")))))
;; START ---STUFF PULLED FROM emacs-leuven.el ----START
;; REMOVE THIS SECTION AND LOAD emacs-leuven.el again in init.el
;; if you want to go back to full emacs-leuven config
;; Settings for time grid for agenda display.
(setq org-agenda-time-grid '((daily remove-match)
""
(0600 0800 1000 1200 1400 1600 1800 2000 2200)))
;; String for the current time marker in the agenda.
(setq org-agenda-current-time-string "Right now")
;; 10.4.3 Sorting structure for the agenda items of a single day.
(setq org-agenda-sorting-strategy ; custom value
'((agenda time-up category-up priority-down effort-down)
(todo category-up priority-down effort-down)
(tags category-up priority-down effort-down)
(search category-up)))
;; Format string for displaying dates in the daily/weekly agenda
;; and in the timeline.
(setq org-agenda-format-date
(concat ; "\n"
"%Y-%m-%d" " %a "
;; (make-string (1- (window-width)) (string-to-char "_"))))
(make-string 65 (string-to-char " "))
"_"
;; (make-string 1 ?\u25AE)
))
;; Faces for specific Priorities (#A, #B and #C).
(setq org-priority-faces
'((?A . (:foreground "#CC0000" :background "#FFE3E3"))
(?B . (:foreground "#64992C" :background "#EBF4DD"))
(?C . (:foreground "#64992C" :background "#FFFFFF"))))
;; END ---STUFF PULLED FROM emacs-leuven.el ----END
(setq org-agenda-custom-commands
(quote (("N" "Agenda and NEXT TODOs"
((agenda "")
(todo "NEXT")))
("y" "Agenda and All TODOS"
((agenda "")
(alltodo ""))))
;; BELOW IS A BIGGER EXAMPLE OF THE FUNC ABOVE
;; setting custom views in the agenda ------- learned a lot about elist doing this!
;; (setq org-agenda-custom-commands
;; (quote (("A" "Agenda and All TODOs"
;; ((agenda "")
;; (alltodo "")))
;; ("N" "Agenda and NEXT TODOs"
;; ((agenda "")
;; (todo "NEXT")))
;; ("G" "Agenda, NEXT and All TODOs"
;; ((agenda "")
;; (todo "NEXT")
;; (alltodo "")))
;; ("R" "Agenda and READ TODOs"
;; ((agenda "")
;; (todo "READ")))
;; ("c" "Code BUG/FIXME"
;; ((agenda "")
;; (todo "BUG")
;; (todo "FIXME")))
;; ("o" "On-call logs"
;; ((agenda "")
;; (tags "oncall"
;; (quote (org-agenda-overriding-header "On Call Logs")))))
;; ("r" "RAM stuff"
;; ((agenda "")
;; (tags "ram"
;; (quote (org-agenda-overriding-header "RAM Stuff")))))
;; ("H" "Agenda and Habits"
;; ((agenda "")
;; (tags-todo "STYLE=\"habit\""
;; (quote (org-agenda-overriding-header "Habits"))))))))
;; use a single archive file for org
(setq org-archive-location "~/Nextcloud/org/archive/archive.org::* From %s")
;; refiling properly (or generally because everything is included)
(setq org-refile-targets (quote ((nil :maxlevel . 9)
(org-agenda-files :maxlevel . 9))))
(setq org-ellipsis "...")
;; END OF ORG MODE STUFF
|