diff options
author | David Ponce <david@dponce.com> | 2004-10-18 09:29:59 +0000 |
---|---|---|
committer | David Ponce <david@dponce.com> | 2004-10-18 09:29:59 +0000 |
commit | 7a892a8bff50e1156b008f8ca9e5cb4c9df47436 (patch) | |
tree | dacbb7a14c0d5e05742b5de4847c2a22f132d8f1 /lisp/mouse.el | |
parent | e14105f6fa9ce465dd171f753abec2a7f5e4b61d (diff) | |
download | emacs-7a892a8bff50e1156b008f8ca9e5cb4c9df47436.tar.gz |
(mouse-drag-move-window-top): New function.
(mouse-drag-mode-line-1): Use it.
Diffstat (limited to 'lisp/mouse.el')
-rw-r--r-- | lisp/mouse.el | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el index 0a6499e5c09..abf62a97836 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -338,6 +338,17 @@ shrink the window or windows above it to make room." (select-window window) (enlarge-window growth nil (> growth 0)))) +(defsubst mouse-drag-move-window-top (window growth) + "Move the top of WINDOW up or down by GROWTH lines. +Move it down if GROWTH is positive, or up if GROWTH is negative. +If this would make WINDOW too short, shrink the window or windows +above it to make room." + ;; Moving the top of WINDOW is actually moving the bottom of the + ;; window above. + (let ((window-above (mouse-drag-window-above window))) + (and window-above + (mouse-drag-move-window-bottom window-above (- growth))))) + (defun mouse-drag-mode-line-1 (start-event mode-line-p) "Change the height of a window by dragging on the mode or header line. START-EVENT is the starting mouse-event of the drag action. @@ -444,7 +455,9 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line." (select-window start-event-window)) ;; no. grow/shrink the selected window ;(message "growth = %d" growth) - (mouse-drag-move-window-bottom start-event-window growth)) + (if mode-line-p + (mouse-drag-move-window-bottom start-event-window growth) + (mouse-drag-move-window-top start-event-window growth))) ;; if this window's growth caused another ;; window to be deleted because it was too |