Commit graph

1932 commits

Author SHA1 Message Date
Henrik Lissner
3dbf994871
lang/org: close agenda buffers after org-agenda
Experimental. Running org-agenda would leave leftover open buffers, this
hook cleans them up.
2018-01-08 20:42:43 -05:00
Henrik Lissner
6853196017
lang/org: general refactor; split init into hooks
lang/org's initialization process is now split up into hooks on
org-load-hook. This approach is cleaner and easier to customize. I also
removed the escape binding in org-agenda-mode-map, as the popup system
makes it redundant.
2018-01-08 20:41:56 -05:00
Henrik Lissner
865fe29a9d
completion/ivy: use switch-buffer transformer for projectile 2018-01-08 19:07:23 -05:00
Henrik Lissner
4b4447d31e
completion/ivy: dim non-project entries in counsel-recentf
Added +ivy-recentf-transformer to counsel-recentf. Entries that aren't
in the same project as the buffer recentf was opened from will be
slightly dimmed.
2018-01-08 19:05:12 -05:00
Henrik Lissner
1f52669684
completion/ivy: refactor switch-buffer transformer #331
Also switches to my private fork of ivy-rich until the changes are
merged upstream.
2018-01-08 19:04:21 -05:00
Henrik Lissner
3bdf1dd174
feature/popup: by default, don't handle window selection
Plenty of special popups switch to a buffer and simply assume that that
buffer is now focused. So best we don't interfere with that unless we
must.
2018-01-08 17:30:55 -05:00
Henrik Lissner
d443aed25c
feature/eval: improve compatibility with feature/popups
This makes quickrun, *doom eval* and *Pp Eval Output* buffers behave
better.

Eval output buffers should a) shrink themselves to the size of their
output (within reason), b) *not* grab focus, and c) be easy to close
from afar with C-g/Escape.

Gotchas:

1. Quickrun gets output asynchronously, so we shrink it on
   quickrun-after-run-hook, not in the popup rule.
2. *doom eval* and *Pp Eval Output* opens with its output ready, so the
   popup system may shrink those to fit.
3. *doom eval* and *Pp Eval Output* handle window selection themselves.
   Let them by setting the select window parameter to #'ignore.
2018-01-08 17:30:54 -05:00
Henrik Lissner
b6bf0d7afd
ui/doom-dashboard: major refactor; use initial-buffer-choice
Much of my work getting dashboard to behave across GUI, tty and daemon
Emacs is already done with initial-buffer-choice, so I cut down on my
own code and exploit that instead. Needs more testing.
2018-01-08 17:30:54 -05:00
Henrik Lissner
971e4904fe
feature/services: -when-let => when-let* 2018-01-08 15:25:28 -05:00
Henrik Lissner
3beb1f098a
completion/ivy: use font-lock-doc-face instead of ivy-remote 2018-01-08 15:02:54 -05:00
Henrik Lissner
f2e5321ce1
feature/ivy: fix virtual buffers in +ivy/switch-workspace-buffer #331
The former +ivy/switch-workspace-buffer constructed its own collection
of buffers, so ivy-use-virtual-buffers would have no effect on it.  Use
internal-complete-buffer instead and ivy-read will know what to do under
the hood.
2018-01-08 14:43:58 -05:00
Henrik Lissner
1c2683ce9d
completion/ivy: add ivy-rich; rewrite custom transformer #331
+ivy-buffer-transformer does *most* of what ivy-rich does, so lets cut down on
our own code, bring in ivy-rich, and add our customizations on top of it.

This fixes ivy-use-virtual-buffers support, too.
2018-01-08 14:41:41 -05:00
Henrik Lissner
35594f0729
lang/org: fix todo(t) capture target (incorrect path) 2018-01-07 22:20:11 -05:00
Henrik Lissner
bf7055a7db
feature/popup: make extra sure popups die safely
A buffer can find other, unexpected ways to kill itself, so we set up
a kill-buffer-hook to make sure we're there to catch them. Not all
heroes wear capes.
2018-01-07 22:18:50 -05:00
Henrik Lissner
395af731d9
feature/popup: tweak org rules + add org-capture rule 2018-01-07 22:18:50 -05:00
Henrik Lissner
7ca2e1593e
feature/popup: split +popup-p into two functions
Better to be explicit about what we want, especially when using one or
the other with no arguments.
2018-01-07 22:18:50 -05:00
Henrik Lissner
f9ab0cf767
feature/popup: add multi-term, eshell and evil hacks 2018-01-07 22:18:50 -05:00
Henrik Lissner
031e31c03c
feature/popup: minor refactor 2018-01-07 18:39:42 -05:00
Henrik Lissner
5a420faa0f
feature/popup: tweak popup rules, add +popup-shrink-to-fit
+popup-shrink-to-fit wraps shrink-window-if-larger-than-buffer, and
won't do anything if the buffer is empty.
2018-01-07 18:36:27 -05:00
Henrik Lissner
b11101d9cf
feature/popup: add rule for Compilation buffer 2018-01-07 15:26:20 -05:00
Henrik Lissner
742f5b26ed
Improve popup compatibility for eshell & multi-term 2018-01-07 15:25:35 -05:00
Henrik Lissner
d675ade45d
feature/popup: move hacks to +hacks.el 2018-01-07 15:04:33 -05:00
Henrik Lissner
8f9175c25e
feature/popup: fix popup window-parameters in Emacs 25.x #261
The window parameters of popup windows weren't being set in Emacs 25.x. Turns
out `display-buffer-alist`'s ALIST argument didn't support the
windows-parameters alist entry until Emacs 26.
2018-01-07 13:12:55 -05:00
Henrik Lissner
750f6ca1f5
private/default: remove popup-buffer bindings
Fixes prefix errors too
2018-01-07 06:48:06 -05:00
Henrik Lissner
e02f01b694
feature/popup: make extra sure escape=>doom/escape in popups #261 2018-01-07 06:47:00 -05:00
Henrik Lissner
5f52e21796
feature/popup: fix incorrect delete-window window parameter #261
A bug that could make popup windows invulnerable to being closed. The
horror!
2018-01-07 06:44:37 -05:00
Henrik Lissner
51084852a6
Revert "feature/popup: use window-toggle-side-window" #298
This reverts commit 29e25f5ea8.

window-toggle-side-window isn't as robust as I had hoped.
2018-01-07 06:25:44 -05:00
Henrik Lissner
c586eee602
ui/doom-modeline: don't forcibly hide modeline in org-src-mode 2018-01-07 05:56:02 -05:00
Henrik Lissner
5824e6795a
📝 feature/popup: update readme 2018-01-07 05:56:01 -05:00
Henrik Lissner
d2a4408877
feature/popup: add +popup|cleanup-rules hook 2018-01-07 05:56:01 -05:00
Henrik Lissner
a76de01f4f
feature/popup: move timer clearing into +popup-buffer-mode 2018-01-07 05:56:01 -05:00
Henrik Lissner
1c6d39db7f
feature/popup: ensure popups can get as small as they like
Popups without modelines can take advantage of the extra lines bought
with a smaller window-min-height.
2018-01-07 05:56:01 -05:00
Henrik Lissner
81453de0c4
feature/popup: prompt to save unsaved buffers in popups 2018-01-07 05:56:01 -05:00
Henrik Lissner
dff4b03fff
feature/popup: support user-defined delete-window parameter 2018-01-07 05:56:01 -05:00
Henrik Lissner
e481a2891a
feature/popup: minor refactor & remove provide 2018-01-07 05:56:01 -05:00
Henrik Lissner
43c48a085f
feature/popup: improve org compatibility (fix #330)
This update should fix Org Src buffers, as well as those todo/agenda
commans/links mini popups.
2018-01-07 05:56:01 -05:00
Henrik Lissner
878b5ae4e2
feature/popup: rethink default rules 2018-01-07 05:56:00 -05:00
Henrik Lissner
84cba91e50
feature/popup: remove default slot & window-width
...and fix :popup not mapping the size parameter to the correct
dimension when no side is specified.
2018-01-07 05:56:00 -05:00
Henrik Lissner
25a2973c52
feature/popup: make parameters support functions
Now, the transient, quit, select and modeline parameters now accept
a function FN. See `+popup-window-parameters` for details.

(transient . (FN popup-buffer))
(quit . (FN popup-window))
(select . (FN popup-window))
(modeline . (FN popup-buffer))
2018-01-07 05:35:20 -05:00
Henrik Lissner
29e25f5ea8
feature/popup: use window-toggle-side-window
Neat. `window-toggle-side-window` exists and essentially does what
I wanted +popup/toggle to do.
2018-01-07 01:51:46 -05:00
Henrik Lissner
af58e321dd
Remove vestigial comment 2018-01-07 00:36:46 -05:00
Henrik Lissner
4024437cfb
lang/latex: don't forcibly hide modeline 2018-01-07 00:35:59 -05:00
Henrik Lissner
a5bb69cf6a
Ensure *Messages* and *scratch* have a modeline 2018-01-07 00:35:23 -05:00
Henrik Lissner
7872faad3a
feature/popup: don't forcibly hide modeline in org-agenda popups 2018-01-07 00:20:11 -05:00
Henrik Lissner
2d9e63d5bb
General & minor refactoring 2018-01-07 00:15:58 -05:00
Henrik Lissner
25619908a2
Narrow down the purpose of init & post-init hooks
Essential hooks should be added to doom-init-hook. Non-essential and
extra hooks should be added to doom-psot-init-hook.
2018-01-07 00:15:58 -05:00
Henrik Lissner
c0680e6fa3
lang/org: refactor load-path mods & don't forget it
Previously, Doom would forget lang/org's modification of the load-path
if you call doom//reload-load-path (which is called when you do package
management with an open Emacs session).

No more!
2018-01-07 00:15:58 -05:00
Henrik Lissner
392f04446f
General refactor (use map.el more)
+ map-delete is shorter and faster than assq-delete-all
+ map-put is simpler than the delete-then-set workflow
+ map-merge is great for merging default and user settings
2018-01-07 00:15:58 -05:00
Henrik Lissner
2eeb6ce0d9
📝 Write feature/popup's readme 2018-01-07 00:15:57 -05:00
Henrik Lissner
5cd29479f4
Refactor feature/evil hacks & advice; fix tests 2018-01-07 00:15:57 -05:00