summaryrefslogtreecommitdiff
path: root/lisp/startup.el
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2000-11-06 11:46:54 +0000
committerGerd Moellmann <gerd@gnu.org>2000-11-06 11:46:54 +0000
commite9da51a1d9617f745a1c01c1b269b7dc02e51dfc (patch)
tree5a408d1f0020f951533e27f33d329f2b30140c28 /lisp/startup.el
parent611dbdf0225f10bbcaaf0d0cf9c37e689dd35901 (diff)
downloademacs-e9da51a1d9617f745a1c01c1b269b7dc02e51dfc.tar.gz
(fancy-splash-delay): Set to 10 seconds.
(fancy-splash-max-time): New user-option. (fancy-splash-stop-time): New variable. (fancy-splash-screens): Set it. Catch `stop-splashing'. (fancy-splash-screens-1): Throw `stop-splashing' when current time is greater than fancy-splash-stop-time.
Diffstat (limited to 'lisp/startup.el')
-rw-r--r--lisp/startup.el51
1 files changed, 32 insertions, 19 deletions
diff --git a/lisp/startup.el b/lisp/startup.el
index 40075d82bfe..1c0f9814cf1 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -985,12 +985,19 @@ Each element in the list should be a list of strings or pairs
:group 'initialization)
-(defcustom fancy-splash-delay 5
+(defcustom fancy-splash-delay 10
"*Delay in seconds between splash screens."
:group 'fancy-splash-screen
:type 'integer)
+(defcustom fancy-splash-max-time 60
+ "*Show splash screens for at most this number of seconds.
+Values less than 60 seconds are ignored."
+ :group 'fancy-splash-screen
+ :type 'integer)
+
+
(defcustom fancy-splash-image nil
"*The image to show in the splash screens, or nil for defaults."
:group 'fancy-splash-screen
@@ -1002,6 +1009,7 @@ Each element in the list should be a list of strings or pairs
(defvar fancy-current-text nil)
(defvar fancy-splash-help-echo nil)
+(defvar fancy-splash-stop-time nil)
(defun fancy-splash-insert (&rest args)
@@ -1076,6 +1084,8 @@ where FACE is a valid face specification, as it can be used with
(defun fancy-splash-screens-1 (buffer)
"Timer function displaying a splash screen."
+ (when (> (float-time) fancy-splash-stop-time)
+ (throw 'stop-splashing nil))
(unless fancy-current-text
(setq fancy-current-text fancy-splash-text))
(let ((text (car fancy-current-text)))
@@ -1107,24 +1117,27 @@ where FACE is a valid face specification, as it can be used with
(let ((old-busy-cursor display-busy-cursor)
(splash-buffer (current-buffer))
timer)
- (unwind-protect
- (let ((map (make-sparse-keymap))
- (show-help-function nil))
- (use-local-map map)
- (define-key map [t] 'fancy-splash-default-action)
- (define-key map [mouse-movement] 'ignore)
- (setq cursor-type nil
- display-busy-cursor nil
- buffer-undo-list t
- mode-line-format
- (propertize "---- %b %-" 'face '(:weight bold))
- timer (run-with-timer 0 fancy-splash-delay
- #'fancy-splash-screens-1
- splash-buffer))
- (recursive-edit))
- (cancel-timer timer)
- (setq display-busy-cursor old-busy-cursor)
- (kill-buffer splash-buffer))))
+ (catch 'stop-splashing
+ (unwind-protect
+ (let ((map (make-sparse-keymap))
+ (show-help-function nil))
+ (use-local-map map)
+ (define-key map [t] 'fancy-splash-default-action)
+ (define-key map [mouse-movement] 'ignore)
+ (setq cursor-type nil
+ display-busy-cursor nil
+ buffer-undo-list t
+ mode-line-format
+ (propertize "---- %b %-" 'face '(:weight bold))
+ fancy-splash-stop-time (+ (float-time)
+ (max 60 fancy-splash-max-time))
+ timer (run-with-timer 0 fancy-splash-delay
+ #'fancy-splash-screens-1
+ splash-buffer))
+ (recursive-edit))
+ (cancel-timer timer)
+ (setq display-busy-cursor old-busy-cursor)
+ (kill-buffer splash-buffer)))))
(defun startup-echo-area-message ()