summaryrefslogtreecommitdiffstats
path: root/orgsettings.el
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--orgsettings.el201
1 files changed, 201 insertions, 0 deletions
diff --git a/orgsettings.el b/orgsettings.el
new file mode 100644
index 0000000..51efcb8
--- /dev/null
+++ b/orgsettings.el
@@ -0,0 +1,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