From b66b6aeb1ce90073a30a45499d27c5eb54960932 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Wed, 24 Jan 2001 15:38:36 +0000 Subject: [PATCH] (tool-bar-images-pixel-height): New variable. (command-line): After loading the user's init file, when tool-bar-mode is on, increase the frame's size by some lines for the tool-bar. --- lisp/ChangeLog | 9 +++++++++ lisp/startup.el | 22 +++++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 94bfdad322b..2595c257b85 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2001-01-24 Gerd Moellmann + + * startup.el (tool-bar-images-pixel-height): New variable. + (command-line): After loading the user's init file, when + tool-bar-mode is on, increase the frame's size by some lines for + the tool-bar. + + * frame.el (frame-initialize): Create the initial frame invisible. + 2001-01-24 ShengHuo ZHU * language/chinese.el (chinese-iso-8bit): MIME:GB2312. diff --git a/lisp/startup.el b/lisp/startup.el index d11ffba48fd..d11b9945b0f 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -529,6 +529,9 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'." ("--foreground-color" . "-fg") ("--background-color" . "-bg"))) +(defconst tool-bar-images-pixel-height 24 + "Height in pixels of images in the tool bar.") + ;; Handle the X-like command line parameters "-fg", "-bg", "-name", etc. (defun tty-handle-args (args) (let ((rest nil)) @@ -758,7 +761,7 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'." (when (and (not noninteractive) (display-graphic-p) (> (frame-parameter nil 'tool-bar-lines) 0)) - (tool-bar-mode t)) + (tool-bar-mode 1)) ;; Can't do this init in defcustom because window-system isn't set. (when (and (not noninteractive) @@ -932,6 +935,23 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'." (run-hooks 'after-init-hook) + ;; When the tool-bar is on, increase the frame's height by the + ;; number of lines it usually occupies. The normal height of images + ;; in the tool bar is assumed to be `tool-bar-images-pixel-height'. + (when tool-bar-mode + (let* ((char-height (frame-char-height)) + (bar-height (+ tool-bar-images-pixel-height + tool-bar-button-margin + tool-bar-button-relief)) + (lines (/ (+ bar-height (1- char-height)) char-height))) + (set-frame-height nil (+ (frame-height) lines)))) + + ;; Now, make the frame visible. If we make it visible before this + ;; point, ugly flickering can happens because of possibly changing + ;; frame heights. Note that any message or error make the frame + ;; visible automatically. + (make-frame-visible) + ;; If *scratch* exists and init file didn't change its mode, initialize it. (if (get-buffer "*scratch*") (save-excursion -- 2.39.2