adjust
[emacs.git] / .emacs.d / config / emacs.org
index 16e8c1b..69b0f5e 100644 (file)
@@ -1,8 +1,10 @@
-#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate
-#+TITLE:     emacs.org - Ganneffs emacs configuration
-#+DATE:      %Y-%m-%d
-#+SETUPFILE: ~/.emacs.d/elisp/org-templates/level-0.org
-#+LATEX_CMD: xelatex
+#+TITLE:       emacs.org - Ganneffs emacs configuration
+#+DESCRIPTION: My current Emacs configuration
+#+KEYWORDS:    org-mode Emacs configuration
+#+STARTUP:     align fold nodlcheck hidestars oddeven lognotestate
+#+DATE:        %Y-%m-%d
+#+SETUPFILE:   ~/.emacs.d/elisp/org-templates/level-0.org
+#+LATEX_CMD:   xelatex
 
 * Notes for people looking at this using a webbrowser
 My whole emacs config is done using [[http://orgmode.org/][org-mode]] files, with a little magic
@@ -280,7 +282,10 @@ I dislike the startup message
 
 Usually I want the lines to break at 72 characters.
 #+BEGIN_SRC emacs-lisp
-(setq default-fill-column 72)
+  (if (> emacs-major-version 22
+         )
+      (setq fill-column 72)
+    (setq default-fill-column 72))
 #+END_SRC
 
 And it is nice to have a final newline in files.
@@ -331,7 +336,9 @@ for new users. Enable them.
 I've tried various different fonts and while I like the Terminus font
 most for my shells, in Emacs Inconsolata clearly wins.
 #+BEGIN_SRC emacs-lisp
-  (set-default-font "Inconsolata-14")
+(if (> emacs-major-version 22)
+    (set-frame-font "Inconsolata-14")
+  (set-default-font "Inconsolata-14"))
 #+END_SRC
 
 And I always liked dark backgrounds with colors setup for them. So I
@@ -340,9 +347,15 @@ entirely liked it. Until I found solarized, which is now not only my
 emacs theme, but also for most of my other software too, especially my
 shell. Consistent look is great.
 #+BEGIN_SRC emacs-lisp
-  (add-to-list 'custom-theme-load-path (expand-file-name "emacs-color-theme-solarized" jj-elisp-dir))
-  (setq solarized-termcolors 16)
-  (load-theme 'solarized-dark t)
+(if (boundp 'custom-theme-load-path)
+    (add-to-list 'custom-theme-load-path jj-theme-dir)
+     (load-theme 'solarized-dark t)
+  (message "Emacs version too old, using old color theme style")
+  (add-to-list 'load-path (expand-file-name "emacs-color-theme-solarized" jj-elisp-dir))
+  (require 'color-theme)
+  (require 'color-theme-solarized)
+  (color-theme-initialize)
+  (color-theme-solarized-dark))
 #+END_SRC
 
 Make the fringe (gutter) smaller, the argument is a width in pixels (the default is 8)
@@ -483,7 +496,9 @@ be org-mode - it is just so much better to use. And does sensible things
 with many README files out there, and various other "crap" you get to
 read in emacs.
 #+BEGIN_SRC emacs-lisp
-(setq default-major-mode 'org-mode)
+(if (> emacs-major-version 22)
+  (setq major-mode 'org-mode)
+  (setq default-major-mode 'org-mode))
 (setq initial-major-mode 'org-mode)
 #+END_SRC
 
@@ -753,12 +768,14 @@ not, bad Emacs.
 **** ace-jump-mode
 [2013-04-28 So 11:26]
 #+BEGIN_SRC emacs-lisp
-(autoload 'ace-jump-mode "ace-jump-mode" "Emacs quick move minor mode" t)
-(define-key global-map (kbd "C-c SPC") 'ace-jump-mode)
-;; enable a more powerful jump back function from ace jump mode
-(autoload 'ace-jump-mode-pop-mark "ace-jump-mode" "Ace jump back :-)" t)
-(eval-after-load "ace-jump-mode" '(ace-jump-mode-enable-mark-sync))
-(define-key global-map (kbd "C-c C-SPC") 'ace-jump-mode-pop-mark)
+  (autoload 'ace-jump-mode "ace-jump-mode" "Emacs quick move minor mode" t)
+  (define-key global-map (kbd "C-c SPC") 'ace-jump-mode)
+  ;; enable a more powerful jump back function from ace jump mode
+  (autoload 'ace-jump-mode-pop-mark "ace-jump-mode" "Ace jump back :-)" t)
+  (eval-after-load "ace-jump-mode" '(ace-jump-mode-enable-mark-sync))
+  (define-key global-map (kbd "C-c C-SPC") 'ace-jump-mode-pop-mark)
+  
+  
 #+END_SRC
 **** Overwrite mode
 Usually you can press the *Ins*ert key, to get into overwrite mode. I
@@ -1227,15 +1244,24 @@ Instead of default /html-mode/ I use /html-helper-mode/.
 #+END_SRC
 
 ** org                                                                :FIXME:
+*** General settings
+[2013-04-28 So 17:06]
+I use org-mode a lot and, having my config for this based on [[*Bernt%20Hansen][the config of Bernt Hansen]],
+it is quite extensive. Nevertheless, it starts out small, loading it.
+#+BEGIN_SRC emacs-lisp
+(require 'org)
+#+END_SRC
+
+My browsers (Conkeror, Iceweasel) can store links in org-mode. For
+that we need org-protocol.
 #+BEGIN_SRC emacs-lisp
-(add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . org-mode))
-(require 'org-install)
 (require 'org-protocol)
+#+END_SRC
 
-(global-set-key "\C-cl" 'org-store-link)
-(global-set-key "\C-ca" 'org-agenda)
-(global-set-key "\C-cb" 'org-iswitchb)
-(define-key mode-specific-map [?a] 'org-agenda)
+*** Global keybindings.
+[2013-04-28 So 17:12]
+Start off by defining a series of keybindings. We also remove C-c [
+#+BEGIN_SRC emacs-lisp
 ;; Disable C-c [ and C-c ] in org-mode
 (add-hook 'org-mode-hook
           (lambda ()
@@ -1245,6 +1271,52 @@ Instead of default /html-mode/ I use /html-helper-mode/.
             (org-defkey org-mode-map "\C-c["    'undefined)
             (org-defkey org-mode-map "\C-c]"    'undefined))
           'append)
+
+(global-set-key "\C-cl" 'org-store-link)
+(global-set-key "\C-ca" 'org-agenda)
+(global-set-key "\C-cb" 'org-iswitchb)
+(define-key mode-specific-map [?a] 'org-agenda)
+
+
+;; Custom Key Bindings
+(global-set-key (kbd "<f12>") 'org-agenda)
+(global-set-key (kbd "<f5>") 'bh/org-todo)
+(global-set-key (kbd "<S-f5>") 'bh/widen)
+(global-set-key (kbd "<f7>") 'bh/set-truncate-lines)
+(global-set-key (kbd "<f8>") 'org-cycle-agenda-files)
+(global-set-key (kbd "<f9> <f9>") 'bh/show-org-agenda)
+(global-set-key (kbd "<f9> c") 'calendar)
+(global-set-key (kbd "<f9> f") 'boxquote-insert-file)
+(global-set-key (kbd "<f9> h") 'bh/hide-other)
+(global-set-key (kbd "<f9> n") 'org-narrow-to-subtree)
+(global-set-key (kbd "<f9> w") 'widen)
+(global-set-key (kbd "<f9> u") 'bh/narrow-up-one-level)
+
+(global-set-key (kbd "<f9> I") 'bh/punch-in)
+(global-set-key (kbd "<f9> O") 'bh/punch-out)
+
+(global-set-key (kbd "<f9> r") 'boxquote-region)
+(global-set-key (kbd "<f9> s") 'bh/switch-to-scratch)
+
+(global-set-key (kbd "<f9> t") 'bh/insert-inactive-timestamp)
+(global-set-key (kbd "<f9> T") 'tabify)
+(global-set-key (kbd "<f9> U") 'untabify)
+
+(global-set-key (kbd "<f9> v") 'visible-mode)
+(global-set-key (kbd "<f9> SPC") 'bh/clock-in-last-task)
+(global-set-key (kbd "C-<f9>") 'previous-buffer)
+(global-set-key (kbd "M-<f9>") 'org-toggle-inline-images)
+(global-set-key (kbd "C-x n r") 'narrow-to-region)
+(global-set-key (kbd "C-<f10>") 'next-buffer)
+(global-set-key (kbd "<f11>") 'org-clock-goto)
+(global-set-key (kbd "C-<f11>") 'org-clock-in)
+(global-set-key (kbd "C-s-<f12>") 'bh/save-then-publish)
+(global-set-key (kbd "C-M-r") 'org-capture)
+(global-set-key (kbd "C-c r") 'org-capture)
+
+(define-key org-mode-map [(control k)] 'jj-org-kill-line)
+
+
 ;; Enable abbrev-mode
 (add-hook 'org-mode-hook (lambda () (abbrev-mode 1)))
 (setq org-startup-indented t)
@@ -1253,7 +1325,10 @@ Instead of default /html-mode/ I use /html-helper-mode/.
 (setq org-reverse-note-order nil)
 
 (setq org-agenda-log-mode-items (quote (closed clock state)))
-(setq org-agenda-ndays 7)
+(if (> emacs-major-version 23)
+    (setq org-agenda-span 7)
+  (setq org-agenda-ndays 7))
+
 (setq org-agenda-show-all-dates t)
 (setq org-agenda-start-on-weekday nil)
 (setq org-deadline-warning-days 14)
@@ -1301,44 +1376,6 @@ Instead of default /html-mode/ I use /html-helper-mode/.
 (setq org-use-fast-todo-selection t)
 (setq org-treat-S-cursor-todo-selection-as-state-change nil)
 
-;; Custom Key Bindings
-(global-set-key (kbd "<f12>") 'org-agenda)
-(global-set-key (kbd "<f5>") 'bh/org-todo)
-(global-set-key (kbd "<S-f5>") 'bh/widen)
-(global-set-key (kbd "<f7>") 'bh/set-truncate-lines)
-(global-set-key (kbd "<f8>") 'org-cycle-agenda-files)
-(global-set-key (kbd "<f9> <f9>") 'bh/show-org-agenda)
-(global-set-key (kbd "<f9> c") 'calendar)
-(global-set-key (kbd "<f9> f") 'boxquote-insert-file)
-(global-set-key (kbd "<f9> h") 'bh/hide-other)
-(global-set-key (kbd "<f9> n") 'org-narrow-to-subtree)
-(global-set-key (kbd "<f9> w") 'widen)
-(global-set-key (kbd "<f9> u") 'bh/narrow-up-one-level)
-
-(global-set-key (kbd "<f9> I") 'bh/punch-in)
-(global-set-key (kbd "<f9> O") 'bh/punch-out)
-
-(global-set-key (kbd "<f9> r") 'boxquote-region)
-(global-set-key (kbd "<f9> s") 'bh/switch-to-scratch)
-
-(global-set-key (kbd "<f9> t") 'bh/insert-inactive-timestamp)
-(global-set-key (kbd "<f9> T") 'tabify)
-(global-set-key (kbd "<f9> U") 'untabify)
-
-(global-set-key (kbd "<f9> v") 'visible-mode)
-(global-set-key (kbd "<f9> SPC") 'bh/clock-in-last-task)
-(global-set-key (kbd "C-<f9>") 'previous-buffer)
-(global-set-key (kbd "M-<f9>") 'org-toggle-inline-images)
-(global-set-key (kbd "C-x n r") 'narrow-to-region)
-(global-set-key (kbd "C-<f10>") 'next-buffer)
-(global-set-key (kbd "<f11>") 'org-clock-goto)
-(global-set-key (kbd "C-<f11>") 'org-clock-in)
-(global-set-key (kbd "C-s-<f12>") 'bh/save-then-publish)
-(global-set-key (kbd "C-M-r") 'org-capture)
-(global-set-key (kbd "C-c r") 'org-capture)
-
-(define-key org-mode-map [(control k)] 'jj-org-kill-line)
-
 #+END_SRC
 
 Speed commands enable single-letter commands in Org-mode files when
@@ -2088,7 +2125,9 @@ The Emacs Lisp Package Archive (may) contain(s) some things I
 want. Even though I usually only use it to get the package, then when I
 like it move it into my own space. My elpa subdir stays empty.
 #+BEGIN_SRC emacs-lisp
-  (when (> emacs-major-version 23)
+  
+  (when (
+         > emacs-major-version 23)
     (require 'package)
     (setq package-user-dir (expand-file-name "elpa" jj-cache-dir))
     (package-initialize)