Mercurial > emacs
changeset 35856:41652bd90468
(frame-notice-user-settings): When resizing the initial
frame because the tool bar is off, also change the frame's top
position if a negative top position was specified.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Fri, 02 Feb 2001 13:55:42 +0000 |
parents | 6b4581bb1cfa |
children | 84bccf78a45f |
files | lisp/frame.el |
diffstat | 1 files changed, 36 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/frame.el Fri Feb 02 13:11:39 2001 +0000 +++ b/lisp/frame.el Fri Feb 02 13:55:42 2001 +0000 @@ -288,32 +288,42 @@ ;; When tool-bar has been switched off, correct the frame size ;; by the lines added in x-create-frame for the tool-bar and ;; switch `tool-bar-mode' off. - (when (and (display-graphic-p) - (or (eq 0 (cdr (assq 'tool-bar-lines initial-frame-alist))) - (eq 0 (cdr (assq 'tool-bar-lines default-frame-alist))))) - (let* ((char-height (frame-char-height frame-initial-frame)) - (image-height 24) - (margin (cond ((and (consp tool-bar-button-margin) - (integerp (cdr tool-bar-button-margin)) - (> tool-bar-button-margin 0)) - (cdr tool-bar-button-margin)) - ((and (integerp tool-bar-button-margin) - (> tool-bar-button-margin 0)) - tool-bar-button-margin) - (t 0))) - (relief (if (and (integerp tool-bar-button-relief) - (> tool-bar-button-relief 0)) - tool-bar-button-relief 3)) - (lines (/ (+ image-height - (* 2 margin) - (* 2 relief) - (1- char-height)) - char-height)) - (height (frame-parameter frame-initial-frame 'height))) - (modify-frame-parameters frame-initial-frame - (list (cons 'height (- height lines)))) - (tool-bar-mode -1))) - + (when (display-graphic-p) + (let ((tool-bar-lines (or (assq 'tool-bar-lines initial-frame-alist) + (assq 'tool-bar-lines default-frame-alist)))) + (when (or (null tool-bar-lines) + (null (cdr tool-bar-lines)) + (eq 0 (cdr tool-bar-lines))) + (let* ((char-height (frame-char-height frame-initial-frame)) + (image-height 24) + (margin (cond ((and (consp tool-bar-button-margin) + (integerp (cdr tool-bar-button-margin)) + (> tool-bar-button-margin 0)) + (cdr tool-bar-button-margin)) + ((and (integerp tool-bar-button-margin) + (> tool-bar-button-margin 0)) + tool-bar-button-margin) + (t 0))) + (relief (if (and (integerp tool-bar-button-relief) + (> tool-bar-button-relief 0)) + tool-bar-button-relief 3)) + (lines (/ (+ image-height + (* 2 margin) + (* 2 relief) + (1- char-height)) + char-height)) + (height (frame-parameter frame-initial-frame 'height)) + (newparms (list (cons 'height (- height lines)))) + (initial-top (cdr (assq 'top + frame-initial-geometry-arguments))) + (top (frame-parameter frame-initial-frame 'top))) + (when (and (consp initial-top) (eq '- (car initial-top))) + (setq newparms + (append newparms + `((top . ,(+ top (* lines char-height)))) + nil))) + (modify-frame-parameters frame-initial-frame newparms) + (tool-bar-mode -1))))) ;; The initial frame we create above always has a minibuffer. ;; If the user wants to remove it, or make it a minibuffer-only