aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoam Postavsky2017-12-18 20:30:10 -0500
committerNoam Postavsky2018-01-02 20:53:42 -0500
commit43e2aafae306d9f7a463cba301d0253db846e20d (patch)
treea4c12993e7ea813528590dd62a4c177631949b47
parentab31bf3c5f207dbc209bac350262137f48db4037 (diff)
downloademacs-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.el26
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.