aboutsummaryrefslogtreecommitdiff
path: root/.emacs.d/early-init.el
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d/early-init.el')
-rw-r--r--.emacs.d/early-init.el27
1 files changed, 19 insertions, 8 deletions
diff --git a/.emacs.d/early-init.el b/.emacs.d/early-init.el
index 4565a88..5a34cb3 100644
--- a/.emacs.d/early-init.el
+++ b/.emacs.d/early-init.el
@@ -4,19 +4,30 @@
(scroll-bar-mode -1)
;; Avoid initial flash of light.
-;; Inspired on prot-emacs-avoid-initial-flash-of-light.
-(setq mode-line-format nil)
-(set-face-attribute 'default nil :background "#000000" :foreground "#ffffff")
-(set-face-attribute 'mode-line nil :background "#000000" :foreground "#ffffff" :box 'unspecified)
+(defun prot-emacs-re-enable-frame-theme (_frame)
+ "Re-enable active theme, if any, upon FRAME creation.
+Add this to `after-make-frame-functions' so that new frames do
+not retain the generic background set by the function
+`prot-emacs-avoid-initial-flash-of-light'."
+ (when-let* ((theme (car custom-enabled-themes)))
+ (enable-theme theme)))
+
+(defun prot-emacs-avoid-initial-flash-of-light ()
+ "Avoid flash of light when starting Emacs, if needed.
+New frames are instructed to call `prot-emacs-re-enable-frame-theme'."
+ (setq mode-line-format nil)
+ (set-face-attribute 'default nil :background "#000000" :foreground "#ffffff")
+ (set-face-attribute 'mode-line nil :background "#000000" :foreground "#ffffff" :box 'unspecified)
+ (add-hook 'after-make-frame-functions #'prot-emacs-re-enable-frame-theme))
+
+(prot-emacs-avoid-initial-flash-of-light)
;; Do not resize when font size changes
(setq frame-resize-pixelwise t)
-;; By default, start maximized
+;; By default, start maximized, undecorated
(add-to-list 'default-frame-alist '(fullscreen . maximized))
-
-;; No need for titlebar
-(modify-frame-parameters nil '((undecorated . t)))
+(add-to-list 'default-frame-alist '(undecorated . t))
;; Name frames to ease switching between them
(add-hook 'after-init-hook (lambda () (set-frame-name "main")))
nihil fit ex nihilo