Add god mode

This commit is contained in:
Maciej 2022-04-11 22:03:06 +03:00
parent 9546f1e17c
commit ba588b1595
Signed by: maciej
GPG key ID: 41D62D42D3B0D765
6 changed files with 51 additions and 18 deletions

View file

@ -114,6 +114,12 @@
:defer t
:straight t)
(use-package god-mode
:defer t
:straight t
:after which-key
)
;;;;;;;;;;;;;;;;; Use C-n to create a new line
(setq next-line-add-newlines t)
@ -122,6 +128,27 @@
bidi-inhibit-bpa t)
(which-key-mode t)
(which-key-enable-god-mode-support)
(defun +custom-switch-god-mode ()
"Switch god mode on and off."
(interactive)
(if (bound-and-true-p god-local-mode-paused)
(god-local-mode-resume)
(god-local-mode-pause)))
(god-mode)
(define-key +custom-keys-mode-map (kbd "C-c C-c") '+custom-switch-god-mode)
(define-key god-local-mode-map (kbd "i") '+custom-switch-god-mode)
(defun +custom-update-cursor ()
"Update cursor based on god mode setup."
(setq cursor-type (if (or god-local-mode buffer-read-only)
'box
'hbar)))
(add-hook 'god-mode-enabled-hook '+custom-update-cursor)
(add-hook 'god-mode-disabled-hook '+custom-update-cursor)
(provide '+custom-pkg-base)
;;; base.el ends here

View file

@ -188,13 +188,16 @@
("q" nil "cancel"))
:bind ("C-c p" . +hydra-project-menu/body)
("C-c C-p" . +hydra-project-menu/body)
("C-c h" . +hydra-of-hydras/body)
("C-c C-h" . +hydra-of-hydras/body)
("C-c c" . +hydra-code-menu/body)
("C-c w" . +hydra-window-menu/body)
("C-c s" . +hydra-history-menu/body)
("C-c f" . +hydra-font-menu/body)
("C-c m" . +hydra-move-menu/body)
("C-c l" . +hydra-language-context-menu/body))
("C-c l" . +hydra-language-context-menu/body)
("C-c C-l" . +hydra-language-context-menu/body))
(provide '+custom-pkg-hydra)
;;; hydra.el ends here

View file

@ -33,6 +33,8 @@
(define-key +custom-keys-mode-map (kbd "C-c ]") 'windmove-right)
(define-key +custom-keys-mode-map (kbd "C-c {") 'windmove-up)
(define-key +custom-keys-mode-map (kbd "C-c }") 'windmove-down)
;; (define-key +custom-keys-mode-map (kbd "C-c C-c") 'switch-god-mode)
;; (god-local-mode-pause)
;; Kill current buffer and window
(define-key +custom-keys-mode-map (kbd "C-c q") 'kill-buffer-and-window)