diff --git a/core/core-os.el b/core/core-os.el index b270aa375..faa6e1561 100644 --- a/core/core-os.el +++ b/core/core-os.el @@ -4,38 +4,38 @@ (defconst IS-LINUX (eq system-type 'gnu/linux)) (defconst IS-WINDOWS (memq system-type '(cygwin windows-nt ms-dos))) -;; clipboard -(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING) - ;; Use a shared clipboard - select-enable-clipboard t - select-enable-primary t) +(unless noninteractive + ;; clipboard + (setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING) + ;; Use a shared clipboard + select-enable-clipboard t + select-enable-primary t) -;; stop copying each visual state move to the clipboard: -;; https://bitbucket.org/lyro/evil/issue/336/osx-visual-state-copies-the-region-on -;; Most of this code grokked from: -;; http://stackoverflow.com/questions/15873346/elisp-rename-macro -(advice-add #'evil-visual-update-x-selection :override #'ignore) + ;; stop copying each visual state move to the clipboard: + ;; https://bitbucket.org/lyro/evil/issue/336/osx-visual-state-copies-the-region-on + ;; Most of this code grokked from: + ;; http://stackoverflow.com/questions/15873346/elisp-rename-macro + (advice-add #'evil-visual-update-x-selection :override #'ignore) -(cond (IS-MAC - (setq mac-command-modifier 'meta - mac-option-modifier 'alt - ;; sane trackpad/mouse scroll settings - mac-redisplay-dont-reset-vscroll t - mac-mouse-wheel-smooth-scroll nil - mouse-wheel-scroll-amount '(5 ((shift) . 2)) ; one line at a time - mouse-wheel-progressive-speed nil ; don't accelerate scrolling - ;; Curse Lion and its sudden but inevitable fullscreen mode! - ;; NOTE Meaningless to railwaycat's emacs-mac build - ns-use-native-fullscreen nil - ;; Don't open files from the workspace in a new frame - ns-pop-up-frames nil) + (cond (IS-MAC + (setq mac-command-modifier 'meta + mac-option-modifier 'alt + ;; sane trackpad/mouse scroll settings + mac-redisplay-dont-reset-vscroll t + mac-mouse-wheel-smooth-scroll nil + mouse-wheel-scroll-amount '(5 ((shift) . 2)) ; one line at a time + mouse-wheel-progressive-speed nil ; don't accelerate scrolling + ;; Curse Lion and its sudden but inevitable fullscreen mode! + ;; NOTE Meaningless to railwaycat's emacs-mac build + ns-use-native-fullscreen nil + ;; Don't open files from the workspace in a new frame + ns-pop-up-frames nil) - (if (not (display-graphic-p)) - (add-hook 'doom-post-init-hook #'osx-clipboard-mode) - ;; A known problem with GUI Emacs on MacOS: it runs in an isolated - ;; environment, so envvars will be wrong. That includes the PATH Emacs - ;; picks up. `exec-path-from-shell' fixes this. - (defun doom|init-exec-path () + (if (not (display-graphic-p)) + (add-hook 'doom-post-init-hook #'osx-clipboard-mode) + ;; A known problem with GUI Emacs on MacOS: it runs in an isolated + ;; environment, so envvars will be wrong. That includes the PATH Emacs + ;; picks up. `exec-path-from-shell' fixes this. (when (require 'exec-path-from-shell nil t) (def-setting! :env (&rest vars) "Inject VARS from your shell environment into Emacs." @@ -43,16 +43,15 @@ (setq exec-path-from-shell-check-startup-files nil exec-path-from-shell-arguments (delete "-i" exec-path-from-shell-arguments)) (defvaralias 'exec-path-from-shell-debug 'doom-debug-mode) - (exec-path-from-shell-initialize))) - (add-hook 'doom-pre-init-hook #'doom|init-exec-path))) + (exec-path-from-shell-initialize)))) - (IS-LINUX - (setq x-gtk-use-system-tooltips nil ; native tooltips are ugly! - x-underline-at-descent-line t)) ; draw underline lower + (IS-LINUX + (setq x-gtk-use-system-tooltips nil ; native tooltips are ugly! + x-underline-at-descent-line t)) ; draw underline lower - (IS-WINDOWS - (setq w32-get-true-file-attributes nil) ; fix file io slowdowns - )) + (IS-WINDOWS + (setq w32-get-true-file-attributes nil) ; fix file io slowdowns + ))) (provide 'core-os) ;;; core-os.el ends here diff --git a/core/core-packages.el b/core/core-packages.el index 7507cc0e6..347a1eb97 100644 --- a/core/core-packages.el +++ b/core/core-packages.el @@ -268,7 +268,10 @@ to least)." (unless (or force-p noninteractive) (doom//reload-package-autoloads)))) ;; Initialize Doom core + (require 'core-os) (unless noninteractive + (add-hook! 'emacs-startup-hook + #'(doom|post-init doom|display-benchmark)) (require 'core-ui) (require 'core-editor) (require 'core-projects) @@ -282,10 +285,6 @@ non-nil." ;; Set `doom-init-modules-p' early, so `doom-pre-init-hook' won't infinitely ;; recurse by accident if any of them need `doom-initialize-modules'. (setq doom-init-modules-p t) - (unless noninteractive - (add-hook! 'emacs-startup-hook - #'(doom|post-init doom|display-benchmark))) - (run-hooks 'doom-pre-init-hook) (when doom-private-dir (let ((load-prefer-newer t)) (load (expand-file-name "init" doom-private-dir) diff --git a/core/core.el b/core/core.el index 389004d16..9ff645f42 100644 --- a/core/core.el +++ b/core/core.el @@ -59,10 +59,6 @@ Use this for files that change often, like cache files.") XDG directory conventions if ~/.config/doom exists.") ;; Doom hooks -(defvar doom-pre-init-hook nil - "Hooks run after Doom is first initialized; after Doom's core files are -loaded, but before your private init.el file or anything else is loaded.") - (defvar doom-init-hook nil "Hooks run after all init.el files are loaded, including your private and all module init.el files, but before their config.el files are loaded.") @@ -199,7 +195,6 @@ this, you'll get stuttering and random freezes) and resets (require 'core-lib) (require 'core-packages) -(require 'core-os) (doom-initialize noninteractive) (if noninteractive