comparison lisp/minibuf.el @ 4376:53e507d77416

Fix problem with file dialog box. 2008-01-02 Mike Sperber <mike@xemacs.org> * minibuf.el (mouse-read-file-name-1): Make the buttons in the dialog frame occupy `window-min-height' lines to avoid problems when the window configuration changes---as it does with `resize-minibuffer-mode'.
author Mike Sperber <sperber@deinprogramm.de>
date Wed, 02 Jan 2008 10:08:07 +0100
parents 38ef5a6da799
children c7e65155cb35
comparison
equal deleted inserted replaced
4375:74e0e1131e01 4376:53e507d77416
2055 completer) 2055 completer)
2056 ;; file-p is t if we're reading files, nil if directories. 2056 ;; file-p is t if we're reading files, nil if directories.
2057 (let* ((file-p (eq 'read-file-name-internal completer)) 2057 (let* ((file-p (eq 'read-file-name-internal completer))
2058 (filebuf (get-buffer-create "*Completions*")) 2058 (filebuf (get-buffer-create "*Completions*"))
2059 (dirbuf (and file-p (generate-new-buffer " *mouse-read-file*"))) 2059 (dirbuf (and file-p (generate-new-buffer " *mouse-read-file*")))
2060 (butbuf (generate-new-buffer " *mouse-read-file*")) 2060 (butbuf (generate-new-buffer " *mouse-read-file-buttons*"))
2061 (frame (make-dialog-frame)) 2061 (frame (make-dialog-frame))
2062 filewin dirwin 2062 filewin dirwin
2063 user-data) 2063 user-data)
2064 (unwind-protect 2064 (unwind-protect
2065 (progn 2065 (progn
2066 (reset-buffer filebuf) 2066 (reset-buffer filebuf)
2067 2067
2068 ;; set up the frame. 2068 ;; set up the frame.
2069 (focus-frame frame) 2069 (focus-frame frame)
2070 (let ((window-min-height 1)) 2070 ;; We really need `window-min-height' lines for the button
2071 ;; #### should be 2 not 3, but that causes 2071 ;; buffer, as otherwise the button buffer might get
2072 ;; "window too small to split" errors for some 2072 ;; inadvertently deleted when other window-size changes
2073 ;; people (but not for me ...) There's a more 2073 ;; happen (such as through resize-minibuffer-mode).
2074 ;; fundamental bug somewhere. 2074 (split-window nil (- (frame-height frame) window-min-height))
2075 (split-window nil (- (frame-height frame) 3)))
2076 (if file-p 2075 (if file-p
2077 (progn 2076 (progn
2078 (split-window-horizontally 16) 2077 (split-window-horizontally 16)
2079 (setq filewin (frame-rightmost-window frame) 2078 (setq filewin (frame-rightmost-window frame)
2080 dirwin (frame-leftmost-window frame)) 2079 dirwin (frame-leftmost-window frame))