summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrekado <rekado@elephly.net>2016-06-18 10:33:41 +0200
committerrekado <rekado@elephly.net>2016-06-18 10:33:41 +0200
commitd5f784f32c4c073a468a7f74f797dd072da3b1e9 (patch)
tree583a8335f3d49874d4d0157eeaa52704665ff256
parentb5b8e78a1300de9f13b65e0618651aed966035bf (diff)
god: lazy load.
-rw-r--r--init.el4
-rw-r--r--lisp/init-god-mode.el82
2 files changed, 46 insertions, 40 deletions
diff --git a/init.el b/init.el
index e2f92f8..f4bb0dd 100644
--- a/init.el
+++ b/init.el
@@ -162,7 +162,6 @@
(load "init-org.el")
(load "init-completion.el")
(load "init-geiser.el")
-(load "init-god-mode.el")
(load "init-gnus.el")
(load "init-magit.el")
(load "init-eshell.el")
@@ -173,6 +172,9 @@
(load "init-paredit.el")
(load "init-pretty.el")
+(load "init-god-mode.el")
+(require 'my/init-god-mode)
+
;; start in fullscreen mode
(add-hook 'emacs-startup-hook (lambda () (fullscreen-mode-fullscreen)))
(add-hook 'doc-view-mode-hook 'auto-revert-mode)
diff --git a/lisp/init-god-mode.el b/lisp/init-god-mode.el
index 81812d5..7a8833f 100644
--- a/lisp/init-god-mode.el
+++ b/lisp/init-god-mode.el
@@ -1,40 +1,44 @@
+(provide 'my/init-god-mode)
+(eval-after-load "god-mode"
+ '(progn
+ ;; TODO: only do this on the Thinkpad
+ (global-set-key (kbd "<mouse-3>") 'god-mode-all)
+
+ (defadvice god-mode-lookup-key-sequence (before my-swap-x-t)
+ "Swap ?x and ?t KEY arguments."
+ (case (ad-get-arg 0)
+ (?x (ad-set-arg 0 ?t))
+ (?t (ad-set-arg 0 ?x))))
+ (ad-activate 'god-mode-lookup-key-sequence)
+
+ (defun my-update-cursor ()
+ (if god-local-mode
+ (set-cursor-color "Red")
+ (set-cursor-color "White")))
+
+ (define-key god-local-mode-map (kbd ".") 'repeat)
+
+ (add-hook 'god-mode-enabled-hook 'my-update-cursor)
+ (add-hook 'god-mode-disabled-hook 'my-update-cursor)
+
+ ;; reliably toggle god-mode for all modes
+ (setq god-exempt-major-modes nil)
+ (setq god-exempt-predicates nil)
+
+ (defun god-toggle-on-overwrite ()
+ "Toggle god-mode on overwrite-mode."
+ (if (bound-and-true-p overwrite-mode)
+ (god-local-mode-pause)
+ (god-local-mode-resume)))
+
+ (add-hook 'overwrite-mode-hook 'god-toggle-on-overwrite)
+ (define-key god-local-mode-map (kbd "i") 'god-local-mode)
+
+ (global-set-key (kbd "C-x C-k") 'kill-this-buffer)
+ (global-set-key (kbd "C-x C-1") 'delete-other-windows)
+ (global-set-key (kbd "C-x C-2") 'split-window-below)
+ (global-set-key (kbd "C-x C-3") 'split-window-right)
+ (global-set-key (kbd "C-x C-0") 'delete-window)))
+
(require 'god-mode)
-;; TODO: only do this on the Thinkpad
-(global-set-key (kbd "<mouse-3>") 'god-mode-all)
-
-(defadvice god-mode-lookup-key-sequence (before my-swap-x-t)
- "Swap ?x and ?t KEY arguments."
- (case (ad-get-arg 0)
- (?x (ad-set-arg 0 ?t))
- (?t (ad-set-arg 0 ?x))))
-(ad-activate 'god-mode-lookup-key-sequence)
-
-(defun my-update-cursor ()
- (if god-local-mode
- (set-cursor-color "Red")
- (set-cursor-color "White")))
-
-(define-key god-local-mode-map (kbd ".") 'repeat)
-
-(add-hook 'god-mode-enabled-hook 'my-update-cursor)
-(add-hook 'god-mode-disabled-hook 'my-update-cursor)
-
-;; reliably toggle god-mode for all modes
-(setq god-exempt-major-modes nil)
-(setq god-exempt-predicates nil)
-
-(defun god-toggle-on-overwrite ()
- "Toggle god-mode on overwrite-mode."
- (if (bound-and-true-p overwrite-mode)
- (god-local-mode-pause)
- (god-local-mode-resume)))
-
-(add-hook 'overwrite-mode-hook 'god-toggle-on-overwrite)
-(define-key god-local-mode-map (kbd "i") 'god-local-mode)
-
-(global-set-key (kbd "C-x C-k") 'kill-this-buffer)
-(global-set-key (kbd "C-x C-1") 'delete-other-windows)
-(global-set-key (kbd "C-x C-2") 'split-window-below)
-(global-set-key (kbd "C-x C-3") 'split-window-right)
-(global-set-key (kbd "C-x C-0") 'delete-window)
-;;(god-mode-all)
+