[init] Disable GUI elements in early-init as well (#14559)
* [init] Disable GUI elements in early-init as well Can provide a smoother startup by reducing graphical artifacts. * [core] Add file for early-init functions Needed to make the tests to work as early-init.el is not sourced during tests. Fixes error: Symbol’s function definition is void: spacemacs/removes-gui-elements
This commit is contained in:
parent
910f68b59e
commit
9c7e4bd5f1
|
@ -0,0 +1,39 @@
|
|||
;;; core-early-funcs.el --- Spacemacs Core File
|
||||
;;
|
||||
;; This file is sourced by emacs early-init.el file.
|
||||
;;
|
||||
;; Copyright (c) 2012-2021 Sylvain Benner & Contributors
|
||||
;;
|
||||
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
|
||||
;; URL: https://github.com/syl20bnr/spacemacs
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
;;
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
;;
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(defun spacemacs/removes-gui-elements ()
|
||||
"Remove the menu bar, tool bar and scroll bars."
|
||||
;; removes the GUI elements
|
||||
(when (and (fboundp 'scroll-bar-mode) (not (eq scroll-bar-mode -1)))
|
||||
(scroll-bar-mode -1))
|
||||
(when (and (fboundp 'tool-bar-mode) (not (eq tool-bar-mode -1)))
|
||||
(tool-bar-mode -1))
|
||||
(unless (memq (window-system) '(mac ns))
|
||||
(when (and (fboundp 'menu-bar-mode) (not (eq menu-bar-mode -1)))
|
||||
(menu-bar-mode -1)))
|
||||
;; tooltips in echo-aera
|
||||
(when (and (fboundp 'tooltip-mode) (not (eq tooltip-mode -1)))
|
||||
(tooltip-mode -1)))
|
||||
|
||||
(provide 'core-early-funcs)
|
|
@ -45,6 +45,7 @@
|
|||
(require 'core-spacemacs-buffer)
|
||||
(require 'core-keybindings)
|
||||
(require 'core-toggle)
|
||||
(require 'core-early-funcs)
|
||||
(require 'core-funcs)
|
||||
(require 'core-micro-state)
|
||||
(require 'core-transient-state)
|
||||
|
@ -73,7 +74,7 @@ the final step of executing code in `emacs-startup-hook'.")
|
|||
(setq ad-redefinition-action 'accept)
|
||||
;; this is for a smoother UX at startup (i.e. less graphical glitches)
|
||||
(hidden-mode-line-mode)
|
||||
(spacemacs//removes-gui-elements)
|
||||
(spacemacs/removes-gui-elements)
|
||||
(spacemacs//setup-ido-vertical-mode)
|
||||
;; explicitly set the preferred coding systems to avoid annoying prompt
|
||||
;; from emacs (especially on Microsoft Windows)
|
||||
|
@ -174,20 +175,6 @@ the final step of executing code in `emacs-startup-hook'.")
|
|||
;; install the dotfile if required
|
||||
(dotspacemacs/maybe-install-dotfile))
|
||||
|
||||
(defun spacemacs//removes-gui-elements ()
|
||||
"Remove the menu bar, tool bar and scroll bars."
|
||||
;; removes the GUI elements
|
||||
(when (and (fboundp 'scroll-bar-mode) (not (eq scroll-bar-mode -1)))
|
||||
(scroll-bar-mode -1))
|
||||
(when (and (fboundp 'tool-bar-mode) (not (eq tool-bar-mode -1)))
|
||||
(tool-bar-mode -1))
|
||||
(unless (spacemacs/window-system-is-mac)
|
||||
(when (and (fboundp 'menu-bar-mode) (not (eq menu-bar-mode -1)))
|
||||
(menu-bar-mode -1)))
|
||||
;; tooltips in echo-aera
|
||||
(when (and (fboundp 'tooltip-mode) (not (eq tooltip-mode -1)))
|
||||
(tooltip-mode -1)))
|
||||
|
||||
(defun spacemacs//setup-ido-vertical-mode ()
|
||||
"Setup `ido-vertical-mode'."
|
||||
(require 'ido-vertical-mode)
|
||||
|
|
|
@ -34,3 +34,10 @@
|
|||
;; the package manager before loading the init file, so this file is neither
|
||||
;; needed nor loaded on those versions.
|
||||
(setq package-enable-at-startup nil)
|
||||
|
||||
(load (concat (file-name-directory load-file-name)
|
||||
"core/core-early-funcs.el")
|
||||
nil (not init-file-debug))
|
||||
|
||||
;; Remove GUI elements early to avoid some possible grapical glitches.
|
||||
(spacemacs/removes-gui-elements)
|
||||
|
|
Loading…
Reference in New Issue