From 7a892a8bff50e1156b008f8ca9e5cb4c9df47436 Mon Sep 17 00:00:00 2001 From: David Ponce Date: Mon, 18 Oct 2004 09:29:59 +0000 Subject: [PATCH] (mouse-drag-move-window-top): New function. (mouse-drag-mode-line-1): Use it. --- lisp/ChangeLog | 5 +++++ lisp/mouse.el | 15 ++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a3fb778928c..eaa71c4abad 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2004-10-18 David Ponce + + * mouse.el (mouse-drag-move-window-top): New function. + (mouse-drag-mode-line-1): Use it. + 2004-10-18 Thien-Thi Nguyen * info.el (Info-fontify-node): For multiline refs, 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 -- 2.39.5