Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: James TD Smith <ahktenzero <at> mohorovi.cc>
Subject: Re: POLL: the 40 variables project
Newsgroups: gmane.emacs.orgmode
Date: Sunday 1st February 2009 15:18:04 UTC (over 8 years ago)
Hi Carsten,

On 2009-01-29 09:49:21(+0100), Carsten Dominik wrote:
> So here is my question to all of you.  Could you, in reply to this
> message, list all the Org-related variables that you have customized,
> along with the values you used?

Here are my org settings, with commentary. I've included definitions for
org-related functions as well.

; I use frequently use org in a terminal, so I need the replacement keys.
(setq org-replace-disputed-keys t)
(setq org-disputed-keys
'(([(shift up)] . [(control c) (up)])
  ([(shift down)] . [(control c) (down)])
  ([(shift left)] . [(control c) (left)])
  ([(shift right)] . [(control c) (right)])
  ([(control shift right)] . [(control c) (control x) (right)])
  ([(control shift left)] . [(control c) (control x) (left)])))

; Clock persistence
(org-clock-persistence-insinuate)
(setq org-clock-persist t) ; Persist clock data
(setq org-clock-in-resume t) ; Resume persisted clock when loading emacs
(setq org-clock-persist-query-resume nil) ; Resume clock without asking

(aput 'auto-mode-alist "\\.org$" (function org-mode))
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(define-key global-map "\C-cf" 'org-footnote-action)
(define-key org-mode-map "\C-\M-g" 'org-plot/gnuplot)

(setq org-log-done t)

; I use the emacs diary mostly for things like
(setq org-agenda-include-diary t)

; TODO sequences.

(setq org-todo-keywords
      '((sequence "TODO" "|" "DONE")
	(sequence "PLANNING" "PARTS" "FABRICATION" "REVISION" "SUSPENDED" "|"
		  "COMPLETED" "CANCELLED")
	(sequence "DESIGN" "CODING" "PACKAGING" "|" "COMPLETE" "CANCELLED")
	(sequence "INVESTIGATE(i)" "TOGET(g)" "ORDERED([email protected])" "|"
		  "GOT(r)" "UNNEEDED([email protected])")
	(sequence "INVESTIGATE(i)" "TOGET(g)" "TOREAD(t)" "READING(r)" "|"
		  "READ(d)" "UNNEEDED([email protected])")
	(sequence "PROPOSED(p)" "TRIAL(t)" "|" "ACCEPTED([email protected])" "REJECTED([email protected])")
	(sequence "INVESTIGATE(i)" "TOGET(g)" "TOLISTEN(l)" "LISTENING(L)" "|"
		  "HEARD(h)" "NOTINTERESTED(@n)")
	(sequence "INVESTIGATE(i)" "TOGET(g)" "TOWATCH(w)" "WATCHING(W)" "|"
		  "WATCHED(d)" "NOTINTERESTED(@n)")))

I also have some per-file settings:

#+SEQ_TODO: PLANNED(p) TODO(t) FEEDBACK(f) |  DONE(d) ASSIGNED(a)
CANCELLED(c) LATER(l)

; Some of my entries contain extensive notes in plain list format, so being
able
; to fold them is useful.
(setq org-cycle-include-plain-lists t)

; Turn on tag inheritance
(setq org-use-tag-inheritance t)

; Make headlines with inherited tags show up in tag searches
(setq org-tags-match-list-sublevels t)

(setq org-directory "~/Personal")


(setq org-special-ctrl-a/e 'reversed)

; Hide scheduled items which I've done.
(setq org-agenda-skip-scheduled-if-done t)

; I can fit ~155 characters across the screen; 3 more are needed for the
; ellipsis for folded items, so -150 is about right for the tag position.
(setq org-tags-column -150)
; Use the same settings in the agenda
(setq org-agenda-tags-column org-tags-column)

; Always put clock items into drawers.
(setq org-clock-into-drawer t)

; I set this when the default was changed to f, but I just use C-u TAB now.
(setq org-cycle-global-at-bob t)

(setq org-refile-use-outline-path t)
(setq org-outline-path-complete-in-steps nil)
(setq org-context-in-file-links nil)
(setq org-confirm-elisp-link-function 'y-or-n-p)

; I like to see how much time I've spent on things in the agenda
(setq org-agenda-start-with-clockreport-mode t)

(setq org-agenda-sorting-strategy
  '((agenda time-up priority-down effort-up category-up )
    (todo priority-down effort-up category-up)
    (tags priority-down effort-up category-keep)
    (search category-keep)))

; Four priority levels. Items with no set priority are equivalent to the
lowest.
(setq org-default-priority ?D)
(setq org-lowest-priority ?D)

(setq org-empty-line-terminates-plain-lists nil)

; I prefer to keep my drawers at the top of items.
(setq org-log-state-notes-insert-after-drawers t)

(setq org-completion-use-ido t)

; Makes the display look nicer
(setq org-hide-leading-stars t)

;;Stop org from opening DXFs in emacs
(add-to-list 'org-file-apps '("dxf" . "qcad %s"))

; Use my style sheet for HTML export
(setq org-export-html-style
      "http://ask.metafilter.com/[0-9]*/\\(.*\\)"
. "Ask Mefi")
	("http://www.metafilter.com/[0-9]*/\\(.*\\)"
. "Mefi" )
	("http://www.rudyrucker.com/blog/[0-9/]*\\([^/]*\\)"
. "Rudy Rucker")
	("http://www.ectomo.com/index.php/[0-9/]*\\([^/]*\\)"
. "ectomo")
	("http://.*wikipedia.org/wiki/\\(.*\\)"
. "WP")
	("http://io9.com/[0-9]*/\\(.*\\)". "io9")
	("http://weirdtales.net/wordpress/[0-9/]*\\([^/]*\\)/".
"Wierd Tales")
	("http://lifehacker.com/[0-9]*/\\(.*\\)"
. "lifehacker")
	("http://www.instructables.com/id/\\([^/]*\\)"
. "Instructables")
	("http://toolmonger.com/[0-9/]*\\([^/]*\\)"
. "Toolmonger" )))

(defun ahkt-link-description (link desc)
  "Better link description generator for orgmode"
  (or (car (remove nil
		   (mapcar (lambda (x)
			     (if (string-match (car x) link)
				 (concat (cdr x) ": "
					 (undashify (match-string 1 link)))))
			   ahkt-link-sites)))
      (cond
       ((string-match "https?:" link)
	(with-temp-buffer
	  (w3m-retrieve link)
	  (w3m-region (point-min) (point-max))
	  (if (string= "text/html" (w3m-content-type link))
	      (replace-regexp-in-string "[ \t]+" " "
					(replace-regexp-in-string
					 "\\(\n\\|
\\)" ""
					 (w3m-current-title))))))
       ((string-match "file:\\([^:]+\\)::\\(.+\\)" link)
	(let ((search (match-string-no-properties 2 link))
	      (filename
	       (car (last
		     (split-string (match-string-no-properties 1 link) "/")))))
	  (format "%s: %s" filename search)))
       ((string-match "file:\\([^:]+\\)" link)
	(car (last (split-string (match-string-no-properties 1 link) "/"))))
       (t (or desc link)))))

(setq org-make-link-description-function 'ahkt-link-description)

(defun ahkt-org-end-of-day ()
  (save-excursion
    (save-restriction
      (org-clock-out t)
      (org-dblock-update 1)
      (org-publish-current-project))))

; Helper function for
(defun ahkt-org-open-read ()
  (interactive "")
  (if (string= (org-get-todo-state) "TOREAD") (org-todo "READING"))
  (org-open-at-point))

(define-key org-mode-map [(control c) ?o] 'ahkt-org-open-read)

; Select clock in state based on initial state
(defun ahkt-clock-state (state)
  (cond ((string= state "TOREAD") "READING")
	((string= state "TOWATCH") "WATCHING")
	((string= state "TOPLAY") "PLAYING")
	(t state)))
(setq org-clock-in-switch-to-state 'ahkt-clock-state)

; This is a custom sort function I wrote. It sorts by priority, todo state
and
; then headline text.
(defun ahkt-org-sort-function ()
  (save-excursion
    (if (looking-at org-complex-heading-regexp)
	(let* ((todo (match-string-no-properties 2))
	       (todo-pos (or (position todo org-todo-keywords-1 :test 'string=)
			     9999))
	       (headline-str (match-string-no-properties 4))
	       (priority-str (match-string-no-properties 3))
	       (headline (if (string-match org-bracket-link-analytic-regexp
					   headline-str)
			     (match-string-no-properties 5 headline-str)
			   headline-str))
	       (priority (- (if (and priority-str
				     (string-match org-priority-regexp
						   priority-str))
				(+ (string-to-char (match-string 2 priority-str))
				   (if (member todo org-done-keywords)
				       (- org-lowest-priority
					  org-highest-priority)
				     0))
			      (+ org-lowest-priority 1000))
			    org-highest-priority)))
	  (format "%04d%04d%s" priority todo-pos headline)))))

; Load org-checklist
(require 'org-checklist "org-checklist" t)

;;org-registry
(require 'org-registry)
(org-registry-initialize)
(org-registry-insinuate)
; Put the org-registry data file in .emacs.d.
(setq org-registry-file "~/.emacs.d/org-registry.el")

;;org-annotation-helper
(require 'org-annotation-helper)

;;some custom agenda commands.
(setq org-agenda-custom-commands
      '(("S" "shopping"
	 ((agenda "") (todo "TOGET"))
	 ((org-agenda-files '("~/Personal/info.org"
			      "~/Personal/shoppingList.org"
			      "~/Personal/stores.org"))
	  (org-agenda-text-search-extra-files nil)
	  (org-agenda-start-with-clockreport-mode nil)))
	("w" "TV to watch" ((todo "WATCHING|TOWATCH")))))

I'll probably be adding various things from the other configs people have
posted; there are lots of great ideas in this thread.

James

--
|---|


_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
 
CD: 3ms