aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/window.el
diff options
context:
space:
mode:
authorJoakim Verona2011-07-23 09:34:37 +0200
committerJoakim Verona2011-07-23 09:34:37 +0200
commit37d53e76fafe8ba6732cbeb1c481a23ea5ade726 (patch)
treea604697b2525954e1a712784cf1e936a9664c1de /lisp/window.el
parentde37acc4249c95bd02295f7c3a8c080297335a1d (diff)
parent043604ee51e5b5e0d0f645b999a35a1609a16b24 (diff)
downloademacs-37d53e76fafe8ba6732cbeb1c481a23ea5ade726.tar.gz
emacs-37d53e76fafe8ba6732cbeb1c481a23ea5ade726.zip
experiment send key event to xwidget. this version had som bad merges from trunk so it seems unstble
Diffstat (limited to 'lisp/window.el')
-rw-r--r--lisp/window.el60
1 files changed, 44 insertions, 16 deletions
diff --git a/lisp/window.el b/lisp/window.el
index 12c9da85d57..905db8dc9b6 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -5051,14 +5051,22 @@ description."
5051 (funcall side window))))) 5051 (funcall side window)))))
5052 5052
5053 (when (window-live-p window) 5053 (when (window-live-p window)
5054 ;; Adjust sizes if asked for. 5054 ;; In `quit-restore' parameter record that we popped up
5055 (display-buffer-set-height window specifiers) 5055 ;; this window, its buffer and which window was selected.
5056 (display-buffer-set-width window specifiers)
5057 (set-window-parameter 5056 (set-window-parameter
5058 window 'quit-restore (list 'new-window buffer selected-window)) 5057 window 'quit-restore (list 'new-window buffer selected-window))
5058 ;; For `display-buffer-window' mark window as new.
5059 (setq display-buffer-window (cons window 'new-window)) 5059 (setq display-buffer-window (cons window 'new-window))
5060 ;; Install BUFFER in the new window.
5060 (display-buffer-in-window buffer window specifiers) 5061 (display-buffer-in-window buffer window specifiers)
5062 ;; Adjust sizes if asked for (for `fit-window-to-buffer'
5063 ;; and friends BUFFER must be already shown in the new
5064 ;; window).
5065 (display-buffer-set-height window specifiers)
5066 (display-buffer-set-width window specifiers)
5067 ;; Reset list of window's previous buffers to nil.
5061 (set-window-prev-buffers window nil) 5068 (set-window-prev-buffers window nil)
5069 ;; Return the new window.
5062 (throw 'done window)))))))) 5070 (throw 'done window))))))))
5063 5071
5064(defun display-buffer-pop-up-frame (buffer &optional graphic-only specifiers) 5072(defun display-buffer-pop-up-frame (buffer &optional graphic-only specifiers)
@@ -5113,26 +5121,33 @@ failed."
5113 (display-buffer-split-window main-or-root on-side specifiers)) 5121 (display-buffer-split-window main-or-root on-side specifiers))
5114 fun) 5122 fun)
5115 (when window 5123 (when window
5124 ;; We were able to split off a new window.
5116 (unless main 5125 (unless main
5117 (walk-window-subtree 5126 (walk-window-subtree
5118 (lambda (window) 5127 (lambda (window)
5119 ;; Make all main-or-root subwindows main windows. 5128 ;; Make all main-or-root subwindows main windows.
5120 (set-window-parameter window 'window-side 'none)) 5129 (set-window-parameter window 'window-side 'none))
5121 main-or-root t)) 5130 main-or-root t))
5122 ;; Make sure that parent's window-side is nil. 5131 ;; Reset window-side parameter of new window's parent to nil.
5123 (set-window-parameter (window-parent window) 'window-side nil) 5132 (set-window-parameter (window-parent window) 'window-side nil)
5124 ;; Initialize side. 5133 ;; Initialize window-side parameter of new window to SIDE.
5125 (set-window-parameter window 'window-side side) 5134 (set-window-parameter window 'window-side side)
5126 ;; Adjust sizes if asked for. 5135 ;; Install window-slot parameter of new window.
5127 (display-buffer-set-height window specifiers) 5136 (set-window-parameter window 'window-slot slot)
5128 (display-buffer-set-width window specifiers) 5137 ;; In `quit-restore' parameter record that we popped up a new
5129 ;; Set window parameters. 5138 ;; window.
5130 (set-window-parameter 5139 (set-window-parameter
5131 window 'quit-restore (list 'new-window buffer selected-window)) 5140 window 'quit-restore (list 'new-window buffer selected-window))
5141 ;; For `display-buffer-window' mark window as new.
5132 (setq display-buffer-window (cons window 'new-window)) 5142 (setq display-buffer-window (cons window 'new-window))
5133 (set-window-parameter window 'window-slot slot) 5143 ;; Install BUFFER in new window.
5134 (display-buffer-in-window buffer window specifiers) 5144 (display-buffer-in-window buffer window specifiers)
5145 ;; Adjust sizes of new window if asked for.
5146 (display-buffer-set-height window specifiers)
5147 (display-buffer-set-width window specifiers)
5148 ;; Reset list of new window's previous buffers to nil.
5135 (set-window-prev-buffers window nil) 5149 (set-window-prev-buffers window nil)
5150 ;; Return the new window.
5136 window))) 5151 window)))
5137 5152
5138(defun display-buffer-in-side-window (buffer side &optional slot specifiers) 5153(defun display-buffer-in-side-window (buffer side &optional slot specifiers)
@@ -5160,7 +5175,7 @@ SPECIFIERS must be a list of buffer display specifiers."
5160 window-sides-slots)) 5175 window-sides-slots))
5161 (selected-window (selected-window)) 5176 (selected-window (selected-window))
5162 window this-window this-slot prev-window next-window 5177 window this-window this-slot prev-window next-window
5163 best-window best-slot abs-slot dedicated) 5178 best-window best-slot abs-slot dedicated new-window)
5164 5179
5165 (unless (numberp slot) 5180 (unless (numberp slot)
5166 (setq slot 0)) 5181 (setq slot 0))
@@ -5233,13 +5248,16 @@ SPECIFIERS must be a list of buffer display specifiers."
5233 (setq window (display-buffer-split-window 5248 (setq window (display-buffer-split-window
5234 prev-window prev-side specifiers))))) 5249 prev-window prev-side specifiers)))))
5235 (progn 5250 (progn
5236 (display-buffer-set-height window specifiers) 5251 ;; In `quit-restore' parameter record that we popped up
5237 (display-buffer-set-width window specifiers) 5252 ;; this window, its buffer and the old selected window.
5238 (set-window-parameter 5253 (set-window-parameter
5239 window 'quit-restore 5254 window 'quit-restore
5240 (list 'new-window buffer selected-window)) 5255 (list 'new-window buffer selected-window))
5256 ;; For `display-buffer-window' mark window as new.
5241 (setq display-buffer-window (cons window 'new-window)) 5257 (setq display-buffer-window (cons window 'new-window))
5242 window)) 5258 ;; Record that window is new, we need this for
5259 ;; adjusting sizes below.
5260 (setq new-window window)))
5243 (and best-window 5261 (and best-window
5244 (setq window best-window) 5262 (setq window best-window)
5245 ;; Reuse best window (the window nearest to SLOT). 5263 ;; Reuse best window (the window nearest to SLOT).
@@ -5262,7 +5280,17 @@ SPECIFIERS must be a list of buffer display specifiers."
5262 (unless (window-parameter window 'window-slot) 5280 (unless (window-parameter window 'window-slot)
5263 ;; Don't change exisiting slot value. 5281 ;; Don't change exisiting slot value.
5264 (set-window-parameter window 'window-slot slot)) 5282 (set-window-parameter window 'window-slot slot))
5265 (display-buffer-in-window buffer window specifiers))))) 5283 ;; Install BUFFER in the window.
5284 (display-buffer-in-window buffer window specifiers)
5285 (when new-window
5286 ;; Adjust sizes if asked for (for `fit-window-to-buffer' and
5287 ;; friends BUFFER must be already shown in the new window).
5288 (display-buffer-set-height window specifiers)
5289 (display-buffer-set-width window specifiers)
5290 ;; Reset list of new window's previous buffers to nil.
5291 (set-window-prev-buffers window nil))
5292 ;; Return the window used.
5293 window))))
5266 5294
5267(defun window-normalize-buffer-to-display (buffer-or-name) 5295(defun window-normalize-buffer-to-display (buffer-or-name)
5268 "Normalize BUFFER-OR-NAME argument for buffer display functions. 5296 "Normalize BUFFER-OR-NAME argument for buffer display functions.
@@ -6926,7 +6954,7 @@ WINDOW was scrolled."
6926 ;; `with-selected-window' should orderly restore the current buffer. 6954 ;; `with-selected-window' should orderly restore the current buffer.
6927 (with-selected-window window 6955 (with-selected-window window
6928 ;; We are in WINDOW's buffer now. 6956 ;; We are in WINDOW's buffer now.
6929 (let* ( ;; Adjust MIN-HEIGHT. 6957 (let* (;; Adjust MIN-HEIGHT.
6930 (min-height 6958 (min-height
6931 (if override 6959 (if override
6932 (window-min-size window nil window) 6960 (window-min-size window nil window)