Change theme/font selection; it's .emacs.local.d's responsibility

This commit is contained in:
Henrik Lissner 2016-10-04 22:52:43 +02:00
parent 3103795065
commit a658d46927
5 changed files with 57 additions and 55 deletions

View file

@ -1,18 +1,9 @@
;;; core-defuns.el
;; Bootstrap macro
(defmacro doom (_ theme __ font &rest packages)
(defmacro doom (&rest packages)
"Bootstrap DOOM emacs and initialize PACKAGES"
`(let (file-name-handler-alist)
;; Global constants
(defconst doom-default-theme ,theme)
(defconst doom-default-font
(font-spec :family ,(nth 0 font)
:size ,(nth 1 font)
:antialias ,(not (nth 2 font))))
(defconst doom-current-theme doom-default-theme)
(defconst doom-current-font doom-default-font)
;; Local settings
(load "~/.emacs.local.el" t t)
;; Bootstrap
@ -30,7 +21,6 @@
;; Prevent any auto-displayed text + benchmarking
(advice-add 'display-startup-echo-area-message :override 'ignore)
(message ""))
(setq-default gc-cons-threshold 4388608
gc-cons-percentage 0.4)))

View file

@ -1,6 +1,19 @@
;;; core-ui.el --- interface & mode-line config
(defconst doom-fringe-size '3 "Default fringe width")
(defvar doom-ui-fringe-size '3
"Default fringe width")
(defvar doom-ui-theme 'doom-one-dark
"The color theme currently in use.")
(defvar doom-ui-font
(font-spec :family "Fira Mono" :size 12)
"The font currently in use.")
;;
;; Configuration
;;
(setq-default
mode-line-default-help-echo nil ; don't say anything on mode-line mouseover
@ -33,7 +46,6 @@
;; Minibuffer resizing
resize-mini-windows 'grow-only
max-mini-window-height 0.3
;; Ask for confirmation on exit only if there are real buffers left
confirm-kill-emacs
(lambda (_)
@ -44,36 +56,6 @@
;; y/n instead of yes/no
(fset 'yes-or-no-p 'y-or-n-p)
;; Initialize UI
(tooltip-mode -1) ; show tooltips in echo area instead
(menu-bar-mode -1) ; no menu in GUI Emacs (or terminal)
(when window-system
(scroll-bar-mode -1) ; no scrollbar
(tool-bar-mode -1) ; no toolbar
;; full filename in frame title
(setq frame-title-format '(buffer-file-name "%f" ("%b")))
;; Set theme and font
(with-demoted-errors "FONT ERROR: %s"
(set-frame-font doom-default-font t)
;; Fallback to `doom-unicode-font' for Unicode characters
(set-fontset-font t 'unicode doom-unicode-font))
;; standardize fringe width
(fringe-mode doom-fringe-size)
(push `(left-fringe . ,doom-fringe-size) default-frame-alist)
(push `(right-fringe . ,doom-fringe-size) default-frame-alist)
;; slightly larger default frame size on startup
(push '(width . 120) default-frame-alist)
(push '(height . 40) default-frame-alist)
;; Slightly transparent frame
(push '(alpha . 98) default-frame-alist)
;; no fringe in the minibuffer
(add-hook! (emacs-startup minibuffer-setup)
(set-window-fringes (minibuffer-window) 0 0 nil))
;; Show tilde in margin on empty lines
(define-fringe-bitmap 'tilde [64 168 16] nil nil 'center)
(set-fringe-bitmap-face 'tilde 'fringe)
(setcdr (assq 'empty-line fringe-indicator-alist) 'tilde))
;; mode-line is unimportant in help/compile windows
(add-hook 'help-mode-hook 'doom-hide-mode-line-mode)
(add-hook 'compilation-mode-hook 'doom-hide-mode-line-mode)
@ -110,7 +92,7 @@
:config
(setq doom-neotree-enable-variable-pitch t
doom-neotree-line-spacing 3)
(load-theme doom-current-theme t)
(load-theme doom-ui-theme t)
;; brighter source buffers
(add-hook 'find-file-hook 'doom-buffer-mode)
;; brighter minibuffer when active
@ -210,5 +192,39 @@
visual-fill-column-width fill-column
split-window-preferred-function 'visual-line-mode-split-window-sensibly))
;;
;; Bootstrap
;;
(tooltip-mode -1) ; relegate tooltips to echo area only
(menu-bar-mode -1)
(when window-system
(scroll-bar-mode -1)
(tool-bar-mode -1)
;; full filename in frame title
(setq frame-title-format '(buffer-file-name "%f" ("%b")))
;; Set theme and font
(with-demoted-errors "FONT ERROR: %s"
(set-frame-font doom-ui-font t)
;; Fallback to `doom-unicode-font' for Unicode characters
(set-fontset-font t 'unicode doom-ui-font))
;; standardize fringe width
(fringe-mode doom-ui-fringe-size)
(push `(left-fringe . ,doom-ui-fringe-size) default-frame-alist)
(push `(right-fringe . ,doom-ui-fringe-size) default-frame-alist)
;; slightly larger default frame size on startup
(push '(width . 120) default-frame-alist)
(push '(height . 40) default-frame-alist)
;; Slightly transparent frame
(push '(alpha . 98) default-frame-alist)
;; no fringe in the minibuffer
(add-hook! (emacs-startup minibuffer-setup)
(set-window-fringes (minibuffer-window) 0 0 nil))
;; Show tilde in margin on empty lines
(define-fringe-bitmap 'tilde [64 168 16] nil nil 'center)
(set-fringe-bitmap-face 'tilde 'fringe)
(setcdr (assq 'empty-line fringe-indicator-alist) 'tilde))
(provide 'core-ui)
;;; core-ui.el ends here

View file

@ -25,23 +25,23 @@
;;;###autoload
(defun doom/reset-theme ()
(interactive)
(doom/load-theme (or doom-current-theme doom-default-theme)))
(doom/load-theme doom-ui-theme))
;;;###autoload
(defun doom/load-font (font)
(interactive)
(set-frame-font font t)
(setq doom-current-font font))
(setq doom-ui-font font))
;;;###autoload
(defun doom/load-theme (theme &optional suppress-font)
(interactive)
(when doom-current-theme
(disable-theme doom-current-theme))
(when doom-ui-theme
(disable-theme doom-ui-theme))
(load-theme theme t)
(unless suppress-font
(doom/load-font doom-current-font))
(setq doom-current-theme theme))
(setq doom-ui-theme theme))
;;;###autoload
(defun doom/show-as (how &optional pred)

View file

@ -30,11 +30,7 @@
(load (concat user-emacs-directory "core/core"))
(doom :theme 'doom-one
:font ("Fira Mono" 12)
;;; The heart of DOOM
core-popup ; taming sudden and inevitable windows
(doom core-popup ; taming sudden and inevitable windows
core-os ; os-specific configs
core-ui ; draw me like one of your French editors
core-modeline ; a self-contained mode-line config for masochists

View file

@ -11,7 +11,7 @@
(defconst write-mode-font (font-spec :family "Source Sans Pro" :size 14))
(defconst write-mode--last-mode-line mode-line-format)
(defconst write-mode--last-theme doom-current-theme)
(defconst write-mode--last-theme doom-ui-theme)
(defconst write-mode--last-line-spacing line-spacing)
(defun doom-write-mode-line (&optional id)