diff options
author | rekado <rekado@elephly.net> | 2016-06-18 10:33:41 +0200 |
---|---|---|
committer | rekado <rekado@elephly.net> | 2016-06-18 10:33:41 +0200 |
commit | d5f784f32c4c073a468a7f74f797dd072da3b1e9 (patch) | |
tree | 583a8335f3d49874d4d0157eeaa52704665ff256 /lisp | |
parent | b5b8e78a1300de9f13b65e0618651aed966035bf (diff) |
god: lazy load.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/init-god-mode.el | 82 |
1 files changed, 43 insertions, 39 deletions
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) + |