forked from FG42/FG42
basic splash prototype added
This commit is contained in:
parent
a6e510ff34
commit
180a689369
|
@ -0,0 +1,58 @@
|
|||
;; Vars ------------------------------
|
||||
(defvar fg42-logo-image (concat (getenv "FG42_HOME") "/assets/images/logo.png")
|
||||
"Default fg42 logo")
|
||||
|
||||
;; Functions -------------------------
|
||||
(defun fg42-about-screen ()
|
||||
"Display fancy About screen."
|
||||
(interactive)
|
||||
(let ((frame (fancy-splash-frame)))
|
||||
(save-selected-window
|
||||
(select-frame frame)
|
||||
(switch-to-buffer "*FG42 About*")
|
||||
(setq buffer-undo-list t)
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer)
|
||||
(if pure-space-overflow
|
||||
(insert pure-space-overflow-message))
|
||||
(fg42-splash-head)
|
||||
(dolist (text fancy-about-text)
|
||||
(apply #'fancy-splash-insert text)
|
||||
(insert "\n"))
|
||||
(set-buffer-modified-p nil)
|
||||
(goto-char (point-min))
|
||||
(force-mode-line-update))
|
||||
(use-local-map splash-screen-keymap)
|
||||
(setq-local browse-url-browser-function 'eww-browse-url)
|
||||
(setq tab-width 22)
|
||||
(setq buffer-read-only t)
|
||||
(goto-char (point-min))
|
||||
(forward-line 3))))
|
||||
|
||||
|
||||
(defun fg42-splash-head ()
|
||||
"Insert the head part of the splash screen into the current buffer."
|
||||
(let* ((img (create-image fg42-logo-image))
|
||||
(image-width (and img (car (image-size img))))
|
||||
(window-width (window-width)))
|
||||
(when img
|
||||
(when (> window-width image-width)
|
||||
;; Center the image in the window.
|
||||
(insert (propertize " " 'display
|
||||
`(space :align-to (+ center (-0.5 . ,img)))))
|
||||
|
||||
;; Change the color of the XPM version of the splash image
|
||||
;; so that it is visible with a dark frame background.
|
||||
(when (and (memq 'xpm img)
|
||||
(eq (frame-parameter nil 'background-mode) 'dark))
|
||||
(setq img (append img '(:color-symbols (("#000000" . "gray30"))))))
|
||||
|
||||
;; Insert the image with a help-echo and a link.
|
||||
(make-button (prog1 (point) (insert-image img)) (point)
|
||||
'face 'default
|
||||
'help-echo "mouse-2, RET: Browse http://www.gnu.org/"
|
||||
'action (lambda (_button) (browse-url "http://www.gnu.org/"))
|
||||
'follow-link t)
|
||||
(insert "\n\n")))))
|
||||
|
||||
(provide 'fg42/splash)
|
Loading…
Reference in New Issue