aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2000-11-06 11:46:54 +0000
committerGerd Moellmann2000-11-06 11:46:54 +0000
commite9da51a1d9617f745a1c01c1b269b7dc02e51dfc (patch)
tree5a408d1f0020f951533e27f33d329f2b30140c28
parent611dbdf0225f10bbcaaf0d0cf9c37e689dd35901 (diff)
downloademacs-e9da51a1d9617f745a1c01c1b269b7dc02e51dfc.tar.gz
emacs-e9da51a1d9617f745a1c01c1b269b7dc02e51dfc.zip
(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.
-rw-r--r--lisp/ChangeLog9
-rw-r--r--lisp/startup.el51
2 files changed, 41 insertions, 19 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 587ac7a72ed..62276d314d9 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,12 @@
12000-11-06 Gerd Moellmann <gerd@gnu.org>
2
3 * startup.el (fancy-splash-delay): Set to 10 seconds.
4 (fancy-splash-max-time): New user-option.
5 (fancy-splash-stop-time): New variable.
6 (fancy-splash-screens): Set it. Catch `stop-splashing'.
7 (fancy-splash-screens-1): Throw `stop-splashing' when current
8 time is greater than fancy-splash-stop-time.
9
12000-11-06 Stefan Monnier <monnier@cs.yale.edu> 102000-11-06 Stefan Monnier <monnier@cs.yale.edu>
2 11
3 * pcvs.el (cvs-mode-marked): New arg `noquery'. 12 * pcvs.el (cvs-mode-marked): New arg `noquery'.
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
985 :group 'initialization) 985 :group 'initialization)
986 986
987 987
988(defcustom fancy-splash-delay 5 988(defcustom fancy-splash-delay 10
989 "*Delay in seconds between splash screens." 989 "*Delay in seconds between splash screens."
990 :group 'fancy-splash-screen 990 :group 'fancy-splash-screen
991 :type 'integer) 991 :type 'integer)
992 992
993 993
994(defcustom fancy-splash-max-time 60
995 "*Show splash screens for at most this number of seconds.
996Values less than 60 seconds are ignored."
997 :group 'fancy-splash-screen
998 :type 'integer)
999
1000
994(defcustom fancy-splash-image nil 1001(defcustom fancy-splash-image nil
995 "*The image to show in the splash screens, or nil for defaults." 1002 "*The image to show in the splash screens, or nil for defaults."
996 :group 'fancy-splash-screen 1003 :group 'fancy-splash-screen
@@ -1002,6 +1009,7 @@ Each element in the list should be a list of strings or pairs
1002 1009
1003(defvar fancy-current-text nil) 1010(defvar fancy-current-text nil)
1004(defvar fancy-splash-help-echo nil) 1011(defvar fancy-splash-help-echo nil)
1012(defvar fancy-splash-stop-time nil)
1005 1013
1006 1014
1007(defun fancy-splash-insert (&rest args) 1015(defun fancy-splash-insert (&rest args)
@@ -1076,6 +1084,8 @@ where FACE is a valid face specification, as it can be used with
1076 1084
1077(defun fancy-splash-screens-1 (buffer) 1085(defun fancy-splash-screens-1 (buffer)
1078 "Timer function displaying a splash screen." 1086 "Timer function displaying a splash screen."
1087 (when (> (float-time) fancy-splash-stop-time)
1088 (throw 'stop-splashing nil))
1079 (unless fancy-current-text 1089 (unless fancy-current-text
1080 (setq fancy-current-text fancy-splash-text)) 1090 (setq fancy-current-text fancy-splash-text))
1081 (let ((text (car fancy-current-text))) 1091 (let ((text (car fancy-current-text)))
@@ -1107,24 +1117,27 @@ where FACE is a valid face specification, as it can be used with
1107 (let ((old-busy-cursor display-busy-cursor) 1117 (let ((old-busy-cursor display-busy-cursor)
1108 (splash-buffer (current-buffer)) 1118 (splash-buffer (current-buffer))
1109 timer) 1119 timer)
1110 (unwind-protect 1120 (catch 'stop-splashing
1111 (let ((map (make-sparse-keymap)) 1121 (unwind-protect
1112 (show-help-function nil)) 1122 (let ((map (make-sparse-keymap))
1113 (use-local-map map) 1123 (show-help-function nil))
1114 (define-key map [t] 'fancy-splash-default-action) 1124 (use-local-map map)
1115 (define-key map [mouse-movement] 'ignore) 1125 (define-key map [t] 'fancy-splash-default-action)
1116 (setq cursor-type nil 1126 (define-key map [mouse-movement] 'ignore)
1117 display-busy-cursor nil 1127 (setq cursor-type nil
1118 buffer-undo-list t 1128 display-busy-cursor nil
1119 mode-line-format 1129 buffer-undo-list t
1120 (propertize "---- %b %-" 'face '(:weight bold)) 1130 mode-line-format
1121 timer (run-with-timer 0 fancy-splash-delay 1131 (propertize "---- %b %-" 'face '(:weight bold))
1122 #'fancy-splash-screens-1 1132 fancy-splash-stop-time (+ (float-time)
1123 splash-buffer)) 1133 (max 60 fancy-splash-max-time))
1124 (recursive-edit)) 1134 timer (run-with-timer 0 fancy-splash-delay
1125 (cancel-timer timer) 1135 #'fancy-splash-screens-1
1126 (setq display-busy-cursor old-busy-cursor) 1136 splash-buffer))
1127 (kill-buffer splash-buffer)))) 1137 (recursive-edit))
1138 (cancel-timer timer)
1139 (setq display-busy-cursor old-busy-cursor)
1140 (kill-buffer splash-buffer)))))
1128 1141
1129 1142
1130(defun startup-echo-area-message () 1143(defun startup-echo-area-message ()