diff --git a/lisp/startup.el b/lisp/startup.el index bff10003f8..8cea923581 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -1615,6 +1615,15 @@ fancy-startup-text Each element in the list should be a list of strings or pairs `:face FACE', like `fancy-splash-insert' accepts them.") +(defface splash-screen + '((((type tty pc) (class color) (background light)) + :foreground "green" :weight bold) + (((type tty pc) (class color) (background dark)) + :foreground "yellow" :weight bold) + (t :height 1.2 :inherit info-title-2)) + "Face for info titles at level 1." + :group 'info) + (defconst fancy-about-text `((:face (variable-pitch font-lock-comment-face) "This is " @@ -1632,69 +1641,75 @@ fancy-about-text `("GNU" ,(lambda (_button) (describe-gnu-project)) "Display info on the GNU project."))) " operating system.\n" - :face (variable-pitch font-lock-builtin-face) + :face variable-pitch + "\n\n" + + :face splash-screen + " Getting Help\t Free Software\t Get Involved!\n" "\n" - ,(lambda () (emacs-version)) + ;; >>> Line 1 + " • " + :link ("Tutorial" ,(lambda (_button) (help-with-tutorial))) + " " ;;; fixme: ugly hack for alignment + "\t• " + :link ("GNU and Freedom" ,(lambda (_button) (describe-gnu-project))) + "\t• " + :link ("Contributing & Bugs" + ,(lambda (_button) (info "(emacs)Contributing"))) "\n" - :face (variable-pitch (:height 0.8)) - ,(lambda () emacs-copyright) - "\n\n" - :face variable-pitch + + ;; >>> Line 2 + " • " + :link ("Guided Tour" + ,(lambda (_button) + (browse-url "https://www.gnu.org/software/emacs/tour/")) + "Browse https://www.gnu.org/software/emacs/tour/") + "\t• " + :link ("Copying Conditions" ,(lambda (_button) (describe-copying))) + "\t• " + :link ("Getting New Versions" ,(lambda (_button) (describe-distribution))) + "\n" + + ;; >>> Line 3 + " • " + :link ("Emacs Manual" ,(lambda (_button) (info-emacs-manual))) + "\t• " + :link ("Ordering Manuals" ,(lambda (_button) (view-order-manuals))) + "\t• " :link ("Authors" ,(lambda (_button) (view-file (expand-file-name "AUTHORS" data-directory)) (goto-char (point-min)))) - "\tMany people have contributed code included in GNU Emacs\n" - :link ("Contributing" - ,(lambda (_button) (info "(emacs)Contributing"))) - "\tHow to report bugs and contribute improvements to Emacs\n" - "\n" - :link ("GNU and Freedom" ,(lambda (_button) (describe-gnu-project))) - "\tWhy we developed GNU Emacs, and the GNU operating system\n" - :link ("Absence of Warranty" ,(lambda (_button) (describe-no-warranty))) - "\tGNU Emacs comes with " - :face (variable-pitch (:slant oblique)) - "ABSOLUTELY NO WARRANTY\n" + "\n\n\n" + :face variable-pitch - :link ("Copying Conditions" ,(lambda (_button) (describe-copying))) - "\tConditions for redistributing and changing Emacs\n" - :link ("Getting New Versions" ,(lambda (_button) (describe-distribution))) - "\tHow to obtain the latest version of Emacs\n" - :link ("Ordering Manuals" ,(lambda (_button) (view-order-manuals))) - "\tBuying printed manuals from the FSF\n" + + ;; Horizontal Line + "---------------------------------------------------------------------------\n" "\n" - :link ("Emacs Tutorial" ,(lambda (_button) (help-with-tutorial))) - "\tLearn basic Emacs keystroke commands" - ,(lambda () - (let* ((en "TUTORIAL") - (tut (or (get-language-info current-language-environment - 'tutorial) - en)) - (title (with-temp-buffer - (insert-file-contents - (expand-file-name tut tutorial-directory) - ;; Read the entire file, to make sure any - ;; coding cookies and other local variables - ;; get acted upon. - nil) - (search-forward ".") - (buffer-substring (point-min) (1- (point)))))) - ;; If there is a specific tutorial for the current language - ;; environment and it is not English, append its title. - (if (string= en tut) - "" - (concat " (" title ")")))) + + ;; Absence of Warranty Section + "GNU Emacs comes with " + :link ("ABSOLUTELY NO WARRANTY" ,(lambda (_button) (describe-no-warranty))) + "\n\n" + + ;; Version Information + :face (variable-pitch font-lock-builtin-face) + ,(lambda () (emacs-version)) "\n" - :link ("Emacs Guided Tour" - ,(lambda (_button) - (browse-url "https://www.gnu.org/software/emacs/tour/")) - "Browse https://www.gnu.org/software/emacs/tour/") - "\tSee an overview of Emacs features at gnu.org\n" - :link ("Emacs Manual" ,(lambda (_button) (info-emacs-manual))) - "\tDisplay the Emacs manual in Info mode")) + "\n" + + ;; Copyright + :face (variable-pitch (:height 0.8)) + ,(lambda () emacs-copyright) + "\n" + + )) + "A list of texts to show in the middle part of the About screen. Each element in the list should be a list of strings or pairs -`:face FACE', like `fancy-splash-insert' accepts them.") +`:face FACE', like `fancy-splash-insert' accepts them." + ) (defgroup fancy-splash-screen ()