+2000-11-06 Gerd Moellmann <gerd@gnu.org>
+
+ * startup.el (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.
+
2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
* pcvs.el (cvs-mode-marked): New arg `noquery'.
: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
(defvar fancy-current-text nil)
(defvar fancy-splash-help-echo nil)
+(defvar fancy-splash-stop-time nil)
(defun fancy-splash-insert (&rest args)
(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)))
(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 ()