Function: gnus-group-startup-message

gnus-group-startup-message is a byte-compiled function defined in gnus.el.gz.

Signature

(gnus-group-startup-message &optional X Y)

Documentation

Insert startup message in current buffer.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus.el.gz
(defun gnus-group-startup-message (&optional x y)
  "Insert startup message in current buffer."
  ;; Insert the message.
  (erase-buffer)
  (unless (and
           (fboundp 'find-image)
           (display-graphic-p)
           ;; Make sure the library defining `image-load-path' is
           ;; loaded (`find-image' is autoloaded) (and discard the
           ;; result).  Else, we may get "defvar ignored because
           ;; image-load-path is let-bound" when calling `find-image'
           ;; below.
           (or (find-image '(nil (:type xpm :file "gnus.xpm"))) t)
           (let* ((data-directory (nnheader-find-etc-directory "images/gnus"))
                  (image-load-path (cond (data-directory
                                          (list data-directory))
                                         ((boundp 'image-load-path)
                                          (symbol-value 'image-load-path))
                                         (t load-path)))
                  (image (gnus-splash-svg-color-symbols (find-image
                          `((:type svg :file "gnus.svg"
                                   :color-symbols
                                   (("#bf9900" . ,(car gnus-logo-colors))
                                    ("#ffcc00" . ,(cadr gnus-logo-colors))))
                            (:type xpm :file "gnus.xpm"
                                   :color-symbols
                                   (("thing" . ,(car gnus-logo-colors))
                                    ("shadow" . ,(cadr gnus-logo-colors))))
                            (:type png :file "gnus.png")
                            (:type pbm :file "gnus.pbm"
                                   ;; Account for the pbm's background.
                                   :background ,(face-foreground 'gnus-splash)
                                   :foreground ,(face-background 'default))
                            (:type xbm :file "gnus.xbm"
                                   ;; Account for the xbm's background.
                                   :background ,(face-foreground 'gnus-splash)
                                   :foreground ,(face-background 'default)))))))
             (when image
               (let ((size (image-size image)))
                 (insert-char ?\n (max 0 (round (- (window-height)
                                                   (or y (cdr size)) 1) 2)))
                 (insert-char ?\  (max 0 (round (- (window-width)
                                                   (or x (car size))) 2)))
                 (insert-image image))
	       (goto-char (point-min))
               t)))
    (insert
     "
	  _    ___ _             _
	  _ ___ __ ___  __    _ ___
	  __   _     ___    __  ___
	      _           ___     _
	     _  _ __             _
	     ___   __            _
		   __           _
		    _      _   _
		   _      _    _
		      _  _    _
		  __  ___
		 _   _ _     _
		_   _
	      _    _
	     _    _
	    _
	  __

")
    ;; And then hack it.
    (gnus-indent-rigidly (point-min) (point-max)
			 (/ (max (- (window-width) (or x 46)) 0) 2))
    (goto-char (point-min))
    (forward-line 1)
    (let* ((pheight (count-lines (point-min) (point-max)))
	   (wheight (window-height))
	   (rest (- wheight pheight)))
      (insert (make-string (max 0 (* 2 (/ rest 3))) ?\n)))
    ;; Fontify some.
    (put-text-property (point-min) (point-max) 'face 'gnus-splash)
    (goto-char (point-min))
    (setq mode-line-buffer-identification (concat " " gnus-version))
    (set-buffer-modified-p t)))