Mercurial > hg > xemacs-beta
comparison lisp/mouse.el @ 5473:ac37a5f7e5be
Merge with trunk.
author | Mats Lidell <matsl@xemacs.org> |
---|---|
date | Thu, 17 Mar 2011 23:42:59 +0100 |
parents | 308d34e9f07d 4141aeddc55b |
children | 3bc58dc9d688 |
comparison
equal
deleted
inserted
replaced
5472:e79980ee5efe | 5473:ac37a5f7e5be |
---|---|
1768 ;; if the change caused more than two windows to resize | 1768 ;; if the change caused more than two windows to resize |
1769 ;; (shifting the whole stack right is ugly), or if the | 1769 ;; (shifting the whole stack right is ugly), or if the |
1770 ;; left window side has slipped (right side cannot be | 1770 ;; left window side has slipped (right side cannot be |
1771 ;; moved any further to the right, so enlarge-window | 1771 ;; moved any further to the right, so enlarge-window |
1772 ;; plays bad games with the left edge. | 1772 ;; plays bad games with the left edge. |
1773 (if (or (/= (count-windows) (length old-edges-all-windows)) | 1773 (if (or (not (eql (count-windows) |
1774 (length old-edges-all-windows))) | |
1774 (/= old-left (car (window-pixel-edges window))) | 1775 (/= old-left (car (window-pixel-edges window))) |
1775 ;; This check is very hairy. We allow any number | 1776 ;; This check is very hairy. We allow any number |
1776 ;; of left edges to change, but only to the same | 1777 ;; of left edges to change, but only to the same |
1777 ;; new value. Similar procedure is for the right edges. | 1778 ;; new value. Similar procedure is for the right edges. |
1778 (let ((all-that-bad nil) | 1779 (let ((all-that-bad nil) |
1779 (new-left-ok nil) | 1780 (new-left-ok nil) |
1780 (new-right-ok nil)) | 1781 (new-right-ok nil)) |
1781 (mapcar* (lambda (window old-edges) | 1782 (mapc (lambda (window old-edges) |
1782 (let ((new (car (window-pixel-edges window)))) | 1783 (let ((new |
1783 (if (/= new (car old-edges)) | 1784 (car (window-pixel-edges window)))) |
1784 (if (and new-left-ok | 1785 (if (/= new (car old-edges)) |
1785 (/= new-left-ok new)) | 1786 (if (and new-left-ok |
1786 (setq all-that-bad t) | 1787 (/= new-left-ok new)) |
1787 (setq new-left-ok new))))) | 1788 (setq all-that-bad t) |
1788 (window-list) old-edges-all-windows) | 1789 (setq new-left-ok new))))) |
1789 (mapcar* (lambda (window old-edges) | 1790 (window-list) old-edges-all-windows) |
1790 (let ((new (caddr (window-pixel-edges window)))) | 1791 (mapc (lambda (window old-edges) |
1791 (if (/= new (caddr old-edges)) | 1792 (let ((new |
1792 (if (and new-right-ok | 1793 (caddr (window-pixel-edges window)))) |
1793 (/= new-right-ok new)) | 1794 (if (/= new (caddr old-edges)) |
1794 (setq all-that-bad t) | 1795 (if (and new-right-ok |
1795 (setq new-right-ok new))))) | 1796 (/= new-right-ok new)) |
1796 (window-list) old-edges-all-windows) | 1797 (setq all-that-bad t) |
1798 (setq new-right-ok new))))) | |
1799 (window-list) old-edges-all-windows) | |
1797 all-that-bad)) | 1800 all-that-bad)) |
1798 (set-window-configuration backup-conf))))))))) | 1801 (set-window-configuration backup-conf))))))))) |
1799 | 1802 |
1800 (setq vertical-divider-map (make-keymap)) | 1803 (setq vertical-divider-map (make-keymap)) |
1801 (define-key vertical-divider-map 'button1 'drag-window-divider) | 1804 (define-key vertical-divider-map 'button1 'drag-window-divider) |