diff options
| author | Noam Postavsky | 2017-12-18 20:30:10 -0500 |
|---|---|---|
| committer | Noam Postavsky | 2018-01-02 20:53:42 -0500 |
| commit | 43e2aafae306d9f7a463cba301d0253db846e20d (patch) | |
| tree | a4c12993e7ea813528590dd62a4c177631949b47 | |
| parent | ab31bf3c5f207dbc209bac350262137f48db4037 (diff) | |
| download | emacs-43e2aafae306d9f7a463cba301d0253db846e20d.tar.gz emacs-43e2aafae306d9f7a463cba301d0253db846e20d.zip | |
Don't bind dframe events on load (Bug#29599)
* lisp/dframe.el (dframe-setup-hook): New hook.
(dframe-set-special-events): New function, containing previous
top-level key binding code.
(top-level): Add it to dframe-setup-hook.
(dframe-frame-mode): Run the hook.
| -rw-r--r-- | lisp/dframe.el | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/lisp/dframe.el b/lisp/dframe.el index 9b0e550728a..12cedaf5201 100644 --- a/lisp/dframe.el +++ b/lisp/dframe.el | |||
| @@ -288,6 +288,7 @@ CREATE-HOOK is a hook to run after creating a frame." | |||
| 288 | (set frame-var nil)) | 288 | (set frame-var nil)) |
| 289 | ;; Set this as our currently attached frame | 289 | ;; Set this as our currently attached frame |
| 290 | (setq dframe-attached-frame (selected-frame)) | 290 | (setq dframe-attached-frame (selected-frame)) |
| 291 | (run-hooks 'dframe-setup-hook) | ||
| 291 | (run-hooks popup-hook) | 292 | (run-hooks popup-hook) |
| 292 | ;; Updated the buffer passed in to contain all the hacks needed | 293 | ;; Updated the buffer passed in to contain all the hacks needed |
| 293 | ;; to make it work well in a dedicated window. | 294 | ;; to make it work well in a dedicated window. |
| @@ -543,16 +544,21 @@ CACHE-VAR and BUFFER-VAR are symbols as in `dframe-frame-mode'." | |||
| 543 | ))) | 544 | ))) |
| 544 | 545 | ||
| 545 | ;;; Special frame event proxies | 546 | ;;; Special frame event proxies |
| 546 | ;; | 547 | (defvar dframe-setup-hook nil |
| 547 | (if (boundp 'special-event-map) | 548 | "Used for setting frame special event bindings.") |
| 548 | (progn | 549 | |
| 549 | (define-key special-event-map [make-frame-visible] | 550 | (defun dframe-set-special-events () |
| 550 | 'dframe-handle-make-frame-visible) | 551 | (define-key special-event-map [make-frame-visible] |
| 551 | (define-key special-event-map [iconify-frame] | 552 | 'dframe-handle-make-frame-visible) |
| 552 | 'dframe-handle-iconify-frame) | 553 | (define-key special-event-map [iconify-frame] |
| 553 | (define-key special-event-map [delete-frame] | 554 | 'dframe-handle-iconify-frame) |
| 554 | 'dframe-handle-delete-frame)) | 555 | (define-key special-event-map [delete-frame] |
| 555 | ) | 556 | 'dframe-handle-delete-frame) |
| 557 | ;; Only need to run once. | ||
| 558 | (remove-hook 'dframe-setup-hook #'dframe-set-special-events)) | ||
| 559 | |||
| 560 | (when (boundp 'special-event-map) | ||
| 561 | (add-hook 'dframe-setup-hook #'dframe-set-special-events)) | ||
| 556 | 562 | ||
| 557 | (defvar dframe-make-frame-visible-function nil | 563 | (defvar dframe-make-frame-visible-function nil |
| 558 | "Function used when a dframe controlled frame is de-iconified. | 564 | "Function used when a dframe controlled frame is de-iconified. |