Adjust how to handle windows out of bounds

This commit is contained in:
David Botton 2022-01-28 16:30:00 -05:00
parent 900f5e28ce
commit 335837eaed

View file

@ -627,15 +627,14 @@ The on-window-change clog-obj received is the new window"))
(y (getf data ':screen-y))
(adj-y (- y (drag-y app)))
(adj-x (- x (drag-x app))))
(when (and (> adj-x 0) (> adj-y (menu-bar-height obj)))
(cond ((equalp (in-drag app) "m")
(fire-on-window-move (drag-obj app))
(setf (top (drag-obj app)) (unit :px adj-y))
(setf (left (drag-obj app)) (unit :px adj-x)))
((equalp (in-drag app) "s")
(fire-on-window-size (drag-obj app))
(setf (height (drag-obj app)) (unit :px adj-y))
(setf (width (drag-obj app)) (unit :px adj-x)))))))
(cond ((equalp (in-drag app) "m")
(fire-on-window-move (drag-obj app))
(setf (top (drag-obj app)) (unit :px adj-y))
(setf (left (drag-obj app)) (unit :px adj-x)))
((equalp (in-drag app) "s")
(fire-on-window-size (drag-obj app))
(setf (height (drag-obj app)) (unit :px adj-y))
(setf (width (drag-obj app)) (unit :px adj-x))))))
;;;;;;;;;;;;;;;;;;;;;;
;; on-gui-drag-stop ;;
@ -786,9 +785,6 @@ the window will be set to keep-on-top always."))
(fire-on-window-move win)))
(clog::set-on-event win "dragstop"
(lambda (obj)
(if (< (parse-integer (top win) :junk-allowed t)
(menu-bar-height obj))
(setf (top win) (unit "px" (menu-bar-height obj))))
(fire-on-window-move-done win)))
(clog::set-on-event win "resizestart"
(lambda (obj)
@ -1223,6 +1219,9 @@ interactions. Use window-end-modal to undo."))
(setf (on-window-move-done obj) handler))
(defmethod fire-on-window-move-done ((obj clog-gui-window))
(if (< (parse-integer (top obj) :junk-allowed t)
(menu-bar-height obj))
(setf (top obj) (unit "px" (menu-bar-height obj))))
(when (on-window-move-done obj)
(funcall (on-window-move-done obj) obj)))