On Sat, Jan 18, 2020 at 10:41 AM Stefan Kangas <address@hidden
Stefan Kangas <address@hidden> writes:
> I agree that this should be changed. I expect a splash screen to be
> shown only when I run a command without specifying any particular
> file. IME, this is what most other software does, and I see no reason
> why Emacs should be different.
Catching up on emacs-devel, there is a thread on this particular
issue... where Stefan Monnier points to the "Dismiss this startup
screen" button. That button quits the window and customizes
inhibit-startup-window to t. This code seems to have been introduced
in 2007 by Chong Yidong (commit 22a58255).
Of course, I have never seen that button over the years. I find that
your brain learns to filter out splash screens completely after a
while, which incidentally makes displaying them more often
I wonder if the reason neither you or nor I had seen this button is that Emacs doesn't usually show it to us. I'm looking at 1843 of ~startup.el~. I think the button to quickly disable splash only displays when concise is t as per:
1813: (fancy-startup-screen &optional concise)
Whereas within fancy-startup-tail we do this:
1771: (when concise
:face 'variable-pitch "\n"
:link `("Dismiss this startup screen"
(customize-set-variable 'inhibit-startup-screen t)
(let ((w (get-buffer-window "*GNU Emacs*")))
(and w (not (one-window-p)) (delete-window w)))
(kill-buffer "*GNU Emacs*")))
Meanwhile, this is called from `command-line-1' which starts around line 2233.
It creates CONCISE based on the number of open buffers when called, e.g. 0 (zero) --so not-concise-- when starting Emacs. So no button for `inhibit-startup-screen' unless we open the spash screen "manually" one way or another.
Maybe just always show the "inhibit splash" button? Maybe this logic to display or not this button should be inverted? Is it more likely I want to disable splash when I'm looking a fresh emacs or because I've called for the spash explicitly (maybe just to get at this button)?
So, I don't think this changes my previous argument, but it does make
any need to change it less pressing.
I can also add that I've been using Emacs for 10+ years and found (setq inhibit-splash-screen t) for my init pleasure only a few months ago. So I'm all good now ;)