Commit Graph

27 Commits

Author SHA1 Message Date
ccb04c43da ui/popup: refactor default rules
The vslots don't have to be so far from 0. Also makes compilation popups
bigger.
2018-09-28 21:13:52 -04:00
4ea4754162 Add commands for using bin/doom from inside Emacs
This is experimental. I'd eventually like users to be able to management
Doom from inside Emacs, if they desire. This may be the only way to have
a decent user experience on Windows, for that matter.

Also adds a popup rule for it.
2018-09-28 21:13:27 -04:00
a1440f8d66 Fix meta keybinds in popup in tty Emacs #869
Meta keys map to ESC in tty Emacs.
2018-09-13 19:15:16 -04:00
7d3ffdff06 Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
fd8f8c5108 feature/lookup: rewrite dash docset integration
+ Uses alist variable to store config, rather than hooks
+ Added check for installed docsets in +lookup/documentation
+ Set docsets for various language modules (c-mode, c++-mode, css-mode,
  scss-mode, sass-mode, web-mode, go-mode, racket-mode, emacs-lisp-mode,
  js2-mode, rjsx-mode, typescript-mode, rust-mode, and php-mode)
+ Made *eww* popups for dash docsets larger
+ Renamed set-docset! => set-docsets! (set-docset! is aliased to
  set-docsets!)
+ New +lookup/install-docset alias
2018-08-31 02:49:48 +02:00
be8eedc296 Fix lost window state when toggling popups
Replaces af045213 with a method for preserving popup state.
2018-08-29 02:16:06 +02:00
af045213e3 Preserve window state when toggling popups
e.g. size
2018-08-26 17:24:27 +02:00
4eda07e576 Don't replace scratch buffer with other popups 2018-06-28 00:31:36 +02:00
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
0bea00c183 Fix with-popup-rules! macro
Mistreating its RULES argument, causing void-function errors.
2018-06-22 19:17:15 +02:00
16975d0dc3 Slightly smaller backtrace popups 2018-06-22 01:49:21 +02:00
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
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
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
0fd8e1dd6b Restore +popup-ttl
Accidentally removed in a recent commit.

Fixes #692
2018-06-17 11:34:55 +02:00
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
c3988a8298 Give popups a small margin
To make up for lack of fringe.
2018-06-17 02:21:46 +02:00
74d364776e Move no-other-window to +popup-default-parameters
Should be customizable.
2018-06-16 11:45:09 +02:00
fe6a9b0cd8 ui/popup: tie +defaults flag to +hacks 2018-06-15 22:13:44 +02:00
d8b1e469bc Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
209b281dc6 Move popup mode keymaps to autoload.el 2018-06-02 16:58:56 +02:00
abd8f87e28 Move popup keymaps to config.el
This prevents void-variable +popup-buffer-mode-map errors that occur in
some hard to reproduce scenarios.

Also ensures that window-persistent-parameters is being restored when
+popup-mode is disabled.
2018-05-30 23:02:36 +02:00
73d083b1fa ui/popup: larger Info popups 2018-05-29 16:00:16 +02:00
1a452b6842 💥 Change first arg of load! macro
load!'s first argument is no longer a symbol (that will cause
void-variable errors now) to save on unnecessary interning and simplify
compile-time logic. It accepts any valid form that evaluates to a string
now.

If you use load!, you need to change its argument to a string!

e.g. (load! +my-module) => (load! "+my-module")
2018-05-27 12:52:28 +02:00
fa17de9f19 ui/popup: refactor :popup/:popups settings
And move org popup settings to lang/org
2018-05-26 23:26:45 +02:00
dcec3b9b25 feature/popup: add new autosave window parameter
(autosave . CDR)

This parameter determines what to do with modified buffers in closing
popup windows. CDR can be a t, 'ignore, a function or nil.

+ If t, no prompts. Just save them automatically (if they're
  file-visiting buffers).
+ If 'ignore, no prompts, no saving. Just silently kill it.
+ If nil (the default), prompt the user what to do if the buffer is
  file-visiting and modified.
+ If a function, the return value must return one of the other values.
  It takes two arguments: the popup window and buffer.
2018-05-19 12:08:24 +02:00
83118dc65c Move feature/popup => ui/popup
And move settings to ui/popup/init.el
2018-05-14 13:05:03 +02:00