From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: Interactive guide for new users Date: Sat, 12 Sep 2020 10:35:06 +0000 Message-ID: References: <875z8ortot.fsf@gkayaalp.com> <83lfhjkq0r.fsf@gnu.org> <8620B5CD-CA92-46BF-80A8-DBE7052F4CA6@gmail.com> <83d02re2uk.fsf@gnu.org> Reply-To: Gregory Heytings Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36835"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Alpine 2.22 (NEB 394 2020-01-19) Cc: casouri@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Sep 12 12:35:50 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kH2sn-0009TA-Os for ged-emacs-devel@m.gmane-mx.org; Sat, 12 Sep 2020 12:35:49 +0200 Original-Received: from localhost ([::1]:43928 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kH2sm-00058S-Q0 for ged-emacs-devel@m.gmane-mx.org; Sat, 12 Sep 2020 06:35:48 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42590) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kH2sH-0004dx-Lu for emacs-devel@gnu.org; Sat, 12 Sep 2020 06:35:17 -0400 Original-Received: from mx.sdf.org ([205.166.94.24]:65437) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kH2sE-0000uH-Pf; Sat, 12 Sep 2020 06:35:17 -0400 Original-Received: from sdf.org (IDENT:ghe@faeroes.freeshell.org [205.166.94.9]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08CAZ9xU014192 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Sat, 12 Sep 2020 10:35:09 GMT Original-Received: (from ghe@localhost) by sdf.org (8.15.2/8.12.8/Submit) id 08CAZLjw015081; Sat, 12 Sep 2020 10:35:21 GMT In-Reply-To: <83d02re2uk.fsf@gnu.org> Received-SPF: pass client-ip=205.166.94.24; envelope-from=ghe@sdf.org; helo=mx.sdf.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/12 05:31:13 X-ACL-Warn: Detected OS = ??? X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:255292 Archived-At: 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.