Commit graph

576 commits

Author SHA1 Message Date
Henrik Lissner
ebd4d19fa4
Fix +doom-dashboard-p 2018-07-04 23:14:12 +02:00
Henrik Lissner
c55d6dad17
Reduce coupling with buffers library and dashboard 2018-07-04 23:06:47 +02:00
Henrik Lissner
0b1cb1bb48
Look up command binds dynamically in dashboard
Keys are no longer hard coded.

cc @UndeadKernel
2018-07-04 23:05:49 +02:00
Henrik Lissner
a406b2d0c8
Ignore errors if display-buffer ALIST is malformed
The gud.el library uses display-buffer incorrectly, by passing a list of
functions as its second argument, instead of as a nested list.

CORRECT:
  (display-buffer buffer
    '((display-buffer-reuse-window
       display-buffer-in-previous-window
       display-buffer-same-window display-buffer-pop-up-window)))

INCORRECT (how gud does it):
  (display-buffer buffer
    '(display-buffer-reuse-window
      display-buffer-in-previous-window
      display-buffer-same-window display-buffer-pop-up-window))

This causes "wrong-type-argument: listp
display-buffer-in-previous-window" error. However, it appears Emacs
handles malformed alists by just ignoring them, so Doom will do the
same.

Reported by @maskray
2018-07-04 21:42:33 +02:00
Henrik Lissner
57020cdfdb
Fix void-variable after-focus-change-function error
The condition was the wrong way around.
2018-07-04 21:26:20 +02:00
Henrik Lissner
f5e8c72bb6
Add experimental modeline (disabled by default)
This mode-line may have bugs and its implementation details are certain
to change (it doesn't follow naming conventions, for instance). It also
doesn't have all the features of the old modeline (yet).

However, it is easily twice as fast as the original, and a little more
flexible, what with the `mode-line-format-left' and
`mode-line-format-right' variables. It also exposes a more powerful API
for defining modelines and modeline segments (and switching between
them).

It is disabled by default and must be activated with the +new module
flag on the ui/doom-modeline module.
2018-07-04 17:49:44 +02:00
Henrik Lissner
ee4060ab80
Add image banner display logic to dashboard
But disabled by default (until the logo is ready).
2018-07-04 16:20:02 +02:00
Henrik Lissner
e37e6fc25c
Fix invalid face: quote errors in dashboard 2018-07-04 15:33:15 +02:00
Henrik Lissner
00e23db0b0
Fix workspace restore/load workspace keybinds
As well as keybind on dashboard.
2018-07-04 13:40:44 +02:00
Henrik Lissner
1d4a41833e
Don't wrap forward/backward-button keys 2018-07-03 20:07:14 +02:00
Henrik Lissner
d0eaa0af1e
Redesign dashboard widgets 2018-07-03 20:07:14 +02:00
Henrik Lissner
f39d49c954
Conditionally enable custom neotree icon theme
If :ui neotree is disabled, disable the icon theme.
2018-07-03 12:29:27 +02:00
Henrik Lissner
24686948c2
ui/fci: fix invalid-face: line-number error #738
The line-number face was introduced in Emacs 26 and will cause this
error in earlier versions.
2018-07-03 03:41:08 +02:00
Henrik Lissner
9756a0a18c
Remove doom-themes-common reloading
No longer necessary with upcoming doom-themes update.
2018-07-03 03:41:08 +02:00
Henrik Lissner
81ffed520b
Rename doom-before-switch-*-hook hooks
+ doom-before-switch-buffer-hook => doom-exit-buffer-hook
+ doom-before-switch-window-hook => doom-exit-window-hook
+ doom-after-switch-buffer-hook => doom-enter-buffer-hook
+ doom-after-switch-window-hook => doom-enter-window-hook

Shorter, easier-to-type names that better describe their intended
purpose.

The old names are still usable, but deprecated.
2018-07-03 03:41:08 +02:00
Henrik Lissner
4213899b01
Refactor out -pcase in +treemacs/toggle 2018-07-01 01:16:37 +02:00
Henrik Lissner
cddde09b79
Fix popup system not cleaning up buffers with ttl
Because of extra parentheses causing essential logic from running. I am
a silly goose.
2018-07-01 00:57:27 +02:00
Henrik Lissner
15f2e21468
On second thought...
Causes char-table-p errors in some cases.

Setting hscroll-margin = 0 in dashboard accomplishes the same thing, by
preventing truncation glyphs from ever appearing anyway.
2018-06-30 02:58:01 +02:00
Henrik Lissner
04ee1c23fd
Don't set margins in left/right popups 2018-06-29 02:35:33 +02:00
Henrik Lissner
a4121f33c0 Revert "Require project root in dashboard buffer #733"
This reverts commit 2dac739ce7.

Causes breaking "Not in project" errors at startup in certain daemon
workflows.
2018-06-29 00:56:04 +02:00
Henrik Lissner
2dac739ce7
Require project root in dashboard buffer #733
Require default-directory to be in a valid project for project commands
to work. This will prevent hangs when accidentally invoking
projectile-find-file from $HOME.
2018-06-28 20:15:50 +02:00
Henrik Lissner
4eda07e576
Don't replace scratch buffer with other popups 2018-06-28 00:31:36 +02:00
Henrik Lissner
26f514001e
Autoload git-gutter:{revert-hook,stage-hunk}
In case they're used before git-gutter has loaded; they should be
allowed to error themselves.
2018-06-27 18:51:32 +02:00
Henrik Lissner
017ba8d79c
Autoload defhydras & use new naming convention
Phasing out the +module@name convention for plain old
+module-name-hydra, which is more compatible with elisp reflection tools
like describe-function and such.

Also, Emacs starts up faster now. Tee hee.
2018-06-26 01:43:54 +02:00
Henrik Lissner
0dc0ccc63e
Refactor +popup*org-pop-to-buffer
Simplify pop-to-buffer call.
2018-06-25 20:19:33 +02:00
Henrik Lissner
8fcc12ed08
Add +popup-display-buffer-fullframe
Adds support for the saved-wconf window parameter. If a popup possesses
a window configuration in this parameter, it will be restored when the
popup (or its popup buffer) is killed.
2018-06-25 19:28:09 +02:00
Marcelo dos Santos
fcbf221267 Add new symbols. 2018-06-23 18:14:01 -03:00
Henrik Lissner
618358413b
Major refactor of ui/popup
+ Make it pass tests
+ Changes the behavior and arguments of functions passed to :autosave,
  :ttl, and :modeline.
+ Updated the documentation of set-popup-rule! to reflect these changes
+ Phase out map.el usage as per f6dc6ac7
2018-06-23 22:18:44 +02:00
Henrik Lissner
f11bd617cd
Add ui/popup tests (wip) 2018-06-23 22:17:56 +02:00
Henrik Lissner
f6dc6ac74e
Refactor out map.el usage
After some profiling, it turns out map-put and map-delete are 5-7x
slower (more on Emacs 25) than delq, setf/alist-get and add-to-list for
small lists (under 250 items), which is exactly how I've been using
them.

The only caveat is alist-get's signature is different on Emacs 25, thus
a polyfill is necessary in core-lib.
2018-06-23 19:53:54 +02:00
Benjamin Andresen
61cdac230f ui/vc emacs/vc: unify hydra design
this design will also break less based on the fonts
2018-06-23 16:25:58 +02:00
Henrik Lissner
0bea00c183
Fix with-popup-rules! macro
Mistreating its RULES argument, causing void-function errors.
2018-06-22 19:17:15 +02:00
Henrik Lissner
16975d0dc3
Slightly smaller backtrace popups 2018-06-22 01:49:21 +02:00
Henrik Lissner
5531d7115a
Fix indentation for many autodef setters 2018-06-22 01:49:21 +02:00
Henrik Lissner
8c5deef5fc
Fix unintern calls (missing second argument) 2018-06-22 01:49:21 +02:00
Henrik Lissner
60779c9aed
feature/version-control => ui/vc-gutter, emacs/vc
Reorganize vcs functionality. Moves the custom fringe bitmaps into :ui
vc-gutter.
2018-06-22 01:49:20 +02:00
Henrik Lissner
d01f39d658
Add unsetting capability to set-pretty-symbols!
+ Allows (set-pretty-symbols! 'some-mode nil)
+ Changes the semantics of +pretty-code-enabled-modes, which is now t by
  default (meaning enable all modes). It also supports '(not ...).
2018-06-22 01:49:19 +02:00
Henrik Lissner
27ab47cd11
Improve *Backtrace* popup rule
+ High vslot = unlikely to be replaced by other popups.
+ Make it large; backtraces are important!
+ Don't allow ESC to close it. It must be done manually, with q or zx
2018-06-20 02:12:37 +02:00
Henrik Lissner
205cc718d2
Fix dashboard not appearing in daemon frames
Because they start in the *server* buffer, instead of the *scratch*
buffer.
2018-06-19 17:44:24 +02:00
Henrik Lissner
ca2c8b5a45
Minor refactor, across the board
Do you see the board? Now look at the other side. That's how far this
refactor extends.

Yes.
2018-06-18 15:02:24 +02:00
Henrik Lissner
6808c46b58
💥 Change set-popup-rule! usage
Now accepts a flat plist of all its former parameters, including new
:parameters and :actions properties to increase your control over the
fate of your windows.

The old usage of set-popup-rule! is deprecated and may not work right!

The :ui popup module has also seen a major refactor to improve
efficiency and load times.

Sorry! This is the last "big" change before 2.1!
2018-06-18 02:34:16 +02:00
Henrik Lissner
03022d09f9
Remove doom//x naming convention
This naming convention was meant to be for batch commands, but it grew
to include "commands that were helpful with managing Doom", but many of
these commands shouldn't be interactive in the first place!
2018-06-17 21:35:58 +02:00
Henrik Lissner
01d4223f18
Fix prettify-symbols not unprettifying at point
defvar wasn't being set soon enough.
2018-06-17 18:25:13 +02:00
Henrik Lissner
6b73f408aa
Remove prettify-utils dependency 2018-06-17 18:25:08 +02:00
Henrik Lissner
6490c4b922
Prevent unsafe file variable prompts on help links 2018-06-17 17:26:15 +02:00
Julien Wintz
d0e4e0801f
Setup solaie mode for doom themes. 2018-06-17 14:22:29 +02:00
Henrik Lissner
0fd8e1dd6b
Restore +popup-ttl
Accidentally removed in a recent commit.

Fixes #692
2018-06-17 11:34:55 +02:00
Henrik Lissner
d822560b34
Fix void-variable after-focus-change-function error
This variable is introduced in the latest Emacs and the condition around
it was inverted.
2018-06-17 02:54:14 +02:00
Henrik Lissner
d31052d9db
Reformat popup library: move polyfills down 2018-06-17 02:21:46 +02:00
Henrik Lissner
1eae57a0b4
Rename +popup-display-buffer
To +popup-display-buffer-stacked-side-window, to make it more obvious
what it actually does.
2018-06-17 02:21:46 +02:00