Commit Graph

66 Commits

Author SHA1 Message Date
Henrik Lissner
76a4ae459d
Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
Henrik Lissner
bf08e1c318
Fix window-live-p error on other-popup 2017-12-08 23:14:12 -05:00
Henrik Lissner
89876ce0ff
Use keyboard-quit as :noesc no-op in popups #238 2017-10-18 16:55:10 +02:00
Henrik Lissner
04326d3a60
Fix bad doom/other-popup alias breaking which-key #223 2017-10-05 12:39:28 +02:00
Henrik Lissner
eefcf7803f
Popup library: minor refactor & appease byte-compiler 2017-10-05 02:11:04 +02:00
Henrik Lissner
5358488300
Extract popup fitting into doom-popup-fit-to-buffer 2017-10-03 15:46:07 +02:00
Henrik Lissner
3bcd0c1071
Major refactor of the popup management api 2017-10-03 02:47:11 +02:00
Henrik Lissner
5128033320
Add {buffer,window}-live-p checks to doom-popup-p 2017-09-28 18:19:16 +02:00
Henrik Lissner
a4ddb1bc9b
General minor refactor + cleanup 2017-09-28 18:19:15 +02:00
Henrik Lissner
546ca0e313
General, minor refactor 2017-09-26 21:55:01 +02:00
Henrik Lissner
86ff43c6cb
Minor refactor of popup rules logistics 2017-09-26 20:37:08 +02:00
Henrik Lissner
cf7b27f4eb
popups: :fixed => :static, major changes to popup API
+ New command: doom/popup-kill-all
+ Update references to :fixed (now named :static)
+ Simplified doom-popup-p; moved :static filtering to
  doom-popup-windows.
+ New :autofit popup property, which resizes the popup to fit its
  content, if possible.
+ doom-popup-windows now takes one boolean argument: whether to ignore
  static popups or not.
2017-09-26 20:37:08 +02:00
Henrik Lissner
e7a9a1a3ca
Improve support for moving popup windows (WIP)
Now, the +evil/window-move-* commands are consistent when used with
popups. Also added doom/popup-move-* as popup-alternatives to
evil-window-move-{very,far}-* commands.

Relevant to #141 #171
2017-09-25 13:02:27 +02:00
Henrik Lissner
bc1d2480b0
New command: doom/popup-raise 2017-09-25 02:59:13 +02:00
Henrik Lissner
6de185409f
New macro: save-popups! 2017-09-25 02:58:59 +02:00
Henrik Lissner
5aeb5232ed
Make doom-popup-{buffer,file} plist optional 2017-09-24 21:01:11 +02:00
Henrik Lissner
eb8e23f44e
Correct misnamed variable in doom-popup-properties 2017-09-24 20:53:48 +02:00
Henrik Lissner
2ea01a5b66
Add basic support for moving popup windows (WIP)
Relevant to #141 #171
2017-09-24 20:47:24 +02:00
Henrik Lissner
cfb094e589
Add :fixed property to popup rules 2017-09-24 20:46:22 +02:00
Henrik Lissner
9de6518906
Prevent nil's being entered into popup history 2017-09-24 20:45:55 +02:00
Henrik Lissner
3dca6d8028
doom-popup-prop => doom-popup-property
Also, new doom-popup-properties function.
2017-09-24 20:45:23 +02:00
Henrik Lissner
65d758ce8f
Add doom-popup-inhibit-autokill variable 2017-09-24 20:44:17 +02:00
Henrik Lissner
e6f892b115
Refactor doom-popup-p 2017-09-24 20:42:30 +02:00
Henrik Lissner
558a8d973c
Change doom-popup-buffer & doom-popup-file signature
...and update its references.
2017-09-24 20:41:14 +02:00
Henrik Lissner
78db91bdd2
Check if buffer/window is live in doom-popup-p 2017-09-24 18:41:12 +02:00
Henrik Lissner
64aa0fef4d
Appease byte-compiler 2017-07-13 00:00:35 +02:00
Henrik Lissner
9c7e431de7
Refactor doom-popup-size (cond -> pcase) 2017-07-11 01:08:30 +02:00
Henrik Lissner
d6133adef0
Refactor doom-popup-prop (cond -> pcase) 2017-07-11 01:06:26 +02:00
Henrik Lissner
65696cebf6
Fix wrong-type-argument: bufferp error on ESC 2017-07-11 01:06:10 +02:00
Henrik Lissner
f40ebf9725
Minor docstring updates 2017-07-09 02:14:45 +02:00
Henrik Lissner
99b6274b03
New command: doom/other-popup #141
Like other-window, but for doom popups. Also bound this to `C-x p` in
private module.
2017-07-06 17:46:06 +02:00
Henrik Lissner
8c3693ed47
Add new variable: doom-popup-windows
Contains a list of open popup windows.

This preserves window order. Before this commit, doom-popup-windows (the
function), did not do this.
2017-07-06 17:43:17 +02:00
Henrik Lissner
4fc39a0f71
Rename doom/popup => doom/popup-this-buffer 2017-07-06 16:42:35 +02:00
Henrik Lissner
576a91b66c
New macro: with-popup-rules! 2017-07-05 02:59:17 +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
7b5d2063f8 doom-popup-p: don't require window for buffer target 2017-06-08 13:45:04 +02:00
Henrik Lissner
5d47be15ef doom/popup-close-all: return non-nil on success 2017-05-25 12:20:51 +02:00
Henrik Lissner
002d4cff9e Remember popup size in history + refactor 2017-05-19 03:01:49 +02:00
Henrik Lissner
615cf15313 General refactor & cleanup 2017-05-17 21:07:41 +02:00
Henrik Lissner
a6c4aace90 Better magit+shackle integration 2017-05-17 18:27:02 +02:00
Henrik Lissner
5b6f3119c7 doom/popup-restore: clone file buffers if needed 2017-05-14 14:37:06 +02:00
Henrik Lissner
1ab5f86188 core-popups: read rules from local var 2017-05-14 14:36:49 +02:00
Henrik Lissner
afb31659a3 General refactor & cleanup 2017-05-13 00:14:17 +02:00
Henrik Lissner
7fbaf2ced1 General cleanup & refector; update TODO.org 2017-05-12 14:18:27 +02:00
Henrik Lissner
ed6941e8ae core-popups: clone buffer if visible elsewhere
Allows us to modify the buffer in the pop up window indepdently from the
rest.
2017-05-12 12:17:01 +02:00
Henrik Lissner
5ae94b765c PRAISE BE TO THE BYTE COMPILER FOR THY SHARP QUOTES 2017-04-17 02:17:10 -04:00
Henrik Lissner
3da8ea55f3 core-popups: in doom--popup-data, return nil if no window buffer 2017-04-10 02:52:30 -04:00
Henrik Lissner
ba9e7a947b Remove provide's in autoload libraries (unnecessary) 2017-04-04 22:16:39 -04:00
Henrik Lissner
ae614c9c6f General cleanup + refactor 2017-03-08 14:41:32 -05:00
Henrik Lissner
978e121ed0 doom/popup-close: refactor 2017-03-01 22:15:32 -05:00