Commit Graph

67 Commits

Author SHA1 Message Date
4e908bd525 Minor refactor & correction 2018-01-29 17:39:08 -05:00
0ae1f51db6 feature/popup: force close in +popup*close advice 2018-01-28 22:21:42 -05:00
c5b72566ea Remove help-fns+, add helpful plugin #363 2018-01-21 21:37:15 -05:00
c166449f08 feature/popup: preserve size later in init process
So it can't be overwritten via ALIST.
2018-01-15 00:39:39 -05:00
28ac52e4db feature/popup: define window-sides-reversed #349 2018-01-12 19:13:01 -05:00
8785664267 feature/popup: replace split-window-no-error calls #349
split-window-no-error is a Emacs 26+ function.
2018-01-12 15:09:10 -05:00
98fbbc533f feature/popup: improve emacs 25.x compatibility #349 2018-01-12 14:40:34 -05:00
2967b404d8 feature/popup: don't let neotree reset its width
Causes it to shrink everytime the wconf changes.
2018-01-11 22:17:37 -05:00
ad06eacdac feature/popup: general refactor
Adds +popup-origin-window, which contains the last non-popup you were in
before a popup was opened.
2018-01-11 01:09:16 -05:00
bff48e5ed7 feature/popup: use new +popup-display-buffer #337
Adds support for `slot` and `vslot`, allowing for two dimensional
control over where popups may spawn. Highly experimental.

It's upsetting that I have to set `window--sides-inhibit-check`, I'd
like to find a way around that, if possible.
2018-01-11 01:05:24 -05:00
991297b8e7 feature/popup: fix wrong-number-of-args error 2018-01-11 00:43:26 -05:00
ea55fcfd0f feature/popup: use delete-window in +popup*evil-command-window-execute
- +popup/close will pollute the popup history
- see also https://github.com/hlissner/doom-emacs/pull/339#issuecomment-356544535
2018-01-10 17:39:12 +08:00
4c310bfb17 feature/popup: call get-buffer-window for evil-command execute-window
- doom-popup-other-window was removed
2018-01-10 10:09:03 +08:00
8227f40d08 feature/popup: call +popup/close in +popup*evil-command-window-execute
- doom/popup-close was renamed to +popup/close
2018-01-10 10:08:55 +08:00
a4e22d48b8 feature/popup: add :ignore support to :popup
Allows you to ignore certain buffers. Helpful for plugins that manage
their own windows, like magit.

To use:

  (set! :popup "^\\*magit" :ignore)

Relevant to #337
2018-01-09 17:42:11 -05:00
bfcbb9ca01 feature/popup: fix +popup/toggle always opening *Messagse*
Because +popup/restore would always return nil.
2018-01-09 16:49:26 -05:00
c03d0dbc06 feature/popup: add +popup-display-buffer action #337
This is experimental and disabled by default. It uses a slightly more
primitive backend that will stack popups away from the edge of the
frame. This will need more work to take window-slot into account.

To use it:

  (remove-hook '+popup-display-buffer-actions 'display-buffer-in-side-window)
  (add-hook '+popup-display-buffer-actions #'+popup-display-buffer t)
2018-01-09 16:49:25 -05:00
7bdf8cf8d9 feature/popup: add +popup-display-buffer-actions #337
Gives us more flexibility to control what display-buffer functions to
use when trying to display the popup window.
2018-01-09 16:49:14 -05:00
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
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
395af731d9 feature/popup: tweak org rules + add org-capture rule 2018-01-07 22:18:50 -05:00
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
f9ab0cf767 feature/popup: add multi-term, eshell and evil hacks 2018-01-07 22:18:50 -05:00
031e31c03c feature/popup: minor refactor 2018-01-07 18:39:42 -05:00
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
b11101d9cf feature/popup: add rule for Compilation buffer 2018-01-07 15:26:20 -05:00
742f5b26ed Improve popup compatibility for eshell & multi-term 2018-01-07 15:25:35 -05:00
d675ade45d feature/popup: move hacks to +hacks.el 2018-01-07 15:04:33 -05:00
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
e02f01b694 feature/popup: make extra sure escape=>doom/escape in popups #261 2018-01-07 06:47:00 -05:00
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
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
5824e6795a 📝 feature/popup: update readme 2018-01-07 05:56:01 -05:00
d2a4408877 feature/popup: add +popup|cleanup-rules hook 2018-01-07 05:56:01 -05:00
a76de01f4f feature/popup: move timer clearing into +popup-buffer-mode 2018-01-07 05:56:01 -05:00
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
81453de0c4 feature/popup: prompt to save unsaved buffers in popups 2018-01-07 05:56:01 -05:00
dff4b03fff feature/popup: support user-defined delete-window parameter 2018-01-07 05:56:01 -05:00
e481a2891a feature/popup: minor refactor & remove provide 2018-01-07 05:56:01 -05:00
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
878b5ae4e2 feature/popup: rethink default rules 2018-01-07 05:56:00 -05:00
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
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
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
af58e321dd Remove vestigial comment 2018-01-07 00:36:46 -05:00
7872faad3a feature/popup: don't forcibly hide modeline in org-agenda popups 2018-01-07 00:20:11 -05:00
2d9e63d5bb General & minor refactoring 2018-01-07 00:15:58 -05:00
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
2eeb6ce0d9 📝 Write feature/popup's readme 2018-01-07 00:15:57 -05:00
fcd87f6f69 feature/popup: fix balance-windows freezes with neotree
neotree's own advice around balance-windows caused little freezes while
splitting/closing windows, while a neotree pane was open. Not on my
watch.
2018-01-07 00:15:57 -05:00