From f6f0e0c628c0e1708a7bae05867a55e41ffe0348 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Thu, 25 Mar 2021 12:03:40 -0500 Subject: Add `god-mode' --- init.el | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index 0fc3118..7be1c30 100644 --- a/init.el +++ b/init.el @@ -132,9 +132,9 @@ (acdw/set '((cursor-type bar) (cursor-in-non-selected-windows hollow))) -(defun hook--overwrite-mode-change-cursor () - (setq cursor-type (if overwrite-mode 'hbar 'bar))) -(add-hook 'overwrite-mode-hook #'hook--overwrite-mode-change-cursor) +;; (defun hook--overwrite-mode-change-cursor () +;; (setq cursor-type (if overwrite-mode 'hbar 'bar))) +;; (add-hook 'overwrite-mode-hook #'hook--overwrite-mode-change-cursor) ;; Scrolling (acdw/set '((auto-window-vscroll nil) @@ -178,6 +178,32 @@ (savehist-file ,(acdw/in-dir "savehist.el")))) (savehist-mode +1)) +;; God mode +(acdw/pkg god-mode + :binds (("" god-local-mode) + ("i" god-local-mode :map god-local-mode-map) + ("." repeat :map god-local-mode-map) + ("C-x C-1" delete-other-windows) + ("C-x C-2" split-window-below) + ("C-x C-3" split-window-right) + ("C-x C-0" delete-window)) + :now ((defun acdw/god-mode-update-cursor () + (setq cursor-type (if (or god-local-mode buffer-read-only) + 'box + 'bar))) + (defun acdw/god-mode-toggle-on-overwrite () + (if (bound-and-true-p overwrite-mode) + (progn + (setq cursor-type 'hbar) + (god-local-mode-pause)) + (god-local-mode-resume) + (acdw/god-mode-update-cursor))) + (require 'god-mode) + (god-mode)) + :hooks (((god-mode-enabled-hook god-mode-disabled-hook) + acdw/god-mode-update-cursor) + (overwrite-mode-hook acdw/god-mode-toggle-on-overwrite))) + ;; Icomplete (-vertical) (when (require 'icomplete) (acdw/set '((completion-ignore-case t) -- cgit 1.4.1-21-gabe81