emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Interactive guide for new users


From: Gregory Heytings
Subject: Re: Interactive guide for new users
Date: Sat, 12 Sep 2020 10:35:06 +0000
User-agent: Alpine 2.22 (NEB 394 2020-01-19)


Hi Eli,

Thanks for your feedback.  Some comments below.


The idea is to create an "initial greeting" that would be bundled with Emacs, and would be executed the first time the first time Emacs is launched (instead of the initial splash screen).

What is the definition of "the first time"? where will we keep the indication that this is/isn't "the first time"? Also, will this affect "emacs -Q" or "emacs -q"?


What I had in mind is something like "if -Q is not present and -q is not present and .emacs does not exist and ~/.emacs.d does not exit".


SCREEN 1: Welcome! It seems that this is the first time you run Emacs, would you like to customize its interface and have a short introduction? This will not take you more than three minutes.

I presume this will have a button "Not now" and "Don't show this again" or somesuch?


Yes. Clicking on either of these buttons would show the splash screen. "Not now" would not do anything, so the initial greeting would be executed again the next time Emacs is started. And "Don't show this again" would create an empty ~/.emacs / ~/.emacs.d/init.el, so the initial greeting would not be executed again.


SCREEN 2: "Set the color theme", with a clickable list containing the (currently) 16 built-in themes. A short code snippet above that list illustrates how code is displayed with each of these themes.

The snippet will only be able to show the buffer text appearance. For other UI elements you will need an image. Would using an image be better here?


What do you mean by "other UI elements"?


[It would be nice to have a way to select a default font here, but I don't know if that feasible.]

I don't think I understand what you mean by that. Selection of the default font _is_ possible, we have in the Options menu.


Yes, but what I meant is to have a list of font names in the buffer, and choosing a font by clicking on the font name.


SCREEN 4: Choose whether to set some common options that new users might want (because they are common in other text editors). These are (the order could be improved, and items could be added or removed):

We should carefully construct the list of the options, they shouldn't just be someone's personal preferences.


Yes, of course.  That's one of the the purposes of my email.


2. disable tool-bar-mode
3. disable scroll-bar-mode

I'd object to these two. We have just established that the former is important for newbies. Scroll bars are presented by many applications, so why is it important to offer to turn them off here? let the users decide about these two.


It's just an option. In the video by Yuan Fu ( https://youtu.be/0qMskTAR2aw ) you'll see that this screen is a list of checkboxes that the user can tick.


6. hl-line-mode

Why is this important? do other IDEs have it by default?


Yes.  Perhaps not all of them, but it's a very common thing.


8. which-key-mode

I disagree with this one, certainly in its current form.


Okay.


10. save-place-mode and desktop-save-mode

desktop-save-mode slows down startup, so it might not be suitable for users who start Emacs many times a day.


Again it's just an option, but again it's someting that users might want to enable because it's a behavior that is common in text editors.


11. (setq uniquify-buffer-name-style 'forward uniquify-min-dir-content 1024)

Why? what's wrong with the defaults here?


This has been discussed earlier in another thread, but the current defaults (uniquify-buffer-name-style set to post-forward-angle-brackets) is puzzling to most users, to say the least. A complete file name is what most users would expect here.


14. icomplete-mode (or fido-mode?)

Not sure this is a good idea, these modes present complex and potentially confusing UI.


Users expect to see completion mechanisms in a modern editor. Enabling completion in programming modes would be a too complex task for such an initial greeting, but with this the user would become aware that completion mechanisms exist in Emacs.

I use icomplete-mode myself, and don't understand what you mean by "complex and potentially confusing UI".


16. display-time-mode

Why? Any modern desktop has the time displayed somewhere, so this just occupies space on the mode line.


Again it's just an option. One benefit of adding this in the list is that a user who would try it would see that the mode-line can be customized.


SCREEN 6: How to find help. Short explanation about C-h C-h, C-h m, C-h p, C-h k / C-h w / C-h a, C-h l.

This misses important help commands, we should consider the list carefully with newbies in mind. IMO, the various apropos commands are much more important for them than other help commands.


Well, C-h C-h gives the complete list, and C-h a starts apropos.

BTW, on a second thought I would add a mention of "C-h e" in screen 5 (when the minibuffer is introduced), and repeat it in screen 6.


SCREEN 8: Thank you. Your choices have been saved in Emacs' configuration file ~/.emacs.d/init.el (or ~/.emacs ?).

What do we do here wrt XDG preferences?


This I don't know.


You can use M-x initial-greeting at any time to go through this configuration again.

That command should be on the Help menu. And I think the name should be 'introduction-to-emacs' or somesuch.


Okay, that's fine for me.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]