unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org>
To: Yuan Fu <casouri@gmail.com>, emacs-devel <emacs-devel@gnu.org>
Subject: Re: Interactive guide for new users
Date: Sat, 12 Sep 2020 09:31:06 +0000	[thread overview]
Message-ID: <alpine.NEB.2.22.394.2009120917260453.23267@sdf.lonestar.org> (raw)
In-Reply-To: <CADwFkm=GQqZ2e07QuC582T-MNhi1Xo4OPsMTYbQHH9gD7h6QnA@mail.gmail.com>


Based on the feedback received so far, I reworked the proposal a bit. 
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).  It should be short (take 
no more than three minutes to go through), and give the user (1) a way to 
set some defaults according to their preferences, and (2) a short 
introduction to the most important elements of Emacs.

The rationale behind this proposal is the discussion that started with 
Ergus' mail a week ago.  It is hard to synthetize what has been said, but 
it seems to me that it boils down to two incompatible viewpoints: (1) 
those who have been using Emacs for years do not want to change the 
default settings too much, and (2) new Emacs users, who already know and 
use other text editors (Visual Studio, Atom, ...), are puzzled with its 
interface and find that it does not look "modern" enough.  IOW, the only 
purpose of this proposal is to do something to avoid the initial feeling 
some users have that Emacs is an old thing that they will have difficulty 
to adapt to their needs.

The initial greeting would have eight screens, which I detail here because 
some on this list prefer not to view videos on Youtube:

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.

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.  [It would be 
nice to have a way to select a default font here, but I don't know if that 
feasible.]

SCREEN 3: Basic keybindings.  It introduces the "C-" and "M-" notations, 
and the user can select between the default keybindings and cua-mode (with 
some additional keybindings).  This "enhanced cua-mode" would have: C-c = 
copy, C-v = paste, C-x = cut, C-f = search, C-s = save, C-o = open file, 
C-z = undo, C-y = redo.  If the user selects the cua-mode bindings, he 
gets a message: "We encourage to reconsider this choice after some time, 
because the alternative keybindings conflict with many parts of Emacs and 
make the experience worse in the long run."

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):

1. display-line-numbers-mode
2. disable tool-bar-mode
3. disable scroll-bar-mode
4. column-number-mode
5. (setq cursor-type 'bar)
6. hl-line-mode
7. show-paren-mode
8. which-key-mode
9. column-number-mode
10. save-place-mode and desktop-save-mode
11. (setq uniquify-buffer-name-style 'forward uniquify-min-dir-content 1024)
12. tab-line-mode
13. (global-set-key (kbd "C-b") 'ibuffer) [if cua-mode has been chosen]
14. icomplete-mode (or fido-mode?)
15. (setq scroll-conservatively 101)
16. display-time-mode
17. (setq tool-bar-style 'image)

SCREEN 5: Short explanations about what the user sees: the minibuffer 
(where commands are entered and error messages appear), the mode-line 
(with the current editing modes between parentheses, the first one is the 
major mode), with a mention that the user can have a description of these 
modes and of their keybindings by typing "C-h m".

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.  Note on terminology: in the 
documentation two words might be confusing, "frame" is what is generally 
known as "window", and "window" is a portion of a frame when it is 
splitted in two or more parts.  [Also explain what a "buffer"?]

SCREEN 7: Elementary keybindings: explain what "C-x 1" and "C-g" do. 
Give a few examples to give the new user a sense of what using 
C-<something> and M-<something> is:

1. "M-f and M-b" (which have the same effect as M-<left> and M-<right>)
2. "C-a and C-e" (which have the same effect as <home> and <end>)
3. "M-%" and "C-M-%"

SCREEN 8: Thank you. Your choices have been saved in Emacs' configuration 
file ~/.emacs.d/init.el (or ~/.emacs ?).  You can use M-x customize at any 
time to set additional configuration options.  You can use M-x 
initial-greeting at any time to go through this configuration again.



  parent reply	other threads:[~2020-09-12  9:31 UTC|newest]

Thread overview: 174+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-08 18:48 Gather a list of confusions beginner tend to have Göktuğ Kayaalp
2020-09-08 19:30 ` Yuan Fu
2020-09-08 21:30   ` Praharsh Suryadevara
2020-09-09  3:51     ` Richard Stallman
2020-09-09 14:18       ` Eli Zaretskii
2020-09-09 14:24         ` Göktuğ Kayaalp
2020-09-09 15:07           ` Stefan Kangas
2020-09-09 16:09             ` Göktuğ Kayaalp
2020-09-09 16:23               ` Praharsh Suryadevara
2020-09-09 16:06           ` Praharsh Suryadevara
2020-09-11  4:13             ` Richard Stallman
2020-09-11  4:13         ` Richard Stallman
2020-09-11  4:41           ` Praharsh Suryadevara
2020-09-09  7:57     ` tomas
2020-09-10  2:40       ` Richard Stallman
2020-09-10  3:32         ` Eli Zaretskii
2020-09-10  8:29           ` tomas
2020-09-10  9:08             ` Gregory Heytings via Emacs development discussions.
2020-09-10  9:34               ` Eli Zaretskii
2020-09-10 10:08                 ` tomas
2020-09-10  9:30             ` Eli Zaretskii
2020-09-10 10:11               ` tomas
2020-09-11  4:18           ` Richard Stallman
2020-09-11  7:06             ` Eli Zaretskii
2020-09-11 13:47               ` Stefan Monnier
2020-09-12  3:22               ` Richard Stallman
2020-09-12  3:46                 ` Emanuel Berg via Emacs development discussions.
2020-09-10  8:28         ` tomas
2020-09-09 14:01   ` Eli Zaretskii
2020-09-10 23:20     ` Yuan Fu
2020-09-11  0:20       ` Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Stefan Kangas
2020-09-11  8:15         ` Gregory Heytings via Emacs development discussions.
2020-09-11  9:47           ` Interactive guide for new users Phil Sainty
2020-09-11 14:04           ` Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Yuan Fu
2020-09-11 14:38             ` Gregory Heytings via Emacs development discussions.
2020-09-11 14:49               ` Eli Zaretskii
2020-09-11 15:20                 ` Gregory Heytings via Emacs development discussions.
2020-09-11 15:28                   ` Eli Zaretskii
2020-09-11 15:46                     ` Gregory Heytings via Emacs development discussions.
2020-09-11 15:51                       ` Eli Zaretskii
2020-09-11 16:00                         ` Gregory Heytings via Emacs development discussions.
2020-09-11 17:03                           ` Interactive guide for new users Robert Pluim
2020-09-11 17:23                             ` Emanuel Berg via Emacs development discussions.
2020-09-11 17:36                               ` Robert Pluim
2020-09-11 17:39                                 ` Emanuel Berg via Emacs development discussions.
2020-09-11 18:43                           ` Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Eli Zaretskii
2020-09-11 19:48                             ` Ergus
2020-09-12  6:02                               ` Eli Zaretskii
2020-09-12  9:33                                 ` Ergus
2020-09-13 12:13                                   ` Interactive guide for new users Philip K.
2020-09-11 18:59                           ` FW: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Drew Adams
2020-09-11 17:47                       ` Göktuğ Kayaalp
2020-09-11 17:53                         ` Emanuel Berg via Emacs development discussions.
2020-09-11 18:04                         ` Praharsh Suryadevara
2020-09-12 11:16                         ` Interactive guide for new users Lars Ingebrigtsen
2020-09-12 14:26                           ` Göktuğ Kayaalp
2020-09-12 14:55                             ` Gregory Heytings via Emacs development discussions.
2020-09-12 15:10                               ` Göktuğ Kayaalp
2020-09-12 15:18                                 ` Gregory Heytings via Emacs development discussions.
2020-09-13 18:12               ` Juri Linkov
2020-09-11 14:02         ` Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Yuan Fu
2020-09-12  9:31         ` Gregory Heytings via Emacs development discussions. [this message]
2020-09-12  9:55           ` Interactive guide for new users Eli Zaretskii
2020-09-12 10:35             ` Gregory Heytings via Emacs development discussions.
2020-09-12 10:52               ` Ergus
2020-09-12 10:58               ` Eli Zaretskii
2020-09-12 11:34                 ` Dmitry Gutov
2020-09-12 12:00                 ` Gregory Heytings via Emacs development discussions.
2020-09-12 12:21                   ` Eli Zaretskii
2020-09-12 13:56                     ` Gregory Heytings via Emacs development discussions.
2020-09-12 14:07                       ` Eli Zaretskii
2020-09-12 12:54                   ` Ergus
2020-09-12 12:16                 ` Ergus
2020-09-12 12:34                   ` Eli Zaretskii
2020-09-12 13:18                     ` Ergus
2020-09-12 13:43                       ` Eli Zaretskii
2020-09-12 14:17                         ` Ergus
2020-09-12 14:36                           ` Eli Zaretskii
2020-09-12 14:55                             ` Ergus
2020-09-12 16:25                             ` Ergus
2020-09-12 17:17                               ` Eli Zaretskii
2020-09-12 17:21                                 ` Yuan Fu
2020-09-12 17:39                                   ` Eli Zaretskii
2020-09-12 18:36                                   ` Gregory Heytings via Emacs development discussions.
2020-09-12 20:05                                     ` Ergus
2020-09-13  0:01                         ` Dmitry Gutov
2020-09-13  2:35                           ` Ergus
2020-09-13 17:56                             ` Dmitry Gutov
2020-09-13 22:10                               ` Gregory Heytings via Emacs development discussions.
2020-09-14 11:20                                 ` Thibaut Verron
2020-09-14 23:42                                   ` E
2020-09-15  7:40                                     ` Ergus
2020-09-15 23:40                                       ` E
2020-09-15 12:10                                   ` Stephen Leake
2020-09-15 12:22                                     ` Thibaut Verron
2020-09-15 23:33                                     ` E
2020-09-13 18:01                             ` Dmitry Gutov
2020-09-13 18:20                             ` Tim Van den Langenbergh
2020-09-13 21:10                               ` Ergus
2020-09-13  7:14                           ` Gregory Heytings via Emacs development discussions.
2020-09-13 14:04                           ` Eli Zaretskii
2020-09-13 16:38                             ` John Yates
2020-09-13 16:51                               ` Eli Zaretskii
2020-09-13 17:39                               ` Dmitry Gutov
2020-09-14 12:41                                 ` John Yates
2020-09-14 15:28                                   ` Eli Zaretskii
2020-09-15  1:42                                     ` John Yates
2020-09-15  7:00                                       ` Göktuğ Kayaalp
2020-09-16  3:30                                         ` John Yates
2020-09-16 10:14                                           ` Göktuğ Kayaalp
2020-09-15 14:15                                       ` Eli Zaretskii
2020-09-14 22:28                                   ` Dmitry Gutov
2020-09-13 17:47                             ` Dmitry Gutov
2020-09-14 14:17                             ` Gregory Heytings via Emacs development discussions.
2020-09-26  9:16               ` Elias Mårtenson
2020-09-26  9:31                 ` Eli Zaretskii
2020-09-26 14:38                 ` Drew Adams
2020-09-26 15:13                   ` Eli Zaretskii
2020-09-26 16:33                     ` Drew Adams
2020-09-26 16:39                   ` Andreas Schwab
2020-09-26 16:57                     ` Drew Adams
2020-09-26 16:01                 ` Jean Louis
2020-09-12 11:02             ` Göktuğ Kayaalp
2020-09-12 12:12               ` Gregory Heytings via Emacs development discussions.
2020-09-14 10:52               ` Robert Pluim
2020-09-19 15:20         ` Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Eduardo Mercovich
2020-09-19 17:02           ` Drew Adams
2020-09-21 14:50             ` Eduardo Mercovich
2020-09-21 16:07               ` Drew Adams
2020-09-21 21:40                 ` Eduardo Mercovich
2020-09-21 23:03                   ` Drew Adams
2020-09-22  3:40                 ` Richard Stallman
2020-09-22  9:06                   ` Interactive guide for new users Philip K.
2020-09-23  3:40                     ` Richard Stallman
2020-09-23 12:49                       ` Philip K.
2020-09-24  1:32                         ` Richard Stallman
2020-09-26  3:13                           ` Okam
2020-09-22 14:06                   ` Stefan Monnier
2020-09-28  9:24                   ` Po Lu
2020-09-29  3:29                     ` Richard Stallman
2020-09-19 17:16           ` Philip K.
2020-09-19 17:25             ` Eli Zaretskii
2020-09-19 18:09               ` Eduardo Mercovich
2020-09-19 18:39                 ` Eli Zaretskii
2020-09-19 21:43                   ` Eduardo Mercovich
2020-09-20  5:52                     ` Eli Zaretskii
2020-09-21 22:15                       ` Eduardo Mercovich
2020-09-22 13:56                         ` Eli Zaretskii
2020-09-23 12:54                           ` Eduardo Mercovich
2020-09-23 13:28                             ` Caio Henrique
2020-09-23 13:42                               ` Eduardo Mercovich
2020-09-23 14:16                             ` Stefan Kangas
2020-09-23 14:58                             ` Eli Zaretskii
2020-09-23 23:14                               ` Yuan Fu
2020-09-30 13:20                                 ` Eduardo Mercovich
2020-09-30 14:11                                   ` Eli Zaretskii
2020-09-19 17:53             ` Eduardo Mercovich
2020-09-20  9:26               ` Philip K.
2020-09-21 21:48                 ` Eduardo Mercovich
2020-09-11  6:45       ` Gather a list of confusions beginner tend to have Eli Zaretskii
2020-09-11  8:51         ` Dmitry Gutov
2020-09-11  8:59           ` Emanuel Berg via Emacs development discussions.
2020-09-11 13:52         ` Yuan Fu
2020-09-11 14:01           ` Eli Zaretskii
2020-09-11 14:27           ` Stefan Monnier
2020-09-09  2:01 ` Nick Savage
2020-09-09 14:48   ` Göktuğ Kayaalp
2020-09-10  2:36 ` Richard Stallman
2020-09-10 10:07   ` Göktuğ Kayaalp
2020-09-10 17:28     ` Drew Adams
2020-09-10 21:17       ` Göktuğ Kayaalp
     [not found] <<875z8ortot.fsf@gkayaalp.com>
     [not found] ` <<D09D40C2-FF5C-4D1B-A030-C710297C1AE0@gmail.com>
     [not found]   ` <<83lfhjkq0r.fsf@gnu.org>
     [not found]     ` <<8620B5CD-CA92-46BF-80A8-DBE7052F4CA6@gmail.com>
     [not found]       ` <<CADwFkm=GQqZ2e07QuC582T-MNhi1Xo4OPsMTYbQHH9gD7h6QnA@mail.gmail.com>
     [not found]         ` <<alpine.NEB.2.22.394.2009120917260453.23267@sdf.lonestar.org>
     [not found]           ` <<83d02re2uk.fsf@gnu.org>
2020-09-12 16:25             ` Interactive guide for new users Drew Adams
2020-09-13  4:34               ` Ihor Radchenko
  -- strict thread matches above, loose matches on Subject: below --
2020-09-29 11:11 Itai Efrat

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.NEB.2.22.394.2009120917260453.23267@sdf.lonestar.org \
    --to=emacs-devel@gnu.org \
    --cc=casouri@gmail.com \
    --cc=ghe@sdf.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).