From 3f70a8d1fbc048bf88abd996547d19a15a0006e7 Mon Sep 17 00:00:00 2001 From: JSDurand Date: Mon, 24 Jan 2022 01:43:50 +0800 Subject: Cleanup init file Add short-cuts to conveniently load some frequently used configurations. I used to load those configurations only through manual invocations of custom functions. Now I got tired of this practice. So I add some convenient lazy loading to save me some trouble. --- init.el | 120 ++++++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 76 insertions(+), 44 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index 8f2b8c1..fac7f99 100644 --- a/init.el +++ b/init.el @@ -72,6 +72,7 @@ then FUNCTION-NAME will be defined as DEF after loading. If FUNCTION-NAME is already a valid function, this advices the function instead of redefining the function, and REDEFINE-P has no effect." + (declare (indent 2)) (cond ((fboundp function-name) `(let ((advice-symbol (intern @@ -110,14 +111,20 @@ no effect." (load-config "modeline.el") +;;; Prepare for ELisp + (add-hook 'emacs-lisp-mode-hook (lambda () (set 'mode-name "ELisp"))) (prepare-in-hook-once prepare-elisp emacs-lisp-mode-hook "elisp.el") +(prepare-in-hook-once prepare-skeleton emacs-lisp-mode-hook "skeleton-conf.el") + +;;; Prepare for C + (prepare-in-hook-once prepare-c c-mode-hook "c-conf.el") -(prepare-in-hook-once prepare-skeleton emacs-lisp-mode-hook "skeleton-conf.el") +;;; Prepare for Org (prepare-in-hook-once prepare-org org-mode-hook "org-conf.el") @@ -127,31 +134,29 @@ no effect." (define-key global-map (vector 3 99) #'prepare-org) (define-key global-map (vector 3 ?l) #'prepare-org) -;;;###autoload -(load-after-function durand-battery "battery-conf.el" "Display battery information." nil - (display-battery-mode 1)) - -;;;###autoload -(load-after-function durand-time "time-conf.el" "Display time information." nil - (display-time-mode 1)) +;;; Prepare for mu4e -;;;###autoload (load-after-function durand-mu4e "mail.el" "Open mu4e." t (mu4e)) (define-key global-map (vector 3 109) #'durand-mu4e) +;;; Prepare for PDF + (add-to-list 'auto-mode-alist (cons "pdf$" #'pdf-view-mode)) -;;;###autoload -(load-after-function prepare-skeletons "skeleton-conf.el" "Load skeletons." nil) +(load-after-function pdf-view-mode "pdf.el" + "Fake mode that loads the pacakge." nil (pdf-view-mode)) -;;;###autoload -(load-after-function pdf-view-mode "pdf.el" "Fake mode that loads the pacakge." nil - (pdf-view-mode)) +;;; Prepare for skeletons + +(load-after-function prepare-skeletons "skeleton-conf.el" + "Load skeletons." nil) + +;;; Prepare for GLSL ;;;###autoload -(load-after-function glsl-mode "glsl-conf.el" "Fake mode that loads the package." nil - (glsl-mode)) +(load-after-function glsl-mode "glsl-conf.el" + "Fake mode that loads the package." nil (glsl-mode)) (add-to-list 'auto-mode-alist (cons "\\.frag$" #'glsl-mode)) (add-to-list 'auto-mode-alist (cons "\\.vert$" #'glsl-mode)) @@ -187,13 +192,13 @@ no effect." ;;; outline (load-after-function durand-maybe-enable-outline "outline-conf.el" - "Load my outline configurations" nil) + "Load my outline configurations" nil) ;;; bongo ;;;###autoload -(load-after-function bongo "bongo.el" "Listen to music in Emacs." nil - (bongo)) +(load-after-function bongo "bongo.el" + "Listen to music in Emacs." nil (bongo)) ;;; My PDF facilities @@ -223,8 +228,8 @@ no effect." ;;; gnus -(load-after-function gnus "gnus-conf.el" "Fake function to load gnus." nil - (gnus)) +(load-after-function gnus "gnus-conf.el" + "Fake function to load gnus." nil (gnus)) (define-key global-map (vector 3 ?g) #'gnus) (define-key global-map (vector ?\H-g) #'gnus) @@ -258,9 +263,9 @@ no effect." ;;; Eshell -(load-after-function eshell "eshell-conf.el" "Load Eshell and launch it." nil - (eshell) - (eshell-start-track-command-time)) +(load-after-function eshell "eshell-conf.el" + "Load Eshell and launch it." nil + (eshell) (eshell-start-track-command-time)) ;;; tab configurations @@ -280,15 +285,15 @@ no effect." ;;; elfeed -(load-after-function elfeed "elfeed-conf.el" "Load elfeed and launch it." nil - (elfeed)) +(load-after-function elfeed "elfeed-conf.el" + "Load elfeed and launch it." nil (elfeed)) (define-key global-map (vector 3 101) #'elfeed) ;;; rime configuration to input Chinese. -(load-after-function prepare-rime "rime-conf.el" "Load rime and launch it." nil - (durand-set-input-method)) +(load-after-function prepare-rime "rime-conf.el" + "Load rime and launch it." nil (durand-set-input-method)) ;; The effect of super is to apply bitwise or to the key with ;; (ash 1 23). The codes are as follows. @@ -303,23 +308,16 @@ no effect." ;;; magit -(load-after-function magit "magit-conf.el" "Load magit and launch it." nil - (defalias 'magit 'magit-status) - (magit)) +(load-after-function magit "magit-conf.el" + "Load magit and launch it." nil + (defalias 'magit 'magit-status) + (magit)) (define-key global-map (vector ?\C-x ?g) 'magit) ;;; eww -(load-after-function - eww "eww-conf.el" "Load eww and launch it." nil - (apply #'eww - (let* ((uris (eww-suggested-uris)) - (prompt (concat "Enter URL or keywords" - (if uris (format " (default %s)" (car uris)) "") - ": "))) - (list (read-string prompt nil 'eww-prompt-history uris) - (prefix-numeric-value current-prefix-arg))))) +(load-after-function eww "eww-conf.el" "Load eww and launch it." nil) (define-key global-map (vector 3 ?v ?w) #'eww) (define-key global-map (vector ?\s-w) #'eww) @@ -328,9 +326,23 @@ no effect." (load-config "view-conf.el") +;;; Prepare battery + +(load-after-function durand-battery "battery-conf.el" + "Display battery information." nil (display-battery-mode 1)) + +(define-key durand-view-map (vector ?b) #'durand-battery) + +;;;###autoload +(load-after-function durand-time "time-conf.el" + "Display time information." nil (display-time-mode 1)) + +(define-key durand-view-map (vector ?T) #'durand-time) + ;;; flymake (prepare-in-hook-once prepare-flymake prog-mode-hook "flymake-conf.el") + (define-key global-map (vector ?\s-m) #'prepare-flymake) ;;; Don't let s-q quit as I oft press that by accident. @@ -358,10 +370,8 @@ no effect." ;;; Go-mode -(load-after-function - go-mode "go-conf.el" - "Load Go-mode configurations and lauch it." nil - (go-mode)) +(load-after-function go-mode "go-conf.el" + "Load Go-mode configurations and lauch it." nil (go-mode)) (cond ((assoc "\\.go$" auto-mode-alist #'string=) @@ -375,12 +385,34 @@ no effect." (cond ((display-mouse-p) (mouse-avoidance-mode 'cat-and-mouse))) +;;; Bookmark conf + +(load-after-function blist "bookmark-conf.el" + "Load my configurations for bookmarks and list bookmarks." nil + (blist)) + +(define-key ctl-x-r-map (vector ?l) #'blist) + +;;; Wifi and Bluetooth stuff + +(load-after-function durand-prepare-wifi-bluetooth + "wifi-bluetooth-conf.el" + "Load my configurations to manipulate Wifi and Bluetooth status." + nil) + +(define-key global-map (vector 3 ?w ?w) #'durand-prepare-wifi-bluetooth) +(define-key global-map (vector 3 ?w ?b) #'durand-prepare-wifi-bluetooth) +(define-key global-map (vector 3 ?w ?l) #'durand-prepare-wifi-bluetooth) +(define-key global-map (vector 3 ?w ?j) #'durand-prepare-wifi-bluetooth) + ;;; server ;; (cond ;; ((bound-and-true-p server-process)) ;; ((server-start))) +;;; Reset the garbage collection threshold + (setq gc-cons-threshold (* 2 1024 1024)) (provide 'init) -- cgit v1.2.3-18-g5258