Commit graph

43 commits

Author SHA1 Message Date
Henrik Lissner
1af246daeb
feature/popup: add rule for *info* buffers 2018-03-26 03:04:13 -04:00
Henrik Lissner
abce3298fb
feature/popup: add example to :popups docstring 2018-03-24 07:25:00 -04:00
Henrik Lissner
322295b5d8
feature/popup: add docstring to +popup-define 2018-03-24 07:25:00 -04:00
Henrik Lissner
15032aaf60
feature/popup: move default org popup rules to config.el 2018-03-24 07:25:00 -04:00
Henrik Lissner
efbd3d69cc
feature/popup: add :popups setting 2018-03-24 07:25:00 -04:00
Henrik Lissner
db2e2b0642
feature/popup: major refactor
+ Defer replacement of 'size attribute in ALIST until popup opening
  (makes :popup definitions a little faster).
+ Define/use +popup-define helper function (for internal use only!)
2018-03-24 07:25:00 -04:00
Henrik Lissner
4a32213b38
feature/popup: make modeline-setting more reliable
Some popups may retain their mode-line. Especially popups whose buffers
are displayed before their mode or content is inserted (maybe
asynchronously). This change tries to tackle that; ensuring that
mode-line setting is more consistent.
2018-03-18 02:37:13 -04:00
Henrik Lissner
e59fd75107
feature/popup: make compilation popups larger 2018-03-14 18:29:40 -04:00
Henrik Lissner
9a1bf42075
feature/popup: remove eval-when-compile
This fixes void-variable errors when byte-compiling this module.
2018-03-01 23:41:46 -05:00
Henrik Lissner
166ec9c281
feature/popup: +popup-ttl = 5 2018-02-19 20:25:54 -05:00
Henrik Lissner
d0fa95f9a0
feature/popup: change 'doom:' rule: transient = t 2018-02-02 20:47:33 -05:00
Henrik Lissner
e0fd1b9043
feature/popup: replace +popup-enable-*-rules w/ +all/+defaults flags #394 2018-02-01 23:17:18 -05:00
Henrik Lissner
1ab7301a1d
feature/popup: add +popup-enable-*-rules options & delay init
Initialization of the popup rules now happens later (on
doom-init-ui-hook). The two new options are:

+ +popup-enable-fallback-rules: the popup module defines two catch-all
  fallback rules for buffers that match "^ \\*" and "^\\*". By setting
  this option to nil, you can disable that behavior, in case you want to
  set them yourself.
+ +popup-enable-default-rules: setting this to nil disable all default
  popup rules for various essential Emacs and Doom buffers that should be
  treated as popups.
2018-01-30 22:01:23 -05:00
Henrik Lissner
4e908bd525
Minor refactor & correction 2018-01-29 17:39:08 -05:00
Henrik Lissner
c5b72566ea
Remove help-fns+, add helpful plugin #363 2018-01-21 21:37:15 -05:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
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
f9ab0cf767
feature/popup: add multi-term, eshell and evil hacks 2018-01-07 22:18:50 -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
e02f01b694
feature/popup: make extra sure escape=>doom/escape in popups #261 2018-01-07 06:47:00 -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
af58e321dd
Remove vestigial comment 2018-01-07 00:36:46 -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
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
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
Henrik Lissner
eab079724d
feature/popup: add inhibit-timers letvar
Allows us to disable timer functionality when we're simply setting popup
buffers aside temporarily.
2018-01-07 00:15:56 -05:00
Henrik Lissner
eef808d795
feature/popup: reduce state in window parameters & fix popup continuity
+ Fix list where cons should be
+ Update +popup-window-parameters docstring
+ Use display-buffer instead of +popup-buffer (no need to remember
  alist). This ensures restored popups (with +popup/restore) are truly
  identical to their former selves.
2018-01-07 00:15:56 -05:00
Henrik Lissner
eedd86135e
feature/popup: add hacks for wgrep, org, persp-mode & balance-windows
Plus +popup*close and +popup*save advice functions.
2018-01-06 04:56:57 -05:00
Henrik Lissner
a9a731c1eb
feature/popup: replace alist param with popup 2018-01-06 04:56:12 -05:00
Henrik Lissner
48b0a468d1
THOU SHALT NOT WORSHIP FALSE IDOLS, said the byte compiler
And I obeyed.
2018-01-06 04:24:38 -05:00
Henrik Lissner
4fdf4a58b4
feature/popup: mention custom 'size parameter in :popup 2018-01-06 03:09:29 -05:00
Henrik Lissner
08b479b06f
Rename popup parameter escape-quit => quit 2018-01-06 02:42:53 -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