forked from colonelpanic/dotfiles
[Emacs] Make font consistent at/after startup
This commit is contained in:
parent
36ed0b58a2
commit
0be175ca16
@ -708,9 +708,16 @@ For composing functions with an apply so that they can be used with the ~:around
|
|||||||
** Font Size
|
** Font Size
|
||||||
This was taken from [[http://emacs.stackexchange.com/questions/7583/transiently-adjust-text-size-in-mode-line-and-minibuffer][here]] but it has diverged significantly from the original.
|
This was taken from [[http://emacs.stackexchange.com/questions/7583/transiently-adjust-text-size-in-mode-line-and-minibuffer][here]] but it has diverged significantly from the original.
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defvar imalison:default-font-size-pt
|
(defvar imalison:default-font-size-pt (face-attribute 'default :height))
|
||||||
(cond ((eq system-type 'darwin) 120)
|
|
||||||
((eq system-type 'gnu/linux) 105)))
|
;; XXX: hack to get proper default value when default is set to something crazy
|
||||||
|
(defun imalison:set-default-font-size (&rest args)
|
||||||
|
(when (or (> imalison:default-font-size-pt 150)
|
||||||
|
(< imalison:default-font-size-pt 50))
|
||||||
|
(message "default font size was set using hack")
|
||||||
|
(setq imalison:default-font-size-pt (face-attribute 'default :height))))
|
||||||
|
|
||||||
|
(advice-add 'set-face-attribute :after 'imalison:set-default-font-size)
|
||||||
|
|
||||||
(defvar imalison:huge-font-size 280)
|
(defvar imalison:huge-font-size 280)
|
||||||
|
|
||||||
@ -4713,10 +4720,6 @@ Ensure all themes that I use are installed:
|
|||||||
(setq spaceline-workspace-numbers-unicode t
|
(setq spaceline-workspace-numbers-unicode t
|
||||||
spaceline-window-numbers-unicode t)
|
spaceline-window-numbers-unicode t)
|
||||||
|
|
||||||
(if (display-graphic-p)
|
|
||||||
(setq-default powerline-default-separator 'wave)
|
|
||||||
(setq-default powerline-default-separator 'utf-8))
|
|
||||||
|
|
||||||
(spaceline-define-segment imalison:muni
|
(spaceline-define-segment imalison:muni
|
||||||
"Display the number of minutes until the next muni train comes"
|
"Display the number of minutes until the next muni train comes"
|
||||||
(format "🚇%s" (imalison:get-cached-muni-time))
|
(format "🚇%s" (imalison:get-cached-muni-time))
|
||||||
@ -4836,10 +4839,19 @@ load-theme hook (See the heading below).
|
|||||||
|
|
||||||
(advice-add 'load-theme :after #'imalison:after-load-theme)
|
(advice-add 'load-theme :after #'imalison:after-load-theme)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Frame Initialization
|
** Set Font
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(add-to-list 'default-frame-alist
|
||||||
|
'(font . "Source Code Pro-10:weight=semi-bold"))
|
||||||
|
#+END_SRC
|
||||||
|
** imalison:appearance
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defvar imalison:linum-format)
|
(defvar imalison:linum-format)
|
||||||
|
|
||||||
|
;; Let me control my own goddamn fonts
|
||||||
|
;; XXX: This doesn't seem to work
|
||||||
|
(setq font-use-system-font nil)
|
||||||
|
|
||||||
(defun imalison:format-linum (line-text)
|
(defun imalison:format-linum (line-text)
|
||||||
(propertize (format imalison:linum-format line-text) 'face 'linum))
|
(propertize (format imalison:linum-format line-text) 'face 'linum))
|
||||||
|
|
||||||
@ -4861,36 +4873,29 @@ load-theme hook (See the heading below).
|
|||||||
(setq left-margin-width 0)
|
(setq left-margin-width 0)
|
||||||
(defvar-setq hl-line-mode nil))
|
(defvar-setq hl-line-mode nil))
|
||||||
|
|
||||||
|
|
||||||
(defun imalison:appearance (&optional frame)
|
(defun imalison:appearance (&optional frame)
|
||||||
|
(setq font-use-system-font nil)
|
||||||
(interactive (list nil))
|
(interactive (list nil))
|
||||||
(if (display-graphic-p)
|
(unless (member imalison:dark-theme custom-enabled-themes)
|
||||||
(progn
|
(load-theme imalison:dark-theme t))
|
||||||
(condition-case error
|
|
||||||
(set-face-attribute 'default nil :font "source code pro")
|
|
||||||
('error (message "Error: %s, when setting font" error)))
|
|
||||||
(set-face-attribute 'default nil :weight 'semi-bold)
|
|
||||||
(set-face-attribute
|
|
||||||
'default nil :height imalison:default-font-size-pt))
|
|
||||||
(progn
|
|
||||||
(load-theme 'source-code-pro t)
|
|
||||||
(message "not setting font")))
|
|
||||||
(setq powerline-default-separator (if (display-graphic-p) 'wave 'utf-8))
|
|
||||||
(load-theme imalison:dark-theme t)
|
|
||||||
(spaceline-compile)
|
(spaceline-compile)
|
||||||
(imalison:remove-fringe-and-hl-line-mode))
|
(imalison:remove-fringe-and-hl-line-mode)
|
||||||
|
(setq powerline-default-separator (random-choice '(butt slant wave))))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
*** Hooks to set everything up
|
*** Hooks to set everything up
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun imalison:initial-setup-hook (&rest args)
|
(defvar imalison:appearance-setup-done nil)
|
||||||
|
|
||||||
|
(defun imalison:appearance-setup-hook (&rest args)
|
||||||
|
(unless imalison:appearance-setup-done
|
||||||
(apply 'imalison:appearance args)
|
(apply 'imalison:appearance args)
|
||||||
(remove-hook 'after-make-frame-functions 'imalison:initial-setup-hook))
|
(setq imalison:default-font-size-pt (face-attribute 'default :height))
|
||||||
|
(setq imalison:appearance-setup-done t)))
|
||||||
|
|
||||||
;; This is needed because you can't set the font or theme at daemon start-up.
|
(if (daemonp)
|
||||||
;; (when (display-graphic-p) (imalison:appearance))
|
(add-hook 'after-make-frame-functions 'imalison:appearance-setup-hook)
|
||||||
(add-hook 'after-init-hook 'imalison:appearance)
|
(add-hook 'after-init-hook 'imalison:appearance-setup-hook))
|
||||||
|
|
||||||
;; XXX: I think that after-init-hook is good enough
|
|
||||||
;; (add-hook 'after-make-frame-functions 'imalison:initial-setup-hook)
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
* Post Init Custom
|
* Post Init Custom
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
(deftheme source-code-pro
|
|
||||||
"Theme setting source-code-pro as the default face")
|
|
||||||
|
|
||||||
(custom-theme-set-variables
|
|
||||||
'source-code-pro
|
|
||||||
)
|
|
||||||
|
|
||||||
(custom-theme-set-faces
|
|
||||||
'source-code-pro
|
|
||||||
'(default ((t (:width normal :height 135 :weight semi-bold :slant normal :foundry "nil" :family "Source Code Pro" :background nil)))))
|
|
||||||
|
|
||||||
(provide-theme 'source-code-pro)
|
|
Loading…
Reference in New Issue
Block a user