Commit graph

115 commits

Author SHA1 Message Date
Henrik Lissner
643ff13053
ui/doom: make solaire-mode a little pickier
Instead of only activating in buffers that a real (which is more
selective), simply activate in buffers that are file-visiting (this
means that real buffers that aren't highlighted can exist, particularly
term/eshell buffers).
2018-05-25 00:55:06 +02:00
Henrik Lissner
09cb4f6716
Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
Henrik Lissner
0b8f884d18
ui/doom: simplify +doom-folded-face (now set in doom-themes) 2018-05-14 13:05:03 +02:00
Henrik Lissner
52cdb0bd83
Remove doom-fringe-size; set default fringe in :ui doom
There was no way to customize doom-fringe-size. Better to customize
fringes by using fringe-mode, {left,right}-fringe-width or
set-window-fringes directly.
2018-05-11 10:00:23 +02:00
Henrik Lissner
0afae2eacf
Remove fringe-helper package 2018-05-08 19:42:28 +02:00
Henrik Lissner
87aa05ffee
ui/doom: solaire-mode support for doom-nord-light 2018-05-03 18:03:13 +02:00
Henrik Lissner
f38cd94f33
ui/doom: improve solaire-mode theme integration
Now +doom-solaire-themes is an alist that informs Doom if the current
theme should be loaded with solaire-mode, and whether
solaire-mode-swap-bg should be used.
2018-03-28 06:49:54 -04:00
Henrik Lissner
174e0518a1
ui/doom: fix void-symbol error caused by misnamed advice function 2018-03-28 03:32:52 -04:00
Henrik Lissner
895b9d5484
ui/doom: +doom|reload-theme => +doom*reload 2018-03-22 23:27:31 -04:00
Henrik Lissner
0e5e586826
ui/doom: improve theme+solaire-mode init process
Solaire-mode will now auto-enable itself and swap the bg for themes
defined in `+doom-solaire-themes`.

Also, use doom-load-theme-hook now.
2018-03-22 19:28:53 -04:00
Henrik Lissner
b9da309d6b
ui/doom: fix solaire not resetting post-load-theme 2018-03-22 19:27:25 -04:00
Henrik Lissner
3f85c76a2c
ui/doom: use ':weight light' in +doom-folded-face 2018-03-18 03:36:36 -04:00
Henrik Lissner
f4a0311834
ui/doom: add solaire-mode-reset to focus-in-hook
Addresses an edge case where the fringes would forget their color.
2018-02-18 03:14:52 -05:00
Henrik Lissner
7707aec28a
Remove doom group
Not really useful, and Doom doesn't encourage using the Emacs Customize
interface.
2018-02-18 03:04:58 -05:00
Henrik Lissner
bd6fb35007
ui/doom: turn-on-solaire-mode on org-capture-mode-hook 2018-02-07 01:36:16 -05:00
Henrik Lissner
91357a3e5d
💥 Replace core-popup with new feature/popup module
This is a breaking change! Update your :popup settings. Old ones will
throw errors!

Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.

However, this is highly experimental! Expect edge cases.  Particularly
with org-mode and magit (or anything that does its own window
management).

Relevant to #261, #263, #325
2018-01-06 02:17:43 -05:00
Henrik Lissner
93f3f0ef38
ui/doom: update hooks, refactor & simplify
+ doom-init-ui-hook => doom-init-theme-hook
+ Remove specific mode hooks for solaire-mode (need to revisit this)
+ Preemptive removal of doom-popup-mode hook
+ Use function for hs-set-up-overlay instead of lambda
2018-01-04 16:14:59 -05:00
Henrik Lissner
0ff5966379
Refactor solaire-mode init (fix startup errors in #285) 2017-12-09 16:52:23 -05:00
Henrik Lissner
f8e8dbad8f
General minor refactor 2017-12-08 23:14:12 -05:00
Henrik Lissner
c3077d1049
ui/doom: update README 2017-12-08 23:14:12 -05:00
Henrik Lissner
5a09d539ba
Breaking change: remove font and theme settings
I am removing settings for core configuration to reduce "magic" in Doom.
set! is meant for cross-configuring modules that may or may not be
enabled. There should be no such concern for configuring Doom core.

From now on, change your fonts with:

  (setq doom-font (font-spec :family "Fira Mono" :size 12)
        doom-variable-pitch-font (font-spec :family "Fira Sans")
        doom-unicode-font (font-spec :family "DejaVu Sans Mono")
        doom-big-font (font-spec :family "Fira Mono" :size 19))
2017-12-08 23:14:12 -05:00
Henrik Lissner
9d81bc5a8b
Major refactor: use-package-always-defer = nil & use :hook
Possibly breaking change: packages are no longer deferred by default.

Addresses #286
2017-12-08 23:14:11 -05:00
Henrik Lissner
323953db29
Remove default font (leave it to the user)
Addresses #164, #165, #205, #244
2017-11-05 19:54:44 +01:00
Henrik Lissner
42fec8494d
Rename doom/reload => doom/reload-load-path 2017-09-19 15:07:57 +02:00
Henrik Lissner
90048fc019
Temporarily disable doom-themes-visual-bell-config
It currently conflicts with swapping backgrounds with solaire-mode.
2017-09-03 21:59:13 +02:00
Henrik Lissner
cbabf6849c
Standardize module READMEs 2017-08-21 20:13:31 +02:00
Henrik Lissner
ab5c87bae9
Add solaire-mode-swap-bg 2017-08-09 21:22:00 +02:00
Henrik Lissner
749553993d
Remove org-mode custom fontification
This has been merged into doom-themes.
2017-08-03 21:24:08 +02:00
Henrik Lissner
e6658b7d8e
General minor refactor 2017-07-19 00:25:05 +02:00
Henrik Lissner
2b5eb5763f
Use new font/theme settings in ui/doom 2017-07-05 02:59:17 +02:00
Henrik Lissner
8c1fb1e6b2
+doom:scratch-buffer => doom/scratch-buffer 2017-07-03 03:39:18 +02:00
Henrik Lissner
cca37f2508
Add doom-(pre|post)-reload-theme-hook 2017-06-29 14:58:10 +02:00
Henrik Lissner
ecd8ad0f46
Change how themes, fonts & modelines are loaded
WARNING: THIS IS A BREAKING CHANGE FOR THEME/FONT/NLINUM CUSTOMIZATIONS.

This change was motivated by the need to decouple theme and font loading
from the ui/doom module.

Now, it is doom-core's purview. Theme and fonts are loaded after
initfiles are read (attached to the doom-init-ui-hook hook), giving
other modules (especially private ones) a chance to change the theme or
fonts.

+ Refactor core-ui.el
+ New init hook: doom-init-ui-hook
+ Decouple theme/font loading from ui/doom
+ Load modelines are doom-init-ui-hook
+ New theme/font variables (replaces old ui/doom variables)
  + doom-theme
  + doom-font
  + doom-variable-pitch-font
  + doom-unicode-font
+ Change nlinum variables
  + doom-line-number-lpad
  + doom-line-number-rpad
  + doom-line-number-pad-char

Addresses #117
2017-06-28 16:18:24 +02:00
Henrik Lissner
46b3f06f50
Remove :load-path for doom-themes 2017-06-23 03:13:21 +02:00
Henrik Lissner
c958f1eafd
Move italic customization to private module 2017-06-15 15:09:31 +02:00
Henrik Lissner
816df321a5
General refactor & cleanup 2017-06-14 21:15:19 +02:00
Henrik Lissner
4984a548d1
Refactor DOOM init & add new init hooks
+ Add doom-init-hook and doom-post-init-hook to simplify Emacs init
  hooks into less ambiguous ones.
+ Attach former after-init-hook and emacs-startup-hook hooks to new doom
  init hooks.
+ Vastly improves daemon and tty support: preventing incorrect colors
  from bleeding across face class barriers, and into GUI Emacs and vice
  versa, when spawned with emacsclient.
+ Fix persp-mode breaking Emacs daemon, and ensuring that initialization
  is done properly in terminal Emacs (and emacsclient frames).
2017-06-12 00:37:14 +02:00
Henrik Lissner
e165450903
Refactor fringe-helper config 2017-06-09 01:09:19 +02:00
Henrik Lissner
c7254e7bdc
Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
Henrik Lissner
cdd24312d9
Move feature/unicode => ui/unicode 2017-06-08 14:27:06 +02:00
Henrik Lissner
b4e454823f
Ignore +doom-unicode-font if :feature unicode is active 2017-06-08 14:21:51 +02:00
Henrik Lissner
b8bbda68c9 Update +doom-folded-face colors (for doom-themes update) 2017-06-07 21:03:24 +02:00
Henrik Lissner
bf4dc9d5c5 Reset solaire-mode on load-theme or doom/reload 2017-06-07 21:03:24 +02:00
Henrik Lissner
9fc4a0e619 ui/doom: re-enable doom-themes-visual-bell-config 2017-06-07 21:03:24 +02:00
Henrik Lissner
a027775739
Disable doom-themes-visual-bell-config (fix #95) 2017-06-06 14:02:56 +02:00
Henrik Lissner
14b3228dfb Remove visual bell fn (doom-themes offers this now) 2017-06-05 12:35:51 +02:00
Henrik Lissner
b7b9a2c2fd Add solaire-mode 2017-06-05 12:35:51 +02:00
Henrik Lissner
861cc537cc Add nlinum-hl 2017-06-05 12:35:51 +02:00
Henrik Lissner
cbf9f7a079 Move window-divider-mode from ui/doom => core-ui 2017-06-05 12:35:51 +02:00
Henrik Lissner
084c7be50f
Move nav-flash from ui/doom to ui/nav-flash (#92) 2017-06-04 18:28:17 +02:00