* Gather a list of confusions beginner tend to have @ 2020-09-08 18:48 Göktuğ Kayaalp 2020-09-08 19:30 ` Yuan Fu ` (2 more replies) 0 siblings, 3 replies; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-08 18:48 UTC (permalink / raw) To: emacs-devel > I think everybody would agree on attracting more people to use > Emacs—that means more blogs and help, more contributor, etc. And > people agree that Emacs isn’t as beginner-friendly as it could be. The > problem is what to improve, and how. Not necessarily. Personally, I don’t see much benefit in trying to appeal users that have no background in coding whatsoever, and users who wouldn’t really benefit from what Emacs has to offer. > As the first step, we should collect real experiences from real > beginners: someone starts to use Emacs just recently (e.g., less than > one year). The major problem is that someone who fiddled with Emacs now and couldn’t make use of it may think differently when a couple years later they have some knowledge of programming (not necessarily professionally) and some experience with other tools. Anecdotally, I’ve picked up and quit Emacs multiple times before I decided to stay with it. And it’s been more than 6 years now that I’m using it for the good part of my computing. What was puzzling and weird to me back then is useful and essential to me now. What I mean is, what is good for newcomers, who are not guaranteed to stay, can be irrelevant, not so good, or even off-putting to actual users of this package of software. Emacs is a power tool, and like all power tools, requires two preconditions to be useful: 1) the user should *need* the tool, and 2) the user should be willing to put in the time to learn the tool. And a good power tool is designed with user who need and use them the most in mind. IDK. IMHO, we shouldn’t break stuff in Emacs itself, and maybe promote distros for people that want a more "modern" experience instead. They don’t have the backwards compatibility baggage of Emacs so they will do it better than Emacs core nevertheless. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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 14:01 ` Eli Zaretskii 2020-09-09 2:01 ` Nick Savage 2020-09-10 2:36 ` Richard Stallman 2 siblings, 2 replies; 173+ messages in thread From: Yuan Fu @ 2020-09-08 19:30 UTC (permalink / raw) To: Göktuğ Kayaalp; +Cc: emacs-devel > On Sep 8, 2020, at 2:48 PM, Göktuğ Kayaalp <self@gkayaalp.com> wrote: > > >> I think everybody would agree on attracting more people to use >> Emacs—that means more blogs and help, more contributor, etc. And >> people agree that Emacs isn’t as beginner-friendly as it could be. The >> problem is what to improve, and how. > > Not necessarily. Personally, I don’t see much benefit in trying to > appeal users that have no background in coding whatsoever, and users who > wouldn’t really benefit from what Emacs has to offer. > >> As the first step, we should collect real experiences from real >> beginners: someone starts to use Emacs just recently (e.g., less than >> one year). > > The major problem is that someone who fiddled with Emacs now and > couldn’t make use of it may think differently when a couple years later > they have some knowledge of programming (not necessarily professionally) > and some experience with other tools. > > Anecdotally, I’ve picked up and quit Emacs multiple times before I > decided to stay with it. And it’s been more than 6 years now that I’m > using it for the good part of my computing. What was puzzling and weird > to me back then is useful and essential to me now. > > What I mean is, what is good for newcomers, who are not guaranteed to > stay, can be irrelevant, not so good, or even off-putting to actual > users of this package of software. Emacs is a power tool, and like all > power tools, requires two preconditions to be useful: 1) the user should > *need* the tool, and 2) the user should be willing to put in the time to > learn the tool. And a good power tool is designed with user who need > and use them the most in mind. > > IDK. IMHO, we shouldn’t break stuff in Emacs itself, and maybe promote > distros for people that want a more "modern" experience instead. They > don’t have the backwards compatibility baggage of Emacs so they will do > it better than Emacs core nevertheless. > > -- > İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> > pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 > I generally agree with your point. However, what I have in mind is not changing defaults, but rather a configuration wizard, that can prompt user and let him select from Emacs binding vs CUA binding, Emacs undo vs simple undo/redo, themes, etc. I’ve seen such wizard in Intellj Idea, Spacemacs, etc. Something like (just an example): ---------------------------------------------------------------------- Set UI themes: <some C code> - [ ] default - [ ] dark - [ ] ... ---------------------------------------------------------------------- Keybinding notation: C (control) Ctrl M (meta) Alt/Option s (super) Windows/Command S (shift) Shift Set keybinding style for copy/paste: [ ] default M-w Copy C-y Paste C-w Cut [ ] alternative C-c Copy C-v Paste C-x Cut [Next] [Skip] ---------------------------------------------------------------------- [ ] Enable line numbers [ ] Use thin cursor [ ] Disable tool bar [ ] Disable scroll bar [Next] [Skip] ---------------------------------------------------------------------- Emacs has a powerful (but possibly unintuitive) undo system, where undo operations themselves are recorded in the undo history, and redo is done by undoing an previous undo operation. Set undo style: [ ] default C-/ Undo [ ] linear C-/ Undo C-? Redo [ ] alternative C-z Undo C-S-z Redo [Next] [Skip] ---------------------------------------------------------------------- Additional packages: [ ] Company Popup completion. <gif> [ ] Ivy Completion for opening files, executing commands, etc. <gif> [ ] Expand-region Incrementally expand selection. <gif> [ ] Which-key Shows possible keybindings. <gif> [Finish] You can re-run this guide by M-x beginner-guide RET Yuan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-08 19:30 ` Yuan Fu @ 2020-09-08 21:30 ` Praharsh Suryadevara 2020-09-09 3:51 ` Richard Stallman 2020-09-09 7:57 ` tomas 2020-09-09 14:01 ` Eli Zaretskii 1 sibling, 2 replies; 173+ messages in thread From: Praharsh Suryadevara @ 2020-09-08 21:30 UTC (permalink / raw) To: Yuan Fu; +Cc: Göktuğ Kayaalp, emacs-devel [-- Attachment #1: Type: text/plain, Size: 5913 bytes --] Hello, I've been an emacs user for ~3 years. While I'm now used to the defaults, I do remember in some detail, the pain it took me to get used to the keybindings in vanilla emacs . I think the sore points other than the undo/redo, were C-f not being bound to find, (though that would need remapping forward-char), C-o not being bound open file. I do think it might make sense to poll on reddit. and again to clarify _(I don't think any of these ideas would break backward compatibility, but instead only add options to increase familiarity with vanilla emacs for new users)_ @yuan I was following the threads earlier and I checked the idea of a profile was suggested https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg02032.html, I think a starter wizard could go well with this as a base for keymaps at least if you're thinking about implementing it (?). The other thing I was thinking was maybe you could write directly to init.el with use-package with comments in an understandable manner following the discussion about custom here https://lists.gnu.org/archive/html/emacs-devel/2020-09/msg00306.html. I think this would teach and encourage users to tweak their configurations which I think would be a win-win. I would be willing to contribute some time to this. Thanks, Praharsh On Tue, Sep 8, 2020 at 2:31 PM Yuan Fu <casouri@gmail.com> wrote: > > > > On Sep 8, 2020, at 2:48 PM, Göktuğ Kayaalp <self@gkayaalp.com> wrote: > > > > > >> I think everybody would agree on attracting more people to use > >> Emacs—that means more blogs and help, more contributor, etc. And > >> people agree that Emacs isn’t as beginner-friendly as it could be. The > >> problem is what to improve, and how. > > > > Not necessarily. Personally, I don’t see much benefit in trying to > > appeal users that have no background in coding whatsoever, and users who > > wouldn’t really benefit from what Emacs has to offer. > > > >> As the first step, we should collect real experiences from real > >> beginners: someone starts to use Emacs just recently (e.g., less than > >> one year). > > > > The major problem is that someone who fiddled with Emacs now and > > couldn’t make use of it may think differently when a couple years later > > they have some knowledge of programming (not necessarily professionally) > > and some experience with other tools. > > > > Anecdotally, I’ve picked up and quit Emacs multiple times before I > > decided to stay with it. And it’s been more than 6 years now that I’m > > using it for the good part of my computing. What was puzzling and weird > > to me back then is useful and essential to me now. > > > > What I mean is, what is good for newcomers, who are not guaranteed to > > stay, can be irrelevant, not so good, or even off-putting to actual > > users of this package of software. Emacs is a power tool, and like all > > power tools, requires two preconditions to be useful: 1) the user should > > *need* the tool, and 2) the user should be willing to put in the time to > > learn the tool. And a good power tool is designed with user who need > > and use them the most in mind. > > > > IDK. IMHO, we shouldn’t break stuff in Emacs itself, and maybe promote > > distros for people that want a more "modern" experience instead. They > > don’t have the backwards compatibility baggage of Emacs so they will do > > it better than Emacs core nevertheless. > > > > -- > > İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> > > pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 > > > > I generally agree with your point. However, what I have in mind is not > changing defaults, but rather a configuration wizard, that can prompt user > and let him select from Emacs binding vs CUA binding, Emacs undo vs simple > undo/redo, themes, etc. I’ve seen such wizard in Intellj Idea, Spacemacs, > etc. Something like (just an example): > > > ---------------------------------------------------------------------- > > Set UI themes: > > <some C code> > > - [ ] default > - [ ] dark > - [ ] ... > > ---------------------------------------------------------------------- > > Keybinding notation: > > C (control) Ctrl > M (meta) Alt/Option > s (super) Windows/Command > S (shift) Shift > > Set keybinding style for copy/paste: > > [ ] default > > M-w Copy > C-y Paste > C-w Cut > > [ ] alternative > > C-c Copy > C-v Paste > C-x Cut > > > [Next] [Skip] > > ---------------------------------------------------------------------- > > [ ] Enable line numbers > > [ ] Use thin cursor > > [ ] Disable tool bar > > [ ] Disable scroll bar > > > [Next] [Skip] > > ---------------------------------------------------------------------- > > Emacs has a powerful (but possibly unintuitive) undo system, where > undo operations themselves are recorded in the undo history, and redo > is done by undoing an previous undo operation. > > Set undo style: > > [ ] default > > C-/ Undo > > [ ] linear > > C-/ Undo > C-? Redo > > [ ] alternative > > C-z Undo > C-S-z Redo > > > [Next] [Skip] > > ---------------------------------------------------------------------- > > Additional packages: > > [ ] Company > > Popup completion. > <gif> > > > [ ] Ivy > > Completion for opening files, executing commands, etc. > <gif> > > > [ ] Expand-region > > Incrementally expand selection. > <gif> > > > [ ] Which-key > > Shows possible keybindings. > <gif> > > > [Finish] You can re-run this guide by M-x beginner-guide RET > > > Yuan > > > > [-- Attachment #2: Type: text/html, Size: 7417 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-08 21:30 ` Praharsh Suryadevara @ 2020-09-09 3:51 ` Richard Stallman 2020-09-09 14:18 ` Eli Zaretskii 2020-09-09 7:57 ` tomas 1 sibling, 1 reply; 173+ messages in thread From: Richard Stallman @ 2020-09-09 3:51 UTC (permalink / raw) To: Praharsh Suryadevara; +Cc: self, casouri, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I think the sore points other than the undo/redo, were C-f not being bound > to find, (though that would need remapping forward-char), C-o not being > bound open file. Thanks for telling us; that information may be useful. Your experience was what it was, and cannot be denied. It is not an option to change these basic key bindings to imitate other, newer editors. It would create a different editor that we Emacs users would never switch to. It is unfortunate that the people who implemented the newer editors chose incompatibility with Emacs. But I have an idea for how to teach beginners those keys. Suppose that C-f ran a command that displayed this: Want to move forward? Type C-f again. Search is C-s. After that, successive C-f's would move forward as usual. The idea is you'd be given that binding by default as a beginner, and you'd turn it off once you had learned C-f and C-s. C-o could do something similar, saying Want to open a line? Type C-o again. Find File is C-x C-f. Would you have found that helpful? > @yuan I was following the threads earlier and I checked the idea of a > profile was suggested > https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg02032.html, I > think a starter wizard could go well with this as a base for keymaps at > least if you're thinking about implementing it (?). I know in general what the word "profile" means, but what is your concrete suggestion? Also, what concretely would a "starter wizard" do? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-09 3:51 ` Richard Stallman @ 2020-09-09 14:18 ` Eli Zaretskii 2020-09-09 14:24 ` Göktuğ Kayaalp 2020-09-11 4:13 ` Richard Stallman 0 siblings, 2 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-09 14:18 UTC (permalink / raw) To: rms; +Cc: self, casouri, praharsharmm, emacs-devel > From: Richard Stallman <rms@gnu.org> > Date: Tue, 08 Sep 2020 23:51:30 -0400 > Cc: self@gkayaalp.com, casouri@gmail.com, emacs-devel@gnu.org > > But I have an idea for how to teach beginners those keys. > > Suppose that C-f ran a command that displayed this: > > Want to move forward? Type C-f again. Search is C-s. > > After that, successive C-f's would move forward as usual. > > The idea is you'd be given that binding by default as a beginner, > and you'd turn it off once you had learned C-f and C-s. > > C-o could do something similar, saying > > Want to open a line? Type C-o again. Find File is C-x C-f. > > Would you have found that helpful? The reason we didn't put these on the splash screen is because we have a menu bar, where everyone can find these popular commands without the need to read any instructions. Who will not know nowadays that to open a file, one need to click on "File" and look in the menu that drops down from that? What we put on the splash screen is stuff that is harder to come by, and/or that is more important to have in the user's face. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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:06 ` Praharsh Suryadevara 2020-09-11 4:13 ` Richard Stallman 1 sibling, 2 replies; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-09 14:24 UTC (permalink / raw) To: Eli Zaretskii; +Cc: self, casouri, praharsharmm, rms, emacs-devel On 2020-09-09 17:18 +03, Eli Zaretskii <eliz@gnu.org> wrote: > The reason we didn't put these on the splash screen is because we have > a menu bar, where everyone can find these popular commands without the > need to read any instructions. Who will not know nowadays that to > open a file, one need to click on "File" and look in the menu that > drops down from that? It looks like some of the starter kits / distributions are disabling menu and toolbars. We might ask them that they at least don’t disable menu-bar-mode by default if that’s the case. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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:06 ` Praharsh Suryadevara 1 sibling, 1 reply; 173+ messages in thread From: Stefan Kangas @ 2020-09-09 15:07 UTC (permalink / raw) To: Göktuğ Kayaalp, Eli Zaretskii Cc: casouri, praharsharmm, rms, emacs-devel Göktuğ Kayaalp <self@gkayaalp.com> writes: > It looks like some of the starter kits / distributions are disabling > menu and toolbars. > > We might ask them that they at least don’t disable menu-bar-mode by > default if that’s the case. Yes, this is a good idea. It would be very useful if someone could report this as a bug to the top five or ten most used distributions/starter kits that do this. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-09 15:07 ` Stefan Kangas @ 2020-09-09 16:09 ` Göktuğ Kayaalp 2020-09-09 16:23 ` Praharsh Suryadevara 0 siblings, 1 reply; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-09 16:09 UTC (permalink / raw) To: emacs-devel Cc: Göktuğ Kayaalp, Eli Zaretskii, praharsharmm, casouri, rms On 2020-09-09 18:07 +03, Stefan Kangas <stefankangas@gmail.com> wrote: > Yes, this is a good idea. > > It would be very useful if someone could report this as a bug to the top > five or ten most used distributions/starter kits that do this. If there’s consensus that this is something we should do I’d volunteer for identifying the projects and opening the issues. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-09 16:09 ` Göktuğ Kayaalp @ 2020-09-09 16:23 ` Praharsh Suryadevara 0 siblings, 0 replies; 173+ messages in thread From: Praharsh Suryadevara @ 2020-09-09 16:23 UTC (permalink / raw) To: Göktuğ Kayaalp; +Cc: Eli Zaretskii, Yuan Fu, rms, emacs-devel [-- Attachment #1: Type: text/plain, Size: 619 bytes --] I agree On Wed, Sep 9, 2020 at 11:09 AM Göktuğ Kayaalp <self@gkayaalp.com> wrote: > On 2020-09-09 18:07 +03, Stefan Kangas <stefankangas@gmail.com> wrote: > > Yes, this is a good idea. > > > > It would be very useful if someone could report this as a bug to the top > > five or ten most used distributions/starter kits that do this. > > If there’s consensus that this is something we should do I’d volunteer > for identifying the projects and opening the issues. > > -- > İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> > pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 > [-- Attachment #2: Type: text/html, Size: 1090 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-09 14:24 ` Göktuğ Kayaalp 2020-09-09 15:07 ` Stefan Kangas @ 2020-09-09 16:06 ` Praharsh Suryadevara 2020-09-11 4:13 ` Richard Stallman 1 sibling, 1 reply; 173+ messages in thread From: Praharsh Suryadevara @ 2020-09-09 16:06 UTC (permalink / raw) To: Göktuğ Kayaalp; +Cc: Eli Zaretskii, Yuan Fu, rms, emacs-devel [-- Attachment #1: Type: text/plain, Size: 2818 bytes --] I think that could be one reason why. A friend set me up with a starter kit later. Before that, I made a few attempts at vanilla emacs and gave up and I did not realize CUA mode existed until yesterday. I understand it'd be much more helpful if I remembered the details, but it's been a while and I'm used to and very happy with the emacs defaults now. A more useful method would be to put a friend/colleague who's never used emacs in front of vanilla emacs and observe them figure it out (I'm sure some of us may have put them in front of it already). The point I believe in is, *It possible to make emacs easier for new users to be able to start working in emacs from the beginning without sacrificing any functionality for old users* This need not come from changing the defaults, but rather from a startup wizard or a profile which *sets the bindings/preferences according to what the user wants.* This is useful *because a new user won't know enough e-lisp to make the editor do what he/she/they can work with.* As for startup wizards, I was talking about what Yuan was proposing ( https://en.wikipedia.org/wiki/Wizard_(software)), a series of dialog boxes that would introduce new users to emacs and give them a setup that they could work with. @tomas While I understand your point, I think there's a difference between switching from emacs to vim/ vice versa (I don't complain about vim keybindings after using emacs and I wouldn't expect people to complain vice versa) and a new user who's only used C-x and C-c for cut and paste for all their life being exposed to emacs (or vim). @Eli As for options for the configuration wizard, If I were to assume I was the audience being targeted when I started (an early 20s physics undergrad who wrote basic python and wanted a good LaTeX editor), I think I would be minimally happy with CUA mode with some basic AUCTeX setup. Maybe, some of the minimal options would be easy to flesh out? Thanks, Praharsh On Wed, Sep 9, 2020 at 9:24 AM Göktuğ Kayaalp <self@gkayaalp.com> wrote: > On 2020-09-09 17:18 +03, Eli Zaretskii <eliz@gnu.org> wrote: > > The reason we didn't put these on the splash screen is because we have > > a menu bar, where everyone can find these popular commands without the > > need to read any instructions. Who will not know nowadays that to > > open a file, one need to click on "File" and look in the menu that > > drops down from that? > > It looks like some of the starter kits / distributions are disabling > menu and toolbars. > > We might ask them that they at least don’t disable menu-bar-mode by > default if that’s the case. > > > -- > İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> > pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 > [-- Attachment #2: Type: text/html, Size: 3704 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-09 16:06 ` Praharsh Suryadevara @ 2020-09-11 4:13 ` Richard Stallman 0 siblings, 0 replies; 173+ messages in thread From: Richard Stallman @ 2020-09-11 4:13 UTC (permalink / raw) To: Praharsh Suryadevara; +Cc: self, eliz, casouri, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > The point I believe in is, *It possible to make emacs easier for new users > to be able to start working in emacs from the beginning without sacrificing > any functionality for old users* > This need not come from changing the defaults, but rather from a startup > wizard or a profile which *sets the bindings/preferences according to what > the user wants.* It sounds nice in principle. However, rebinding keys in Emacs is hard because the space of bindings is so populated. You have to delete the binding for some command. As a beginner you might think that is easy since there are so many keys you will never use -- but the commands you guessed you don't want might be keys you will later want to learn. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-09 14:18 ` Eli Zaretskii 2020-09-09 14:24 ` Göktuğ Kayaalp @ 2020-09-11 4:13 ` Richard Stallman 2020-09-11 4:41 ` Praharsh Suryadevara 1 sibling, 1 reply; 173+ messages in thread From: Richard Stallman @ 2020-09-11 4:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: self, casouri, praharsharmm, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > The reason we didn't put these on the splash screen is because we have > a menu bar, where everyone can find these popular commands without the > need to read any instructions. Who will not know nowadays that to > open a file, one need to click on "File" and look in the menu that > drops down from that? That argument seems quite persuasive, but it doesn't seem to apply to everyone. Someone (was it self@gkayaalp.com?) wrote about expecting O to visit a file; that is what I responded to. Whoever I responded to, if you are reading this,, could you tell us why the existence of the menu did not make it obvious how to visit a file? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-11 4:13 ` Richard Stallman @ 2020-09-11 4:41 ` Praharsh Suryadevara 0 siblings, 0 replies; 173+ messages in thread From: Praharsh Suryadevara @ 2020-09-11 4:41 UTC (permalink / raw) To: rms; +Cc: Göktuğ Kayaalp, Eli Zaretskii, Yuan Fu, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1316 bytes --] Because the starter kit a friend set me up with (graphene) after I couldn't use vanilla emacs removed it. self@gkayaalp.com addressed the issue. On Thu, Sep 10, 2020 at 11:13 PM Richard Stallman <rms@gnu.org> wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > The reason we didn't put these on the splash screen is because we have > > a menu bar, where everyone can find these popular commands without the > > need to read any instructions. Who will not know nowadays that to > > open a file, one need to click on "File" and look in the menu that > > drops down from that? > > That argument seems quite persuasive, but it doesn't seem to apply > to everyone. > > Someone (was it self@gkayaalp.com?) wrote about expecting O to visit a > file; that is what I responded to. Whoever I responded to, if you are > reading this,, could you tell us why the existence of the menu did not > make it obvious how to visit a file? > > -- > Dr Richard Stallman > Chief GNUisance of the GNU Project (https://gnu.org) > Founder, Free Software Foundation (https://fsf.org) > Internet Hall-of-Famer (https://internethalloffame.org) > > > [-- Attachment #2: Type: text/html, Size: 2040 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-08 21:30 ` Praharsh Suryadevara 2020-09-09 3:51 ` Richard Stallman @ 2020-09-09 7:57 ` tomas 2020-09-10 2:40 ` Richard Stallman 1 sibling, 1 reply; 173+ messages in thread From: tomas @ 2020-09-09 7:57 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1811 bytes --] On Tue, Sep 08, 2020 at 04:30:57PM -0500, Praharsh Suryadevara wrote: > Hello, > I've been an emacs user for ~3 years. While I'm now used to the defaults, I > do remember in some detail, the pain it took me to get used to the > keybindings in vanilla emacs . > > I think the sore points other than the undo/redo, were C-f not being bound > to find [...] But that's it, exactly. I moved to Emacs from vi (later elvis, vim). I /knew/ it was going to be painful, but I never complained `find' wasn't bound to '/'. It's difficult to draw the line between "make more user-friendly" and "do as I am accustomed to". The latter will end up following some trend which, compared to Emacs's longevity, will always be a fad. Witness: CUA. Most people think these days "CUA" means: "Copy" [1] is bound to "C-c", "Cut" [2] is bound to "C-x" and "Paste" [3] to "C-v". But according to IBM's "Common User Architecture" (aka "CUA" [4]), it's "C-Insert", "S-Del", and "S-Ins" respectively. But Apple's [5] infantilised version ("C-x" is the "scissors", etc.) somehow snuck in. Don't get me wrong -- I do recognise value in trying to harmonise user interfaces across applications. But consistency whithin one application and stability over time are also values to be taken into account. In the end, it will be a balance act, with one (or several, that's what distributions are for!) equilibrium points, which themselves vary over time. What Emacs can do is to provide a solid base and all the freedom of configurability. And Emacs does deliver on that. Cheers [1] called in Emacs "kill-ring-save" [2] called in Emacs "kill" [3] "yank", in Emacs [4] https://en.wikipedia.org/wiki/Common_User_Access [5] I guess they stole it from Smalltalk, as everything else, too. - t [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-09 7:57 ` tomas @ 2020-09-10 2:40 ` Richard Stallman 2020-09-10 3:32 ` Eli Zaretskii 2020-09-10 8:28 ` tomas 0 siblings, 2 replies; 173+ messages in thread From: Richard Stallman @ 2020-09-10 2:40 UTC (permalink / raw) To: tomas; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > But according to IBM's "Common User Architecture" (aka "CUA" [4]), > it's "C-Insert", "S-Del", and "S-Ins" respectively. We might want to implement these bindings. Then we can say ttat Emacs supports the CUA spec, with a reference to it. It may not please the real users ;-{, but it would refute the claims that we don't support CUA. We could explain that CUA stands for Cover Ur Ass. ;-! -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-10 2:40 ` Richard Stallman @ 2020-09-10 3:32 ` Eli Zaretskii 2020-09-10 8:29 ` tomas 2020-09-11 4:18 ` Richard Stallman 2020-09-10 8:28 ` tomas 1 sibling, 2 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-10 3:32 UTC (permalink / raw) To: rms; +Cc: tomas, emacs-devel > From: Richard Stallman <rms@gnu.org> > Date: Wed, 09 Sep 2020 22:40:39 -0400 > Cc: emacs-devel@gnu.org > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]), > > it's "C-Insert", "S-Del", and "S-Ins" respectively. > > We might want to implement these bindings. Actually, we already have these bindings by default. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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:30 ` Eli Zaretskii 2020-09-11 4:18 ` Richard Stallman 1 sibling, 2 replies; 173+ messages in thread From: tomas @ 2020-09-10 8:29 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rms, emacs-devel [-- Attachment #1: Type: text/plain, Size: 503 bytes --] On Thu, Sep 10, 2020 at 06:32:59AM +0300, Eli Zaretskii wrote: > > From: Richard Stallman <rms@gnu.org> > > Date: Wed, 09 Sep 2020 22:40:39 -0400 > > Cc: emacs-devel@gnu.org > > > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]), > > > it's "C-Insert", "S-Del", and "S-Ins" respectively. > > > > We might want to implement these bindings. > > Actually, we already have these bindings by default. Hm. The manual didn't tell me... should have it? Cheers - t [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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 9:30 ` Eli Zaretskii 1 sibling, 1 reply; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-10 9:08 UTC (permalink / raw) To: emacs-devel >>>> But according to IBM's "Common User Architecture" (aka "CUA" [4]), >>>> it's "C-Insert", "S-Del", and "S-Ins" respectively. >>> >>> We might want to implement these bindings. >> >> Actually, we already have these bindings by default. > > Hm. The manual didn't tell me... should have it? > With vanilla Emacs you have indeed (see C-h w): kill-ring-save is on <C-insertchar>, <C-insert>, M-w, <menu-bar> <edit> <copy> yank is on C-y, <S-insertchar>, <S-insert>, <menu-bar> <edit> <paste> kill-region is on C-w, <S-delete>, <menu-bar> <edit> <cut> So the CUA bindings are there. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-10 9:08 ` Gregory Heytings via Emacs development discussions. @ 2020-09-10 9:34 ` Eli Zaretskii 2020-09-10 10:08 ` tomas 0 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-10 9:34 UTC (permalink / raw) To: Gregory Heytings; +Cc: emacs-devel > Date: Thu, 10 Sep 2020 09:08:09 +0000 > From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org> > > With vanilla Emacs you have indeed (see C-h w): > > kill-ring-save is on <C-insertchar>, <C-insert>, M-w, <menu-bar> <edit> <copy> > yank is on C-y, <S-insertchar>, <S-insert>, <menu-bar> <edit> <paste> > kill-region is on C-w, <S-delete>, <menu-bar> <edit> <cut> > > So the CUA bindings are there. But not the "CUA bindings" that users out there expect, which is what we call "CUA mode". IOW, historical precedents and naming mistakes aside, many newcomers expect the likes of C-c, C-v, C-a, C-z, C-x to do what they do in other applications, and we only provide those when CUA Mode is turned on, we cannot possibly provide them by default. So the fact that IBM calls "CUA" something else is a tangent, not really relevant or important in this context. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-10 9:34 ` Eli Zaretskii @ 2020-09-10 10:08 ` tomas 0 siblings, 0 replies; 173+ messages in thread From: tomas @ 2020-09-10 10:08 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1345 bytes --] On Thu, Sep 10, 2020 at 12:34:14PM +0300, Eli Zaretskii wrote: > > Date: Thu, 10 Sep 2020 09:08:09 +0000 > > From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org> > > > > With vanilla Emacs you have indeed (see C-h w): > > > > kill-ring-save is on <C-insertchar>, <C-insert>, M-w, <menu-bar> <edit> <copy> > > yank is on C-y, <S-insertchar>, <S-insert>, <menu-bar> <edit> <paste> > > kill-region is on C-w, <S-delete>, <menu-bar> <edit> <cut> > > > > So the CUA bindings are there. > > But not the "CUA bindings" that users out there expect, which is what > we call "CUA mode". Definitely. I didn't intend to imply otherwise. Rather I wanted to remind people that "there is not a Right GUI", and that it changes over time depending on whoever dominates whatever market out there. The quintessence of my message is that there's a price to pay when following those changing conventions (after all, there are lots of Emacs users who use, e.g. C-c for something else!), and thus changing a default always will take discussion, patience, and perhaps accepting that the outcome isn't always what one wants. [...] > So the fact that IBM calls "CUA" something else is a tangent, not > really relevant or important in this context. I don't even think they care about it anymore ;-) > [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-10 8:29 ` tomas 2020-09-10 9:08 ` Gregory Heytings via Emacs development discussions. @ 2020-09-10 9:30 ` Eli Zaretskii 2020-09-10 10:11 ` tomas 1 sibling, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-10 9:30 UTC (permalink / raw) To: tomas; +Cc: rms, emacs-devel > Date: Thu, 10 Sep 2020 10:29:28 +0200 > From: tomas@tuxteam.de > Cc: rms@gnu.org, emacs-devel@gnu.org > > > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]), > > > > it's "C-Insert", "S-Del", and "S-Ins" respectively. > > > > > > We might want to implement these bindings. > > > > Actually, we already have these bindings by default. > > Hm. The manual didn't tell me... should have it? Which manual, and in what place in that manual? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-10 9:30 ` Eli Zaretskii @ 2020-09-10 10:11 ` tomas 0 siblings, 0 replies; 173+ messages in thread From: tomas @ 2020-09-10 10:11 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rms, emacs-devel [-- Attachment #1: Type: text/plain, Size: 948 bytes --] On Thu, Sep 10, 2020 at 12:30:51PM +0300, Eli Zaretskii wrote: > > Date: Thu, 10 Sep 2020 10:29:28 +0200 > > From: tomas@tuxteam.de > > Cc: rms@gnu.org, emacs-devel@gnu.org > > > > > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]), > > > > > it's "C-Insert", "S-Del", and "S-Ins" respectively. > > > > > > > > We might want to implement these bindings. > > > > > > Actually, we already have these bindings by default. > > > > Hm. The manual didn't tell me... should have it? > > Which manual, and in what place in that manual? The Emacs Manual, 12.6 "CUA Bindings", fairly recent: This is the ‘GNU Emacs Manual’, updated for Emacs version 28.0.50. Copyright © 1985–1987, 1993–2020 Free Software Foundation, Inc. But as stated elsewhere in the thread, it's perhaps not that important. Shift-INS and friends have at most historical value these days, I guess. Cheers - t [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-10 3:32 ` Eli Zaretskii 2020-09-10 8:29 ` tomas @ 2020-09-11 4:18 ` Richard Stallman 2020-09-11 7:06 ` Eli Zaretskii 1 sibling, 1 reply; 173+ messages in thread From: Richard Stallman @ 2020-09-11 4:18 UTC (permalink / raw) To: Eli Zaretskii; +Cc: tomas, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]), > > > it's "C-Insert", "S-Del", and "S-Ins" respectively. > > > > We might want to implement these bindings. > Actually, we already have these bindings by default. I tested them with C-h k, on a tty using its function keys, and they did not have those bindings. I am using master from June. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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 0 siblings, 2 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-11 7:06 UTC (permalink / raw) To: rms; +Cc: tomas, emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: tomas@tuxteam.de, emacs-devel@gnu.org > Date: Fri, 11 Sep 2020 00:18:52 -0400 > > > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]), > > > > it's "C-Insert", "S-Del", and "S-Ins" respectively. > > > > > > We might want to implement these bindings. > > > Actually, we already have these bindings by default. > > I tested them with C-h k, on a tty using its function keys, and they > did not have those bindings. I am using master from June. We have them on GUI frames. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-11 7:06 ` Eli Zaretskii @ 2020-09-11 13:47 ` Stefan Monnier 2020-09-12 3:22 ` Richard Stallman 1 sibling, 0 replies; 173+ messages in thread From: Stefan Monnier @ 2020-09-11 13:47 UTC (permalink / raw) To: Eli Zaretskii; +Cc: tomas, rms, emacs-devel >> > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]), >> > > > it's "C-Insert", "S-Del", and "S-Ins" respectively. >> > > We might want to implement these bindings. >> > Actually, we already have these bindings by default. >> I tested them with C-h k, on a tty using its function keys, and they >> did not have those bindings. I am using master from June. > We have them on GUI frames. I think we also have them in tty frames, but many/most terminals are not able to transmit those keys properly. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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. 1 sibling, 1 reply; 173+ messages in thread From: Richard Stallman @ 2020-09-12 3:22 UTC (permalink / raw) To: Eli Zaretskii; +Cc: tomas, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > I tested them with C-h k, on a tty using its function keys, and they > > did not have those bindings. I am using master from June. > We have them on GUI frames. Shouldn't those bindings be the same on tty frames? There seem to have no meaningful binding on tty frames now. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-12 3:22 ` Richard Stallman @ 2020-09-12 3:46 ` Emanuel Berg via Emacs development discussions. 0 siblings, 0 replies; 173+ messages in thread From: Emanuel Berg via Emacs development discussions. @ 2020-09-12 3:46 UTC (permalink / raw) To: emacs-devel Richard Stallman wrote: > Shouldn't those bindings be the same on tty frames? > There seem to have no meaningful binding on tty > frames now. In /etc/console-setup/remap.inc: # example: make F3 work in tty Emacs keycode 61 = U+1001 in an Elisp file: ;; example: make F3 work in tty Emacs (define-key input-decode-map [?\u1001] [func3]) (global-set-key [func3] (lambda () (interactive) (message "F3"))) See: https://dataswamp.org/~incal/conf/remap.inc https://dataswamp.org/~incal/emacs-init/console-keys.el https://dataswamp.org/~incal/tty-emacs-keys.txt -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-10 2:40 ` Richard Stallman 2020-09-10 3:32 ` Eli Zaretskii @ 2020-09-10 8:28 ` tomas 1 sibling, 0 replies; 173+ messages in thread From: tomas @ 2020-09-10 8:28 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 294 bytes --] On Wed, Sep 09, 2020 at 10:40:39PM -0400, Richard Stallman wrote: [...] > It may not please the real users ;-{, but it would refute the claims > that we don't support CUA. We could explain that CUA stands for > Cover Ur Ass. > ;-! :-) OTOH... who wants to do /that/ with IBM? Cheers - t [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-08 19:30 ` Yuan Fu 2020-09-08 21:30 ` Praharsh Suryadevara @ 2020-09-09 14:01 ` Eli Zaretskii 2020-09-10 23:20 ` Yuan Fu 1 sibling, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-09 14:01 UTC (permalink / raw) To: Yuan Fu; +Cc: self, emacs-devel > From: Yuan Fu <casouri@gmail.com> > Date: Tue, 8 Sep 2020 15:30:56 -0400 > Cc: emacs-devel@gnu.org > > I generally agree with your point. However, what I have in mind is not changing defaults, but rather a configuration wizard, that can prompt user and let him select from Emacs binding vs CUA binding, Emacs undo vs simple undo/redo, themes, etc. I’ve seen such wizard in Intellj Idea, Spacemacs, etc. Something like (just an example): > > > ---------------------------------------------------------------------- > > Set UI themes: > > <some C code> > > - [ ] default > - [ ] dark > - [ ] ... > > ---------------------------------------------------------------------- > > Keybinding notation: > > C (control) Ctrl > M (meta) Alt/Option > s (super) Windows/Command > S (shift) Shift I don't think this scales. Emacs has thousands of options, I'm guessing hundreds of them are important for the audience you have in mind. You will get a huge set of many options that people with "TL;DR" state of mind will never be able to review, let alone decide what is for them. The grouping of the options must be based on some "themes" or similar, to be useful. The challenge is, of course, to come up with a useful list of such "themes", and then decide which options should each theme enable. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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 6:45 ` Gather a list of confusions beginner tend to have Eli Zaretskii 0 siblings, 2 replies; 173+ messages in thread From: Yuan Fu @ 2020-09-10 23:20 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Göktuğ Kayaalp, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1308 bytes --] > > I don't think this scales. Emacs has thousands of options, I'm > guessing hundreds of them are important for the audience you have in > mind. You will get a huge set of many options that people with > "TL;DR" state of mind will never be able to review, let alone decide > what is for them. I think there are a few configurations that a beginner would want to change right after he starts Emacs, usually very basic settings. If you think it’s a good idea, I can go to reddit and ask what people missed when then started using Emacs for the first few minutes. FWIW, here is a demo of the guide: https://youtu.be/0qMskTAR2aw The demo inserts some configurations into ~/.emacs.d/init.el after completion. > > The grouping of the options must be based on some "themes" or similar, > to be useful. The challenge is, of course, to come up with a useful > list of such "themes", and then decide which options should each theme > enable. Others has described the out-of-the-box experience of doom Emacs, it seems to me that such job is better done by a “distribution” of Emacs than by vanilla Emacs. OTHO, vanilla Emacs could add a tiny guide like I proposed to more or less improve the life for those who started Emacs without reading any tutorial on the internet. Yuan [-- Attachment #2: beginner-guide.el --] [-- Type: application/octet-stream, Size: 11363 bytes --] ;;; beginner-guide.el --- Beginner guide for Emacs -*- lexical-binding: t; -*- ;; Author: Yuan Fu <casouri@gmail.com> ;;; This file is NOT part of GNU Emacs ;;; Commentary: ;; ;;; Code: ;; (require 'widget) (eval-when-compile (require 'wid-edit)) (defvar beginner-guide--config-intro ";; Below is the configuration generated by the beginner guide:\n" "First line of the beginner guide configuration in init.el.") (defvar beginner-guide--config-outro ";; The configuration generated by the beginner guide ends here.\n" "Last line of the beginner guide configuration in init.el.") (defun beginner-guide--write-config (form-list) "Create ~/.emacs.d/init.el and write FORM-LIST into it." (mkdir "~/.emacs.d" 'no-error) (let ((init-file (expand-file-name "init.el" user-emacs-directory))) (with-current-buffer (find-file-noselect init-file t) (goto-char (point-min)) (when (search-forward beginner-guide--config-intro nil t) (let ((beg (match-beginning 0))) (when (search-forward beginner-guide--config-outro nil t) (delete-region beg (point)) (save-buffer)))) (goto-char (point-max)) (insert "\n" beginner-guide--config-intro) (dolist (form form-list) (prin1 form (current-buffer)) (insert "\n")) (insert beginner-guide--config-outro) (save-buffer)))) (defvar beginner-guide--config nil "An alist of configurations that the user set in each page.") (defsubst beginner-guide--save-option (option value) "Save OPTION’s VALUE in ‘beginner-guide--config’." (setf (alist-get option beginner-guide--config) value)) ;;; Pages ;;;; Theme (defvar beginner-guide--c-demo "int add (int x, int y) { return x + y; } int main(int arg, int* argv) { int x = 1; int y = 2; return add(x, y) - 3; } " "Demo C code.") (defun beginner-guide--theme-page () "Theme configuration page." (let ((inhibit-read-only t)) (erase-buffer)) (remove-overlays) (widget-insert "Set UI theme:\n\n") ;; Insert a C demo. (widget-insert (with-temp-buffer (insert beginner-guide--c-demo) (c-mode) (font-lock-fontify-region (point-min) (point-max)) (buffer-string))) (widget-insert "\n") ;; Insert theme selection menu. (apply #'widget-create 'radio-button-choice :follow-link t :value "default" ;; Enable the theme when the user selects it. :notify (lambda (widget &rest _) (mapc #'disable-theme custom-enabled-themes) (let ((theme (intern (widget-value widget)))) ;; Load theme. (unless (eq theme 'default) (load-theme theme)) ;; Set config. (beginner-guide--save-option 'theme theme))) (cons '(item "default") (cl-loop for theme in (custom-available-themes) collect `(item ,(symbol-name theme))))) (use-local-map widget-keymap) (widget-setup)) ;;;; Keybinding (defun beginner-guide--keybinding-page () "Keybinding page." (widget-insert "Keybinding notation: C (control) Ctrl M (meta) Alt/Option s (super) Windows/Command S (shift) Shift Set keybinding style for copy/paste: We encourage you to learn the default binding, because the alternative binding conflicts with many parts of Emacs and make the experience worse in the long run.\n\n") (widget-create 'radio-button-choice :follow-link t :value "default" :notify (lambda (widget &rest _) (beginner-guide--save-option 'keybinding (widget-value widget))) '(item :value "default" :format "%v\n\n%d\n" :doc " M-w Copy C-y Paste C-w Cut C-s Search C-x C-s Save") '(item :value "alternative" :format "%v\n\n%d\n" :doc " C-c Copy C-v Paste C-x Cut C-f Search C-s Save"))) ;;;; UI features (defun beginner-guide--ui-features-page () "UI features page." (widget-insert "Set some UI options:\n\n") (widget-create 'checkbox :notify (lambda (widget &rest _) (let ((val (widget-value widget))) (global-display-line-numbers-mode (if val 1 -1)) (beginner-guide--save-option 'line-number val))) :value nil) (widget-insert " Enable line numbers.\n") (widget-create 'checkbox :notify (lambda (widget &rest _) (let ((val (widget-value widget))) (setq-default cursor-type (if val 'bar t)) (beginner-guide--save-option 'thin-cursor val))) :value nil) (widget-insert " Use thin cursor bar.\n") (widget-create 'checkbox :notify (lambda (widget &rest _) (let ((val (widget-value widget))) (tool-bar-mode (if val -1 1)) (beginner-guide--save-option 'disable-tool-bar val))) :value nil) (widget-insert " Disable tool bar.\n") (widget-create 'checkbox :notify (lambda (widget &rest _) (let ((val (widget-value widget))) (scroll-bar-mode (if val -1 1)) (beginner-guide--save-option 'disable-scroll-bar val))) :value nil) (widget-insert " Disable scroll bar.\n")) ;;;; Undo (defun beginner-guide--undo-page () "Undo page." (widget-insert "Emacs has a powerful (but possibly unintuitive) undo system, where undo operations themselves are recorded in the undo history, and redo is done by undoing an previous undo operation. Set undo style:\n\n") (widget-create 'radio-button-choice :value "default" :follow-lint t :notify (lambda (widget &rest _) (beginner-guide--save-option 'undo-style (widget-value widget))) '(item :value "default" :format "%v\n\n%d\n" :doc " C-/ Undo") '(item :value "linear" :format "%v\n\n%d\n" :doc " C-/ Undo C-? Redo") '(item :value "alternative" :format "linear with alternative binding\n\n%d" :doc " C-z Undo C-S-z Redo"))) ;;;; Guide (defun beginner-guide--with-boilerplate (setup-fn &optional page-list finish-fn) "Call page setup function, SETUP-FN, with Customize boilerplate. PAGE-LIST is a list of setup function for pages to show in a series. FINISH-FN is called when user clicks the finish button." (let ((inhibit-read-only t)) (erase-buffer)) (remove-overlays) (funcall setup-fn) (widget-insert "\n\n") (beginner-guide--insert-step-buttons setup-fn page-list finish-fn) (use-local-map widget-keymap) (widget-setup) (goto-char (point-min))) (defun beginner-guide--insert-step-buttons (page page-list finish-fn) "Insert buttons that go to previous and next page of PAGE. PAGE-LIST is a list of setup function for pages to show in a series. Insert a Button that calls FINISH-FN at the last page." (let* ((idx (seq-position page-list page)) (previous-page (if (eq idx 0) nil (nth (1- idx) page-list))) (next-page (nth (1+ idx) page-list))) (widget-insert (format "%s/%s " (1+ idx) (length page-list))) (when previous-page (widget-create 'push-button :notify (lambda (&rest _) (beginner-guide--with-boilerplate previous-page page-list finish-fn)) :value "Back")) (widget-insert " ") (if next-page (widget-create 'push-button :notify (lambda (&rest _) (beginner-guide--with-boilerplate next-page page-list finish-fn)) :value "Next") (widget-create 'push-button :notify (lambda (&rest _) (funcall finish-fn)) :value "Finish")) (widget-insert "\n"))) (defun beginner-guide--generate-config (config-alist) "Generate configuration code from CONFIG-ALIST." (cl-loop for option in '(theme keybinding line-number thin-cursor disable-tool-bar scroll-bar undo-style) append (let ((value (alist-get option config-alist))) (pcase (list option value) (`(theme ,theme) (unless (eq theme 'default)) `((load-theme ',theme))) ('(keybinding "alternative") '((global-set-key (kbd "C-c") #'kill-ring-save) (global-set-key (kbd "C-v") #'yank) (global-set-key (kbd "C-x") #'kill-region) (global-set-key (kbd "C-f") #'isearch-forward) (global-set-key (kbd "C-s") #'save-buffer))) ('(line-number t) '((global-display-line-numbers-mode))) ('(thin-cursor t) '((setq-default cursor-type 'bar))) ('(disable-tool-bar t) '((tool-bar-mode -1))) ('(disable-scroll-bar t) '((scroll-bar-mode -1))) ('(undo-style "linear") '((global-set-key (kbd "C-/") #'undo-only) (global-set-key (kbd "C-?") #'undo-redo))) ('(undo-style "alternative") '((global-set-key (kbd "C-z") #'undo-only) (global-set-key (kbd "C-S-z") #'undo-redo))) )))) (defun beginner-guide () "Run the beginner guide." (interactive) (switch-to-buffer (get-buffer-create "*beginner guide*")) (setq beginner-guide--config nil) (let ((page-list '(beginner-guide--theme-page beginner-guide--keybinding-page beginner-guide--ui-features-page beginner-guide--undo-page))) (beginner-guide--with-boilerplate (car page-list) page-list (lambda () (kill-buffer) (with-temp-file "~/tmp/init.el" (let ((form-list (beginner-guide--generate-config beginner-guide--config))) (mapc #'eval form-list) (beginner-guide--write-config form-list))))))) (provide 'beginner-guide) ;;; beginner-guide.el ends here [-- Attachment #3: Type: text/plain, Size: 2 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 2020-09-10 23:20 ` Yuan Fu @ 2020-09-11 0:20 ` Stefan Kangas 2020-09-11 8:15 ` Gregory Heytings via Emacs development discussions. ` (3 more replies) 2020-09-11 6:45 ` Gather a list of confusions beginner tend to have Eli Zaretskii 1 sibling, 4 replies; 173+ messages in thread From: Stefan Kangas @ 2020-09-11 0:20 UTC (permalink / raw) To: Yuan Fu, Eli Zaretskii; +Cc: Göktuğ Kayaalp, eduardo, emacs-devel Yuan Fu <casouri@gmail.com> writes: > I think there are a few configurations that a beginner would want to > change right after he starts Emacs, usually very basic settings. If > you think it’s a good idea, I can go to reddit and ask what people > missed when then started using Emacs for the first few minutes. > > FWIW, here is a demo of the guide: https://youtu.be/0qMskTAR2aw > > The demo inserts some configurations into ~/.emacs.d/init.el after completion. Such a beginners guide (wizard) is an excellent idea. And it is great that you actually have code. Let's see what others think, but I will optimistically add my comments below. To my mind, your draft has about the right amount of complexity and options, but we should consider carefully what to include. I propose to consider if any of these are suitable for inclusion: - scroll-conservatively, visible-bell - desktop-save-mode, savehist-mode, save-place-mode, midnight-mode, uniquify - auto-image-file-mode, display-time-mode, show-paren-mode - (f)ido-mode, company-mode It's a slippery slope, but if done carefully one could perhaps add just a few more things without weighing it down too much. Taking out the toggle to disable the menu bar and tool bar would save some space. > Others has described the out-of-the-box experience of doom Emacs, it > seems to me that such job is better done by a “distribution” of Emacs > than by vanilla Emacs. OTHO, vanilla Emacs could add a tiny guide like > I proposed to more or less improve the life for those who started > Emacs without reading any tutorial on the internet. The idea of profiles/custom themes is orthogonal to the guide you are proposing, IMO. You could set a profile and then tweak the options it gives you. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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:02 ` Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Yuan Fu ` (2 subsequent siblings) 3 siblings, 2 replies; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-11 8:15 UTC (permalink / raw) To: Yuan Fu Cc: Stefan Kangas, Eli Zaretskii, Göktuğ Kayaalp, eduardo, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1841 bytes --] > >> I think there are a few configurations that a beginner would want to >> change right after he starts Emacs, usually very basic settings. If you >> think it’s a good idea, I can go to reddit and ask what people missed >> when then started using Emacs for the first few minutes. >> >> FWIW, here is a demo of the guide: https://youtu.be/0qMskTAR2aw >> >> The demo inserts some configurations into ~/.emacs.d/init.el after >> completion. > > Such a beginners guide (wizard) is an excellent idea. And it is great > that you actually have code. Let's see what others think, but I will > optimistically add my comments below. > It's great indeed, and not very far from what I had in mind. In screen 1, it would be great (but I don't know if it is possible) to allow the user to select a font (among a short set). In screen 2, I would add evil-mode in the options. I would add the "C-o = find-file" binding to "cua-mode". I don't think "s (super)" is useful. And I would not write "We encourage you to learn the default binding, because...", but "We encourage you to reconsider this choice after some time, because...". In screen 3, I would add hl-line, show-paren-mode, which-key, column-number-mode, save-place-mode + desktop-save-mode (both with a single choice). I would also add an option to have "(setq uniquify-buffer-name-style 'forward) (setq uniquify-min-dir-content 1024)". And an option to bind C-x C-b (and another shorter but less useful binding, say C-b) to ibuffer. I would move screen 4 after screen 2. And I still think that a short "guided tour" would be useful at the end: what/where is the minibuffer and what is its purpose, what does the mode-line contain, how to find help (here I would list C-h m, C-h p, C-h k / C-h w / C-h a, C-h l, C-h ?), ... ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-11 8:15 ` Gregory Heytings via Emacs development discussions. @ 2020-09-11 9:47 ` 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 1 sibling, 0 replies; 173+ messages in thread From: Phil Sainty @ 2020-09-11 9:47 UTC (permalink / raw) To: Gregory Heytings Cc: Yuan Fu, emacs-devel, eduardo, Stefan Kangas, Göktuğ Kayaalp, Eli Zaretskii On 2020-09-11 20:15, Gregory Heytings via "Emacs development discussions." wrote: > In screen 2, I would add evil-mode in the options. Viper, perhaps? Evil is not contributed to Emacs nor is it in GNU ELPA (and with GitHub claiming 100 contributors, I expect that this is how it's going to remain). ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 ` Yuan Fu 2020-09-11 14:38 ` Gregory Heytings via Emacs development discussions. 1 sibling, 1 reply; 173+ messages in thread From: Yuan Fu @ 2020-09-11 14:04 UTC (permalink / raw) To: Gregory Heytings Cc: Göktuğ Kayaalp, Eli Zaretskii, eduardo, Stefan Kangas, emacs-devel > On Sep 11, 2020, at 4:15 AM, Gregory Heytings <ghe@sdf.org> wrote: > > >> >>> I think there are a few configurations that a beginner would want to change right after he starts Emacs, usually very basic settings. If you think it’s a good idea, I can go to reddit and ask what people missed when then started using Emacs for the first few minutes. >>> >>> FWIW, here is a demo of the guide: https://youtu.be/0qMskTAR2aw >>> >>> The demo inserts some configurations into ~/.emacs.d/init.el after completion. >> >> Such a beginners guide (wizard) is an excellent idea. And it is great that you actually have code. Let's see what others think, but I will optimistically add my comments below. >> > > It's great indeed, and not very far from what I had in mind. > > In screen 1, it would be great (but I don't know if it is possible) to allow the user to select a font (among a short set). > > In screen 2, I would add evil-mode in the options. I would add the "C-o = find-file" binding to "cua-mode". I don't think "s (super)" is useful. And I would not write "We encourage you to learn the default binding, because...", but "We encourage you to reconsider this choice after some time, because...". > > In screen 3, I would add hl-line, show-paren-mode, which-key, column-number-mode, save-place-mode + desktop-save-mode (both with a single choice). I would also add an option to have "(setq uniquify-buffer-name-style 'forward) (setq uniquify-min-dir-content 1024)". And an option to bind C-x C-b (and another shorter but less useful binding, say C-b) to ibuffer. > > I would move screen 4 after screen 2. > > And I still think that a short "guided tour" would be useful at the end: what/where is the minibuffer and what is its purpose, what does the mode-line contain, how to find help (here I would list C-h m, C-h p, C-h k / C-h w / C-h a, C-h l, C-h ?), … I agree, the current tutorial is a bit verbose (not that I didn’t read it when I started using Emacs, but…). A shorter tutorial introducing the most important bindings and operations would be helpful (I imagine). Yuan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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-13 18:12 ` Juri Linkov 0 siblings, 2 replies; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-11 14:38 UTC (permalink / raw) To: Yuan Fu; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1150 bytes --] > >> And I still think that a short "guided tour" would be useful at the >> end: what/where is the minibuffer and what is its purpose, what does >> the mode-line contain, how to find help (here I would list C-h m, C-h >> p, C-h k / C-h w / C-h a, C-h l, C-h ?), … > > I agree, the current tutorial is a bit verbose (not that I didn’t read > it when I started using Emacs, but…). A shorter tutorial introducing the > most important bindings and operations would be helpful (I imagine). > It should not just be "shorter", it should be *really* short. I've just read it again, for a new user it is almost useless. I think the following two keybindings would suffice: "C-x 1" and "C-g". And perhaps the four following ones to give the new user a sense of what using C-<something> and M-<something> is: "M-f and M-b", "C-a and C-e". Note that these four keybindings are also on M-left and M-right and home and end, which is what a new user would use (and it would work). I would perhaps also add "M-%", which is very useful and not documented in the tutorial. All this could be done in two screens I think. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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-13 18:12 ` Juri Linkov 1 sibling, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-11 14:49 UTC (permalink / raw) To: Gregory Heytings; +Cc: casouri, emacs-devel > Date: Fri, 11 Sep 2020 14:38:22 +0000 > cc: emacs-devel <emacs-devel@gnu.org> > From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org> > > It should not just be "shorter", it should be *really* short. I've just > read it again, for a new user it is almost useless. I think the following > two keybindings would suffice: "C-x 1" and "C-g". And perhaps the four > following ones to give the new user a sense of what using C-<something> > and M-<something> is: "M-f and M-b", "C-a and C-e". Note that these four > keybindings are also on M-left and M-right and home and end, which is what > a new user would use (and it would work). > > I would perhaps also add "M-%", which is very useful and not documented in > the tutorial. But the tutorial is not just about keybindings. It explains a lot of other turf, mainly the important concepts: buffer, window, mode line, etc. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 0 siblings, 1 reply; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-11 15:20 UTC (permalink / raw) To: Eli Zaretskii; +Cc: casouri, emacs-devel >> It should not just be "shorter", it should be *really* short. I've >> just read it again, for a new user it is almost useless. I think the >> following two keybindings would suffice: "C-x 1" and "C-g". And >> perhaps the four following ones to give the new user a sense of what >> using C-<something> and M-<something> is: "M-f and M-b", "C-a and C-e". >> Note that these four keybindings are also on M-left and M-right and >> home and end, which is what a new user would use (and it would work). >> >> I would perhaps also add "M-%", which is very useful and not documented >> in the tutorial. > > But the tutorial is not just about keybindings. It explains a lot of > other turf, mainly the important concepts: buffer, window, mode line, > etc. > A new user does not need to understand those subtleties. He already has an intuitive notion of what a buffer and a window are, which suffices to start using Emacs. It is enough to tell him that the mode-line contains the name of the major mode followed by minor modes, and that he can have a description of those modes and their bindings by pressing "C-h m". BTW, there is another option that I would add in screen 3: tab-line-mode. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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. 0 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-11 15:28 UTC (permalink / raw) To: Gregory Heytings; +Cc: casouri, emacs-devel > Date: Fri, 11 Sep 2020 15:20:18 +0000 > From: Gregory Heytings <ghe@sdf.org> > cc: casouri@gmail.com, emacs-devel@gnu.org > > > But the tutorial is not just about keybindings. It explains a lot of > > other turf, mainly the important concepts: buffer, window, mode line, > > etc. > > > > A new user does not need to understand those subtleties. I wouldn't call these basics "subtleties". They are the most fundamental terminology in Emacs. > He already has an intuitive notion of what a buffer and a window > are, which suffices to start using Emacs. He does? Where from? Windows mean something else in the other apps, and buffers are not available in most of them. > BTW, there is another option that I would add in screen 3: tab-line-mode. Is the tab-line really such an important feature? If so, why isn't it turned on by default? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 17:47 ` Göktuğ Kayaalp 0 siblings, 2 replies; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-11 15:46 UTC (permalink / raw) To: Eli Zaretskii; +Cc: casouri, emacs-devel >>> But the tutorial is not just about keybindings. It explains a lot of >>> other turf, mainly the important concepts: buffer, window, mode line, >>> etc. >> >> A new user does not need to understand those subtleties. > > I wouldn't call these basics "subtleties". They are the most > fundamental terminology in Emacs. > They are indeed, I'm not denying this. My point of view here is: what are the most essential things that a user needs to know to use Emacs if we have no more than three minutes? Clearly (at least to me) it is possible to use Emacs without knowing what a "buffer" or a "window" is. > >> He already has an intuitive notion of what a buffer and a window are, >> which suffices to start using Emacs. > > He does? Where from? Windows mean something else in the other apps, > and buffers are not available in most of them. > Indeed "window" mean something else for other apps, but why is this important for a new user who just wants to edit files? There are other apps in which the screen is splitted in different areas, so he would not be surprised when this happens. And "buffers" are of course available in many apps, in most office suites (and text editors) you can just create a file with "new" and it's "something that does not correspond to a file (yet)". > >> BTW, there is another option that I would add in screen 3: >> tab-line-mode. > > Is the tab-line really such an important feature? If so, why isn't it > turned on by default? > I'm not saying that tab-line is an important feature. It's not an important feature for you or me, but it's common in many apps (web browsers, text editors) to have a tab-line on which one can click to navigate between "buffers". ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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:47 ` Göktuğ Kayaalp 1 sibling, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-11 15:51 UTC (permalink / raw) To: Gregory Heytings; +Cc: casouri, emacs-devel > Date: Fri, 11 Sep 2020 15:46:14 +0000 > From: Gregory Heytings <ghe@sdf.org> > cc: casouri@gmail.com, emacs-devel@gnu.org > > > I wouldn't call these basics "subtleties". They are the most > > fundamental terminology in Emacs. > > They are indeed, I'm not denying this. My point of view here is: what are > the most essential things that a user needs to know to use Emacs if we > have no more than three minutes? Clearly (at least to me) it is possible > to use Emacs without knowing what a "buffer" or a "window" is. How would they even understand the doc strings without knowing what's a buffer and what's a window? We have the Glossary section in the manual, for that very reason. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 ` (2 more replies) 0 siblings, 3 replies; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-11 16:00 UTC (permalink / raw) To: Eli Zaretskii; +Cc: casouri, emacs-devel >>> I wouldn't call these basics "subtleties". They are the most >>> fundamental terminology in Emacs. >> >> They are indeed, I'm not denying this. My point of view here is: what >> are the most essential things that a user needs to know to use Emacs if >> we have no more than three minutes? Clearly (at least to me) it is >> possible to use Emacs without knowing what a "buffer" or a "window" is. > > How would they even understand the doc strings without knowing what's a > buffer and what's a window? We have the Glossary section in the manual, > for that very reason. > Again my point of view is: what are the most essential things that a user needs to know to use Emacs if we have no more than three minutes? The point is to create a minimal configuration wizard / guided tour to introduce them to the most essential things and help them to create a minimal configuration with which they would feel "at home", instead of having the "this is weird" feeling. You mention "doc strings", but why on earth would a user who just started using Emacs read doc strings? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-11 16:00 ` Gregory Heytings via Emacs development discussions. @ 2020-09-11 17:03 ` Robert Pluim 2020-09-11 17:23 ` 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 18:59 ` FW: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Drew Adams 2 siblings, 1 reply; 173+ messages in thread From: Robert Pluim @ 2020-09-11 17:03 UTC (permalink / raw) To: emacs-devel; +Cc: Gregory Heytings, Eli Zaretskii, casouri >>>>> On Fri, 11 Sep 2020 16:00:41 +0000, Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org> said: Emacs> You mention "doc strings", but why on earth would a user who just Emacs> started using Emacs read doc strings? How are we to get them to grow as Emacs users if they donʼt learn how to learn about Emacs? There are far too many posts on reddit/stackexchange etc which are easily solved by just reading the bundled manuals/docstrings. Robert ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 0 siblings, 1 reply; 173+ messages in thread From: Emanuel Berg via Emacs development discussions. @ 2020-09-11 17:23 UTC (permalink / raw) To: emacs-devel Robert Pluim wrote: > How are we to get them to grow as Emacs users if > they don't learn how to learn about Emacs? > There are far too many posts on > reddit/stackexchange etc which are easily solved by > just reading the bundled manuals/docstrings. The more Emacs posts on Reddit/SX the better. That and they are part of us as much as gmane.emacs.devel . -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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. 0 siblings, 1 reply; 173+ messages in thread From: Robert Pluim @ 2020-09-11 17:36 UTC (permalink / raw) To: emacs-devel >>>>> On Fri, 11 Sep 2020 19:23:35 +0200, Emanuel Berg via "Emacs development discussions." <emacs-devel@gnu.org> said: Emacs> Robert Pluim wrote: >> How are we to get them to grow as Emacs users if >> they don't learn how to learn about Emacs? >> There are far too many posts on >> reddit/stackexchange etc which are easily solved by >> just reading the bundled manuals/docstrings. Emacs> The more Emacs posts on Reddit/SX the better. Emacs> That and they are part of us as much as Emacs> gmane.emacs.devel . The more *useful* posts on those the better. Stuff that can be answered easily by the OP if they know where to look wastes everyone's time. Robert ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-11 17:36 ` Robert Pluim @ 2020-09-11 17:39 ` Emanuel Berg via Emacs development discussions. 0 siblings, 0 replies; 173+ messages in thread From: Emanuel Berg via Emacs development discussions. @ 2020-09-11 17:39 UTC (permalink / raw) To: emacs-devel Robert Pluim wrote: > The more *useful* posts on those the better. > Stuff that can be answered easily by the OP if they > know where to look wastes everyone's time. No. -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 18:43 ` Eli Zaretskii 2020-09-11 19:48 ` Ergus 2020-09-11 18:59 ` FW: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Drew Adams 2 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-11 18:43 UTC (permalink / raw) To: Gregory Heytings; +Cc: casouri, emacs-devel > Date: Fri, 11 Sep 2020 16:00:41 +0000 > From: Gregory Heytings <ghe@sdf.org> > cc: casouri@gmail.com, emacs-devel@gnu.org > > > How would they even understand the doc strings without knowing what's a > > buffer and what's a window? We have the Glossary section in the manual, > > for that very reason. > > Again my point of view is: what are the most essential things that a user > needs to know to use Emacs if we have no more than three minutes? The > point is to create a minimal configuration wizard / guided tour to > introduce them to the most essential things and help them to create a > minimal configuration with which they would feel "at home", instead of > having the "this is weird" feeling. That is a very different goal from that of our tutorial (or any good tutorial, IMO). A tutorial should present the important workings of the tool it describes, which includes all the basic operations and ideas. A user who has no more than 3 minutes can just start typing and use the menus for the rest. I believe Emacs supports all the features such a user can expect: cursor motion with arrows and PageUp/PageDown, text insertion and deletion, saving via the menus, etc. But if you think such "3-minute users" need a document to get them started, by all means, write such a document. It is not what the tutorial attempts to do, though. > You mention "doc strings", but why on earth would a user who just started > using Emacs read doc strings? To learn more about Emacs, of course. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 0 siblings, 1 reply; 173+ messages in thread From: Ergus @ 2020-09-11 19:48 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Gregory Heytings, casouri, emacs-devel On Fri, Sep 11, 2020 at 09:43:09PM +0300, Eli Zaretskii wrote: >> Date: Fri, 11 Sep 2020 16:00:41 +0000 >> From: Gregory Heytings <ghe@sdf.org> >> cc: casouri@gmail.com, emacs-devel@gnu.org >> >> > How would they even understand the doc strings without knowing what's a >> > buffer and what's a window? We have the Glossary section in the manual, >> > for that very reason. >> >> Again my point of view is: what are the most essential things that a user >> needs to know to use Emacs if we have no more than three minutes? The >> point is to create a minimal configuration wizard / guided tour to >> introduce them to the most essential things and help them to create a >> minimal configuration with which they would feel "at home", instead of >> having the "this is weird" feeling. > >That is a very different goal from that of our tutorial (or any good >tutorial, IMO). A tutorial should present the important workings of >the tool it describes, which includes all the basic operations and >ideas. > >A user who has no more than 3 minutes can just start typing and use >the menus for the rest. I believe Emacs supports all the features >such a user can expect: cursor motion with arrows and PageUp/PageDown, >text insertion and deletion, saving via the menus, etc. > >But if you think such "3-minute users" need a document to get them >started, by all means, write such a document. It is not what the >tutorial attempts to do, though. > Lets say that the problem is the unfamiliar way how emacs work in some aspects. In this list is repeated constantly that we shouldn't do this or that; or use a such set of bindings, colors, or methods just because the other editors do. So the only way to keep that is enforcing a learning curve because very little users will arrive trained in "the emacs way". If a user opens any editor around he never looks into the menus for copy or paste, but just right-click and a panel or C-c and C-v as they are standard anywhere else. I don't like to enable CUA mode by default, but start emacs and work is not so easy so if a user only have 3 minutes to start he will open gedit, kwire, kate or geany and everything works as expected in those 3 minutes. >> You mention "doc strings", but why on earth would a user who just started >> using Emacs read doc strings? > >To learn more about Emacs, of course. > I said that, 5-10 minutes is a bit better than 3. IMO the Mike's videos are the perfect format. Maybe the only problem is the emacs window size on the screen and that they are more oriented to the external packages than in the internals. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 2020-09-11 19:48 ` Ergus @ 2020-09-12 6:02 ` Eli Zaretskii 2020-09-12 9:33 ` Ergus 0 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-12 6:02 UTC (permalink / raw) To: Ergus; +Cc: ghe, casouri, emacs-devel > Date: Fri, 11 Sep 2020 21:48:52 +0200 > From: Ergus <spacibba@aol.com> > Cc: Gregory Heytings <ghe@sdf.org>, casouri@gmail.com, emacs-devel@gnu.org > > >But if you think such "3-minute users" need a document to get them > >started, by all means, write such a document. It is not what the > >tutorial attempts to do, though. > > > > Lets say that the problem is the unfamiliar way how emacs work in some > aspects. Like what? please be more specific, otherwise it's very hard to understand what you have in mind. > In this list is repeated constantly that we shouldn't do this > or that; or use a such set of bindings, colors, or methods just because > the other editors do. So the only way to keep that is enforcing a > learning curve because very little users will arrive trained in "the > emacs way". Once again: most basic things people expect from an editor "just work" in Emacs OOTB. > If a user opens any editor around he never looks into the menus for copy > or paste, but just right-click and a panel or C-c and C-v as they are > standard anywhere else. So this is about CUA-like key bindings? or is there anything else? > I don't like to enable CUA mode by default, but start emacs and work is > not so easy so if a user only have 3 minutes to start he will open > gedit, kwire, kate or geany and everything works as expected in those 3 > minutes. Fine, then I guess this is what the "3-minute tutorial" should say. > >> You mention "doc strings", but why on earth would a user who just started > >> using Emacs read doc strings? > > > >To learn more about Emacs, of course. > > > > I said that, 5-10 minutes is a bit better than 3. IMO the Mike's videos > are the perfect format. Maybe the only problem is the emacs window size > on the screen and that they are more oriented to the external packages > than in the internals. To have video tutorials for these purposes is perfectly okay. I hope we will be able to have them soon. Thanks. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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. 0 siblings, 1 reply; 173+ messages in thread From: Ergus @ 2020-09-12 9:33 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ghe, casouri, emacs-devel On September 12, 2020 8:02:55 AM GMT+02:00, Eli Zaretskii <eliz@gnu.org> wrote: >> Date: Fri, 11 Sep 2020 21:48:52 +0200 >> From: Ergus <spacibba@aol.com> >> Cc: Gregory Heytings <ghe@sdf.org>, casouri@gmail.com, >emacs-devel@gnu.org >> >> >But if you think such "3-minute users" need a document to get them >> >started, by all means, write such a document. It is not what the >> >tutorial attempts to do, though. >> > >> >> Lets say that the problem is the unfamiliar way how emacs work in >some >> aspects. > >Like what? please be more specific, otherwise it's very hard to >understand what you have in mind. > Like right click panel and cua. I don't like any of those, but my point is that in 3 minutes is hard to face that none of them are there as expected. >> In this list is repeated constantly that we shouldn't do this >> or that; or use a such set of bindings, colors, or methods just >because >> the other editors do. So the only way to keep that is enforcing a >> learning curve because very little users will arrive trained in "the >> emacs way". > >Once again: most basic things people expect from an editor "just work" >in Emacs OOTB. > >> If a user opens any editor around he never looks into the menus for >copy >> or paste, but just right-click and a panel or C-c and C-v as they are >> standard anywhere else. > >So this is about CUA-like key bindings? I just said explicitly that I don't like Cua mode. Even when M-w and the others are not really better IMO. > or is there anything else? The very usefull right click panel. > >> I don't like to enable CUA mode by default, but start emacs and work >is >> not so easy so if a user only have 3 minutes to start he will open >> gedit, kwire, kate or geany and everything works as expected in those >3 >> minutes. > >Fine, then I guess this is what the "3-minute tutorial" should say. > IMO we should focus in at least 5-10 minutes users more than 3 minutes ones. Because to focus in the 3 minutes ones emacs will require at least a permanent visible bindings bar somewhere (like nano) or change many things to make them familiar for external users. And we won't do that I think :/ >> >> You mention "doc strings", but why on earth would a user who just >started >> >> using Emacs read doc strings? >> > >> >To learn more about Emacs, of course. >> > >> >> I said that, 5-10 minutes is a bit better than 3. IMO the Mike's >videos >> are the perfect format. Maybe the only problem is the emacs window >size >> on the screen and that they are more oriented to the external >packages >> than in the internals. > >To have video tutorials for these purposes is perfectly okay. I hope >we will be able to have them soon. > >Thanks. Have you seen any of the mike's videos? IMO they are already useful for new users. Let's hope he port them to peertube. -- Sent from my Android device with K-9 Mail. Please excuse my brevity. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 9:33 ` Ergus @ 2020-09-13 12:13 ` Philip K. 0 siblings, 0 replies; 173+ messages in thread From: Philip K. @ 2020-09-13 12:13 UTC (permalink / raw) To: Ergus; +Cc: ghe, Eli Zaretskii, casouri, emacs-devel Ergus <spacibba@aol.com> writes: > IMO we should focus in at least 5-10 minutes users more than 3 minutes > ones. Because to focus in the 3 minutes ones emacs will require at > least a permanent visible bindings bar somewhere (like nano) or change > many things to make them familiar for external users. And we won't do > that I think :/ Why does that follow? And even so, if you have a video on "moving text", "help system basics" or "managing buffers", you're going to handle 3-4 keybindings and their functions at most, and that's something that could already be pasted into the scratch buffer (or some other buffer) to begin with. -- Philip K. ^ permalink raw reply [flat|nested] 173+ messages in thread
* FW: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 18:43 ` Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Eli Zaretskii @ 2020-09-11 18:59 ` Drew Adams 2 siblings, 0 replies; 173+ messages in thread From: Drew Adams @ 2020-09-11 18:59 UTC (permalink / raw) To: Gregory Heytings, Eli Zaretskii, casouri; +Cc: emacs-devel [Was bitten by the Reply All misses emacs-devel thing again...] >> But the tutorial is not just about keybindings. It explains a lot of >> other turf, mainly the important concepts: buffer, window, mode line, >> etc. > > A new user does not need to understand those subtleties. See below. You seemed earlier to say that such things as the mode-line are essential for a new user to understand. > >> They are indeed, I'm not denying this. My point of view here is: what > >> are the most essential things that a user needs to know to use Emacs if > >> we have no more than three minutes? Clearly (at least to me) it is > >> possible to use Emacs without knowing what a "buffer" or a "window" is. > > > > How would they even understand the doc strings without knowing what's a > > buffer and what's a window? We have the Glossary section in the manual, > > for that very reason. > > Again my point of view is: what are the most essential things that a user > needs to know to use Emacs if we have no more than three minutes? The > point is to create a minimal configuration wizard / guided tour to > introduce them to the most essential things and help them to create a > minimal configuration with which they would feel "at home", instead of > having the "this is weird" feeling. The "most essential things" are not cursor movements. The arrow keys, familiar to all, suffice for that, to begin with. > You mention "doc strings", but why on earth would > a user who just started using Emacs read doc strings? The most essential thing, if you really expect something in less than 3 minutes, is _how to ask Emacs_, so that you can learn more when you need/want to. And yes, that starts with help commands, which means doc strings. C-h C-h, if nothing else. Then C-h k, C-h m, C-h v, C-h f, C-h i,... And you, yourself, said something similar earlier: > And I still think that a short "guided tour" would be > useful at the end: what/where is the minibuffer and > what is its purpose, what does the > mode-line contain, how to find help (here I would list > C-h m, C-h p, C-h k / C-h w / C-h a, C-h l, C-h ?), ... And there you also seem to support what Eli says about the need to introduce fundamental concepts - Emacs things. You mention the minibuffer and the mode-line. He mentions buffers, windows, etc. ALL of that is needed: basic Emacs thingies + how to ask Emacs. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 2020-09-11 15:46 ` Gregory Heytings via Emacs development discussions. 2020-09-11 15:51 ` Eli Zaretskii @ 2020-09-11 17:47 ` Göktuğ Kayaalp 2020-09-11 17:53 ` Emanuel Berg via Emacs development discussions. ` (2 more replies) 1 sibling, 3 replies; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-11 17:47 UTC (permalink / raw) To: Gregory Heytings; +Cc: Eli Zaretskii, casouri, emacs-devel On 2020-09-11 18:46 +03, Gregory Heytings via Emacs development discussions. <emacs-devel@gnu.org> wrote: > They are indeed, I'm not denying this. My point of view here is: what > are the most essential things that a user needs to know to use Emacs > if we have no more than three minutes? Clearly (at least to me) it is > possible to use Emacs without knowing what a "buffer" or a "window" > is. Someone who can’t spare more than three minutes to research a tool that they may end up using for a life time for the majority of their workday is IMHO not a kind of user we should strive to support. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 2 siblings, 0 replies; 173+ messages in thread From: Emanuel Berg via Emacs development discussions. @ 2020-09-11 17:53 UTC (permalink / raw) To: emacs-devel G Kayaalp wrote: > Someone who can’t spare more than three minutes to > research a tool that they may end up using for > a life time for the majority of their workday is > IMHO not a kind of user we should strive > to support. ikr? Because they are not worthy! "Better Fewer, But Better" [1] Great essay by old Vladimir Ilyich. Hey, worked for him so why not for us? [1] https://www.marxists.org/archive/lenin/works/1923/mar/02.htm -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 2 siblings, 0 replies; 173+ messages in thread From: Praharsh Suryadevara @ 2020-09-11 18:04 UTC (permalink / raw) To: Göktuğ Kayaalp Cc: Gregory Heytings, Eli Zaretskii, Yuan Fu, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1175 bytes --] On Fri, Sep 11, 2020 at 12:48 PM Göktuğ Kayaalp <self@gkayaalp.com> wrote: > On 2020-09-11 18:46 +03, Gregory Heytings via Emacs development > discussions. <emacs-devel@gnu.org> wrote: > > They are indeed, I'm not denying this. My point of view here is: what > > are the most essential things that a user needs to know to use Emacs > > if we have no more than three minutes? Clearly (at least to me) it is > > possible to use Emacs without knowing what a "buffer" or a "window" > > is. > > Someone who can’t spare more than three minutes to research a tool that > they may end up using for a life time for the majority of their workday > is IMHO not a kind of user we should strive to support. > I think it would be valuable, IMO there's too much unsaid for first-time users and there's important info that can get lost (like CUA mode), it wouldn't help if they missed it. It helps to save people's time in the beginning, even if they know emacs may save them time later on. Time is valuable. > > > -- > İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> > pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 > > [-- Attachment #2: Type: text/html, Size: 1942 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 ` Lars Ingebrigtsen 2020-09-12 14:26 ` Göktuğ Kayaalp 2 siblings, 1 reply; 173+ messages in thread From: Lars Ingebrigtsen @ 2020-09-12 11:16 UTC (permalink / raw) To: Göktuğ Kayaalp Cc: Gregory Heytings, Eli Zaretskii, casouri, emacs-devel Göktuğ Kayaalp <self@gkayaalp.com> writes: > Someone who can’t spare more than three minutes to research a tool that > they may end up using for a life time for the majority of their workday > is IMHO not a kind of user we should strive to support. I think that's dangerously close to saying "Emacs was hard to make, so it should be hard to use". -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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. 0 siblings, 1 reply; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-12 14:26 UTC (permalink / raw) To: Lars Ingebrigtsen Cc: Göktuğ Kayaalp, Gregory Heytings, Eli Zaretskii, casouri, emacs-devel On 2020-09-12 14:16 +03, Lars Ingebrigtsen <larsi@gnus.org> wrote: > Göktuğ Kayaalp <self@gkayaalp.com> writes: >> Someone who can’t spare more than three minutes to research a tool that >> they may end up using for a life time for the majority of their workday >> is IMHO not a kind of user we should strive to support. > I think that's dangerously close to saying "Emacs was hard to make, so > it should be hard to use". Well, that’s one way to read it. Another way, which is what I intend, is that Emacs is a power tool, and some learning curve is inevitable no matter how easy we make certain things. And overcoming that requires some effort. That of course shouldn’t prevent documenting to the best of our ability and make sure we’re not wasting nobody’s time, but that should not mean we should cater to those who are not readily willing to use this piece of software and are unwilling to put any time into learning enough to evaluating it. In a given day we probably spend more than three minutes just looking into void. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 0 siblings, 1 reply; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-12 14:55 UTC (permalink / raw) To: Göktuğ Kayaalp; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1144 bytes --] >>> Someone who can’t spare more than three minutes to research a tool >>> that they may end up using for a life time for the majority of their >>> workday is IMHO not a kind of user we should strive to support. >> >> I think that's dangerously close to saying "Emacs was hard to make, so >> it should be hard to use". > > Well, that’s one way to read it. Another way, which is what I intend, > is that Emacs is a power tool, and some learning curve is inevitable no > matter how easy we make certain things. And overcoming that requires > some effort. > There are many text editors, most of them are power tools too (not as much as Emacs of course, but this is something a new user cannot know or evaluate). Other text editors do not have a learning curve to do simple operations like cut, copy and paste, or to choose a color theme. I don't think it's a good thing if the first message you send to a new user is "you will suffer" (or "abandon all hope, ye who enter here"). The purpose of the current discussion is only to do something to give them a feeling of curiosity instead of a feeling of fear. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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. 0 siblings, 1 reply; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-12 15:10 UTC (permalink / raw) To: Gregory Heytings; +Cc: Göktuğ Kayaalp, emacs-devel On 2020-09-12 17:55 +03, Gregory Heytings <ghe@sdf.org> wrote: > I don't think it's a good thing if the first message you send to a > new user is "you will suffer" (or "abandon all hope, ye who enter > here"). I don’t get why you equate ‘effort’ with ‘suffering’. That’s a reductio ad absurdum, and pretty far off from "this thing here is something that’ll pay you back with great rewards once you decide to invest some time into learning it". > The purpose of the current discussion is only to do something to give > them a feeling of curiosity instead of a feeling of fear. Which is not something I disagree with. All I’m saying is that a user who has no interest in Emacs should not be how we’re designing for. Because that limits what you can achieve. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 15:10 ` Göktuğ Kayaalp @ 2020-09-12 15:18 ` Gregory Heytings via Emacs development discussions. 0 siblings, 0 replies; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-12 15:18 UTC (permalink / raw) To: Göktuğ Kayaalp; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 800 bytes --] >> The purpose of the current discussion is only to do something to give >> them a feeling of curiosity instead of a feeling of fear. > > Which is not something I disagree with. All I’m saying is that a user > who has no interest in Emacs should not be how we’re designing for. > Because that limits what you can achieve. > What I'm saying is that a user who does not know Emacs is initially neither interested nor desinterested. They just start a text editor. The purpose of this guided tour is precisely to make them interested. If the first feeling they have is fear, the become disinterested (or at least are more likely to become disinterested). If the first feeling they have is curiosity, they become interested (or at least are more likely to become interested). ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-11 14:38 ` Gregory Heytings via Emacs development discussions. 2020-09-11 14:49 ` Eli Zaretskii @ 2020-09-13 18:12 ` Juri Linkov 1 sibling, 0 replies; 173+ messages in thread From: Juri Linkov @ 2020-09-13 18:12 UTC (permalink / raw) To: Gregory Heytings via Emacs development discussions. Cc: Gregory Heytings, Yuan Fu > It should not just be "shorter", it should be *really* short. I've just > read it again, for a new user it is almost useless. I think the following > two keybindings would suffice: "C-x 1" and "C-g". Instead of "C-g", it's easier to type the standard ESC key: (when window-system (define-key global-map [escape] 'keyboard-escape-quit)) I don't suggest to enable this by default, but this could be added to one of profiles. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 14:02 ` Yuan Fu 2020-09-12 9:31 ` Interactive guide for new users Gregory Heytings via Emacs development discussions. 2020-09-19 15:20 ` Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Eduardo Mercovich 3 siblings, 0 replies; 173+ messages in thread From: Yuan Fu @ 2020-09-11 14:02 UTC (permalink / raw) To: Stefan Kangas Cc: Göktuğ Kayaalp, Eli Zaretskii, eduardo, emacs-devel > > I propose to consider if any of these are suitable for inclusion: > > - scroll-conservatively, visible-bell > - desktop-save-mode, savehist-mode, save-place-mode, midnight-mode, uniquify > - auto-image-file-mode, display-time-mode, show-paren-mode > - (f)ido-mode, company-mode > > It's a slippery slope, but if done carefully one could perhaps add just > a few more things without weighing it down too much. Taking out the > toggle to disable the menu bar and tool bar would save some space. > What I included in the guide is just for example. I was hoping to get some feedback on reddit about the real struggle of beginners. Then we know what they really need. Yuan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 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. 2020-09-12 9:55 ` Eli Zaretskii 2020-09-19 15:20 ` Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Eduardo Mercovich 3 siblings, 1 reply; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-12 9:31 UTC (permalink / raw) To: Yuan Fu, emacs-devel 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. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 9:31 ` Interactive guide for new users Gregory Heytings via Emacs development discussions. @ 2020-09-12 9:55 ` Eli Zaretskii 2020-09-12 10:35 ` Gregory Heytings via Emacs development discussions. 2020-09-12 11:02 ` Göktuğ Kayaalp 0 siblings, 2 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-12 9:55 UTC (permalink / raw) To: Gregory Heytings; +Cc: casouri, emacs-devel > Date: Sat, 12 Sep 2020 09:31:06 +0000 > From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org> > > > Based on the feedback received so far, I reworked the proposal a bit. Thanks for thinking about this. I have a few minor comments. > 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"? > 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? > 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? > [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. > 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. > 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. > 6. hl-line-mode Why is this important? do other IDEs have it by default? > 8. which-key-mode I disagree with this one, certainly in its current form. > 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. > 11. (setq uniquify-buffer-name-style 'forward uniquify-min-dir-content 1024) Why? what's wrong with the defaults here? > 14. icomplete-mode (or fido-mode?) Not sure this is a good idea, these modes present 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. > 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. > 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? > 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. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 9:55 ` Eli Zaretskii @ 2020-09-12 10:35 ` Gregory Heytings via Emacs development discussions. 2020-09-12 10:52 ` Ergus ` (2 more replies) 2020-09-12 11:02 ` Göktuğ Kayaalp 1 sibling, 3 replies; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-12 10:35 UTC (permalink / raw) To: Eli Zaretskii; +Cc: casouri, emacs-devel 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. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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-26 9:16 ` Elias Mårtenson 2 siblings, 0 replies; 173+ messages in thread From: Ergus @ 2020-09-12 10:52 UTC (permalink / raw) To: Gregory Heytings; +Cc: Eli Zaretskii, casouri, emacs-devel On Sat, Sep 12, 2020 at 10:35:06AM +0000, Gregory Heytings via Emacs development discussions. wrote: >>>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. > Indeed!! I didn't know about this option.. Setting it right now!!! ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 ` (2 more replies) 2020-09-26 9:16 ` Elias Mårtenson 2 siblings, 3 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-12 10:58 UTC (permalink / raw) To: Gregory Heytings; +Cc: casouri, emacs-devel > Date: Sat, 12 Sep 2020 10:35:06 +0000 > From: Gregory Heytings <ghe@sdf.org> > cc: casouri@gmail.com, emacs-devel@gnu.org > > >> 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"? The mode line, the scroll bars, the menu and the tool bar. > >> [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. Why? The Options menu item I've mentioned pops up the system's font selection dialog, which is way nicer than selecting a font from an Emacs buffer. To say nothing of being less work. What am I missing? > >> 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. My point is that we should not put there unimportant options, let alone those which we recommend not to change from the defaults. > >> 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. There are thousands of options in Emacs that users might want to enable. This initial guide should only show those which are very important, recommended, and usually expected. Options that don't satisfy these criteria should IMO not be in the list, because the list must not be too long, or you will lose many newbies who don't have enough patience. > >> 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. A complete file name takes too much of the screen space on the mode line, IMO. You'd need to make the font used by the mode-line face to be much smaller, and even then it will steal too much space. > >> 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. Then perhaps we need to develop a new completion mechanism. Which IDEs show completion like icomplete-mode? > I use icomplete-mode myself, and don't understand what you mean by > "complex and potentially confusing UI". Type "C-x C-f" and try to look at the result with the newbies' eyes. First question I have is "how to go on?" <RIGHT> arrow doesn't work. If the font shows the bold letters distinct enough, I'd wonder what do the bold letters mean. The order in which the files are shown doesn't necessarily make sense, nor does the fact that it mixes directories with files. Etc. etc. -- the stuff I'd wonder about goes on and on. This is not the completion I find, e.g., in a Web browser, so prior experience will not help. > >> 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. There are several apropos commands, and they are all very important for discoverability. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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:16 ` Ergus 2 siblings, 0 replies; 173+ messages in thread From: Dmitry Gutov @ 2020-09-12 11:34 UTC (permalink / raw) To: Eli Zaretskii, Gregory Heytings; +Cc: casouri, emacs-devel On 12.09.2020 13:58, Eli Zaretskii wrote: >>>> 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. > A complete file name takes too much of the screen space on the mode > line, IMO. You'd need to make the font used by the mode-line face to > be much smaller, and even then it will steal too much space. This value of uniquify-buffer-name-style has been a part of every major "starter kit" for quite some time: https://github.com/bbatsov/prelude/blob/dd9b01a991c9599842ba88e52fe6ae8627f4a782/core/prelude-editor.el#L105 https://github.com/hlissner/doom-emacs/blob/a2a5038b970df20ec512447b7bbbe96fa2446851/core/core-ui.el#L166 https://git.sr.ht/~technomancy/better-defaults/tree/master/better-defaults.el#L63 So we can say for sure that people find it comfortable enough. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 12:54 ` Ergus 2020-09-12 12:16 ` Ergus 2 siblings, 2 replies; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-12 12:00 UTC (permalink / raw) To: Eli Zaretskii; +Cc: casouri, emacs-devel >>> 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"? > > The mode line, the scroll bars, the menu and the tool bar. > The effect on the mode line is show on the fly, see the video Yuan Fu made. For the scroll bars, the menu and the tool bar, I don't know if it is possible to change their appearance within Emacs. Is it possible? >>>>> [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. > > Why? The Options menu item I've mentioned pops up the system's font > selection dialog, which is way nicer than selecting a font from an Emacs > buffer. To say nothing of being less work. What am I missing? > You're not missing anything. It's just convenience for new users, telling them to go there and there to do this and that is more confusing than offering them a limited number of options during the guided tour. But if that's too complex to do, this part should be skipped. >>>> 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. > > My point is that we should not put there unimportant options, let alone > those which we recommend not to change from the defaults. > I think the criterion here is not whether an option is from our point of view important or unimportant, or whether we recommend or not to change its default value, but whether a user coming from another editing environment is likely to want it to feel "at home". If Doom Emacs, Spacemacs and the like disable the tool bar and the scroll bar, that's an indication that it's something new users might want. Note that I did not (on purpose) include menu-bar-mode here. > > There are thousands of options in Emacs that users might want to enable. > This initial guide should only show those which are very important, > recommended, and usually expected. Options that don't satisfy these > criteria should IMO not be in the list, because the list must not be too > long, or you will lose many newbies who don't have enough patience. > See above. I agree with "usually expected", but "very important" or "recommended" is from my point of view too difficult to judge. >>>> 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. > > A complete file name takes too much of the screen space on the mode > line, IMO. You'd need to make the font used by the mode-line face to be > much smaller, and even then it will steal too much space. > That's your point of view, and I agree with you to some extent. OTOH there are not so many available options, and clearly the current default (only the filename) is not what users coming from another editor would expect. > >> I use icomplete-mode myself, and don't understand what you mean by >> "complex and potentially confusing UI". > > Type "C-x C-f" and try to look at the result with the newbies' eyes. > First question I have is "how to go on?" <RIGHT> arrow doesn't work. If > the font shows the bold letters distinct enough, I'd wonder what do the > bold letters mean. The order in which the files are shown doesn't > necessarily make sense, nor does the fact that it mixes directories with > files. Etc. etc. -- the stuff I'd wonder about goes on and on. This is > not the completion I find, e.g., in a Web browser, so prior experience > will not help. > I agree with you that with newbies' eyes icomplete could be at first sight a bit surprising. But after typing <right> a user would likely try to type something (the cursor is there and blinking) and would quickly understand how it works (I think). If there was a built-in vertical mode it would be better / more intuitive. >>>> 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. > > There are several apropos commands, and they are all very important for > discoverability. > It's one of the reasons I think offering the user the option to enable icomplete makes sense: it helps them to discover options and commands. For example M-x apropos lists the individual apropos commands. That being said, I agree with you that perhaps at this point some of the apropos commands could be mentioned (but not all of them). Perhaps apropos, apropos-command, apropos-variable, apropos-function? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 12:54 ` Ergus 1 sibling, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-12 12:21 UTC (permalink / raw) To: Gregory Heytings; +Cc: casouri, emacs-devel > Date: Sat, 12 Sep 2020 12:00:54 +0000 > From: Gregory Heytings <ghe@sdf.org> > cc: casouri@gmail.com, emacs-devel@gnu.org > > >> What do you mean by "other UI elements"? > > > > The mode line, the scroll bars, the menu and the tool bar. > > > > The effect on the mode line is show on the fly, see the video Yuan Fu > made. For the scroll bars, the menu and the tool bar, I don't know if it > is possible to change their appearance within Emacs. Is it possible? It depends. My point, though, is that when one needs to choose from a large number of themes, showing how Emacs will look under a theme makes the selection process easier. So an image sounds like a good way of showing the effect without requiring any action on the user. Images also make it simpler comparing the effects of several themes. > >> 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. > > > > Why? The Options menu item I've mentioned pops up the system's font > > selection dialog, which is way nicer than selecting a font from an Emacs > > buffer. To say nothing of being less work. What am I missing? > > > > You're not missing anything. It's just convenience for new users, telling > them to go there and there to do this and that is more confusing than > offering them a limited number of options during the guided tour. You don't need to tell the user do anything, you can pop up the font selection dialog programmatically. > >> 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. > > > > My point is that we should not put there unimportant options, let alone > > those which we recommend not to change from the defaults. > > > > I think the criterion here is not whether an option is from our point of > view important or unimportant, or whether we recommend or not to change > its default value, but whether a user coming from another editing > environment is likely to want it to feel "at home". Yes. But that wasn't my point. My point was that you said "it's just an option", and I said that we should think hard about which options we show there and which we don't. "Important" for the users we have in mind, sure; but are you saying they expect these UI elements to be removed? And if they do, could it be because they don't realize how useful they can be? > If Doom Emacs, Spacemacs and the like disable the tool bar and the > scroll bar, that's an indication that it's something new users might > want. We don't need to be bug-for-bug compatible with Spacemacs and DOOM. Where we think they make a mistake, we should do better. > That being said, I agree with you that perhaps at this point some of the > apropos commands could be mentioned (but not all of them). Perhaps > apropos, apropos-command, apropos-variable, apropos-function? apropos-documentation is also very important. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 0 siblings, 1 reply; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-12 13:56 UTC (permalink / raw) To: Eli Zaretskii; +Cc: casouri, emacs-devel >> The effect on the mode line is show on the fly, see the video Yuan Fu >> made. For the scroll bars, the menu and the tool bar, I don't know if >> it is possible to change their appearance within Emacs. Is it >> possible? > > It depends. My point, though, is that when one needs to choose from a > large number of themes, showing how Emacs will look under a theme makes > the selection process easier. So an image sounds like a good way of > showing the effect without requiring any action on the user. Images also > make it simpler comparing the effects of several themes. > Okay, if that's feasible in a clean way that would of course be fine. One potential problem I see is that the font in the picture will likely not match the font on the system, but that's perhaps not very important. Note that I would not recommend to have a "large number of themes" here, I'd say that 20 should be an upper bound. I would separate them in two: "light mode" ones and "dark mode" ones. >>> Why? The Options menu item I've mentioned pops up the system's font >>> selection dialog, which is way nicer than selecting a font from an >>> Emacs buffer. To say nothing of being less work. What am I missing? >> >> You're not missing anything. It's just convenience for new users, >> telling them to go there and there to do this and that is more >> confusing than offering them a limited number of options during the >> guided tour. > > You don't need to tell the user do anything, you can pop up the font > selection dialog programmatically. > Again if that's feasible that would of course be fine. I did not check this in detail, I don't use any of these features myself. >> I think the criterion here is not whether an option is from our point >> of view important or unimportant, or whether we recommend or not to >> change its default value, but whether a user coming from another >> editing environment is likely to want it to feel "at home". > > Yes. But that wasn't my point. My point was that you said "it's just > an option", and I said that we should think hard about which options we > show there and which we don't. "Important" for the users we have in > mind, sure; but are you saying they expect these UI elements to be > removed? And if they do, could it be because they don't realize how > useful they can be? > FWIW, yes, I do think they expect to have these UI elements to be removed. They want a "minimal slick UI". Not everyone would tick that option of course, but having it there makes sense IMO. I don't know "how useful they can be", because I don't use them myself, for example I never found scroll bars useful in any app, and certainly not in Emacs. The tool bar could be useful, but if you look at the current toolbar from the viewpoint of a newbie it is not. Let's suppose I'm a newbie: first you have two buttons to read a file (which one should I use? let's try C-o!), then an button to launch dired (likely not something a newbie would want to do), then a button which says "Discard (kill) current buffer" (what the heck does that mean?), then "Save" (okay, that should be C-s, so I don't need that button), "Undo" (should be C-z... hey, but where is "Redo"?), "Cut" (should be C-x), "Copy" (should be C-c), "Paste" (should be C-v), "Search" (should be C-f). Oh, is that all? What's the purpose of that toolbar? (If you look at other apps they do have these things in a toolbar, but it's because the toolbar has much more buttons.) >> If Doom Emacs, Spacemacs and the like disable the tool bar and the >> scroll bar, that's an indication that it's something new users might >> want. > > We don't need to be bug-for-bug compatible with Spacemacs and DOOM. > Where we think they make a mistake, we should do better. > The discussion here is not whether something is a mistake or not, but what new users coming from another editor would likely want to see to have a positive feeling when they open Emacs. As long as it does not remove an essential feature, that's fine IMO. >> That being said, I agree with you that perhaps at this point some of >> the apropos commands could be mentioned (but not all of them). >> Perhaps apropos, apropos-command, apropos-variable, apropos-function? > > apropos-documentation is also very important. > Okay. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 13:56 ` Gregory Heytings via Emacs development discussions. @ 2020-09-12 14:07 ` Eli Zaretskii 0 siblings, 0 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-12 14:07 UTC (permalink / raw) To: Gregory Heytings; +Cc: casouri, emacs-devel > Date: Sat, 12 Sep 2020 13:56:11 +0000 > From: Gregory Heytings <ghe@sdf.org> > cc: casouri@gmail.com, emacs-devel@gnu.org > > Let's suppose I'm a newbie: first you have two buttons to read a file > (which one should I use? let's try C-o!), then an button to launch dired > (likely not something a newbie would want to do), then a button which says > "Discard (kill) current buffer" (what the heck does that mean?), then > "Save" (okay, that should be C-s, so I don't need that button), "Undo" > (should be C-z... hey, but where is "Redo"?), "Cut" (should be C-x), > "Copy" (should be C-c), "Paste" (should be C-v), "Search" (should be C-f). > Oh, is that all? What's the purpose of that toolbar? (If you look at > other apps they do have these things in a toolbar, but it's because the > toolbar has much more buttons.) The second button from the left has an icon that is very similar to what many other applications use for "Open a File", and the tool-tip for it confirms that (if someone needs a confirmation). I don't see why users will even try anything else. So I think your exaggeration here is misplaced. Or maybe you are looking at a tool bar that has text instead of descriptive icons? In which case that's the problem to solve. > > We don't need to be bug-for-bug compatible with Spacemacs and DOOM. > > Where we think they make a mistake, we should do better. > > The discussion here is not whether something is a mistake or not, but what > new users coming from another editor would likely want to see to have a > positive feeling when they open Emacs. As long as it does not remove an > essential feature, that's fine IMO. If we agree to what you say in the last sentence, fine with me. I guess we will next need to discuss what is "essential" and what isn't. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 12:00 ` Gregory Heytings via Emacs development discussions. 2020-09-12 12:21 ` Eli Zaretskii @ 2020-09-12 12:54 ` Ergus 1 sibling, 0 replies; 173+ messages in thread From: Ergus @ 2020-09-12 12:54 UTC (permalink / raw) To: Gregory Heytings; +Cc: Eli Zaretskii, casouri, emacs-devel On Sat, Sep 12, 2020 at 12:00:54PM +0000, Gregory Heytings via Emacs development discussions. wrote: >If there was a built-in >vertical mode it would be better / more intuitive. Could you try the branch feature/icomplete-vertical? I need some testers before adding it to master. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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:16 ` Ergus 2020-09-12 12:34 ` Eli Zaretskii 2 siblings, 1 reply; 173+ messages in thread From: Ergus @ 2020-09-12 12:16 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Gregory Heytings, casouri, emacs-devel On Sat, Sep 12, 2020 at 01:58:27PM +0300, Eli Zaretskii wrote: >> Date: Sat, 12 Sep 2020 10:35:06 +0000 >> From: Gregory Heytings <ghe@sdf.org> >> cc: casouri@gmail.com, emacs-devel@gnu.org >> >> >> 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"? > >The mode line, the scroll bars, the menu and the tool bar. > >> >> [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. > >Why? The Options menu item I've mentioned pops up the system's font >selection dialog, which is way nicer than selecting a font from an >Emacs buffer. To say nothing of being less work. What am I missing? > >> >> 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. > >My point is that we should not put there unimportant options, let >alone those which we recommend not to change from the defaults. > We could add and extra optional SCREEN with advanced options. The user can click next if done with the options in this page or advanced and go for a more detailed and longer list of options. Like a "SCREEN 2.1" to add many "unimportant" things with more freedom. For example we can add here to enable show-trailing-whitespace, fill-column-indicator, auto-revert-mode, visual-line-mode, ispell dictionaries, desktop-save-mode. All those are options not desirable in the SCREEN2, but could make sense for users with some editing experience but not emacs experience. WDYT? >> >> 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. > >There are thousands of options in Emacs that users might want to >enable. This initial guide should only show those which are very >important, recommended, and usually expected. Options that don't >satisfy these criteria should IMO not be in the list, because the list >must not be too long, or you will lose many newbies who don't have >enough patience. > >> >> 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. > >A complete file name takes too much of the screen space on the mode >line, IMO. You'd need to make the font used by the mode-line face to >be much smaller, and even then it will steal too much space. > >> >> 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. > >Then perhaps we need to develop a new completion mechanism. Which >IDEs show completion like icomplete-mode? > Sublime and atom have a menu pretty similar to ours. A bit more graphical oriented, but in the same "spirit". >> I use icomplete-mode myself, and don't understand what you mean by >> "complex and potentially confusing UI". > >Type "C-x C-f" and try to look at the result with the newbies' eyes. >First question I have is "how to go on?" <RIGHT> arrow doesn't work. >If the font shows the bold letters distinct enough, I'd wonder what do >the bold letters mean. The order in which the files are shown doesn't >necessarily make sense, nor does the fact that it mixes directories >with files. Etc. etc. -- the stuff I'd wonder about goes on and on. >This is not the completion I find, e.g., in a Web browser, so prior >experience will not help. > There are two options here: 1) Add more bindings to icomplete (arrows, C-n and so on) 2) Go for fido-mode which is more "friendly" like ido. BTW Eli, I am working improving icomplete and the default *Completions*. You can check the feature branches. If you have special suggestions for them they are very welcome. With my changes in *Completions* the experience is actually similar to zsh completion... And with icomplete I enabled the vertical layout (as helm or ivy do) and added some coherent bindings. What do you have in mind? >> >> 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. > >There are several apropos commands, and they are all very important >for discoverability. > ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 12:16 ` Ergus @ 2020-09-12 12:34 ` Eli Zaretskii 2020-09-12 13:18 ` Ergus 0 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-12 12:34 UTC (permalink / raw) To: Ergus; +Cc: ghe, casouri, emacs-devel > Date: Sat, 12 Sep 2020 14:16:03 +0200 > From: Ergus <spacibba@aol.com> > Cc: Gregory Heytings <ghe@sdf.org>, casouri@gmail.com, emacs-devel@gnu.org > > >My point is that we should not put there unimportant options, let > >alone those which we recommend not to change from the defaults. > > > We could add and extra optional SCREEN with advanced options. The user > can click next if done with the options in this page or advanced and go > for a more detailed and longer list of options. Once we come up with the list of options we consider important and useful for this target audience, we can then discuss whether the list is long enough to warrant splitting. > >Then perhaps we need to develop a new completion mechanism. Which > >IDEs show completion like icomplete-mode? > > > Sublime and atom have a menu pretty similar to ours. A bit more > graphical oriented, but in the same "spirit". "Spirit" is not what's important here, IMO. What's important is the visual appearance and the available actions and their effects. What I see out there is similar to Company, and quite different from icomplete-mode, even when augmented by the vertical sub-mode. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 12:34 ` Eli Zaretskii @ 2020-09-12 13:18 ` Ergus 2020-09-12 13:43 ` Eli Zaretskii 0 siblings, 1 reply; 173+ messages in thread From: Ergus @ 2020-09-12 13:18 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ghe, casouri, emacs-devel On Sat, Sep 12, 2020 at 03:34:35PM +0300, Eli Zaretskii wrote: >> Date: Sat, 12 Sep 2020 14:16:03 +0200 >> From: Ergus <spacibba@aol.com> >> Cc: Gregory Heytings <ghe@sdf.org>, casouri@gmail.com, emacs-devel@gnu.org >> >> >My point is that we should not put there unimportant options, let >> >alone those which we recommend not to change from the defaults. >> > >> We could add and extra optional SCREEN with advanced options. The user >> can click next if done with the options in this page or advanced and go >> for a more detailed and longer list of options. > >Once we come up with the list of options we consider important and >useful for this target audience, we can then discuss whether the list >is long enough to warrant splitting. > Agree >> >Then perhaps we need to develop a new completion mechanism. Which >> >IDEs show completion like icomplete-mode? >> > >> Sublime and atom have a menu pretty similar to ours. A bit more >> graphical oriented, but in the same "spirit". > >"Spirit" is not what's important here, IMO. What's important is the >visual appearance and the available actions and their effects. What I >see out there is similar to Company, and quite different from >icomplete-mode, even when augmented by the vertical sub-mode. We have xref-find-apropos and completion-at-point. But icomplete use is totally different to company. icomplete is more a minibuffer completion engine useful while tipping commands, of lookign for files. There a company panel is uncomfortable. While company-mode is a "suggestion menu" while editing. Maybe our error have been to consider both as a single "feature". Dimitry is the "company boss" ;) if you want it by default I don't think anyone will have complains about as company is in general very popular. Most external popular completions engines like LSP support company throw company-capf or completion-at-point. What's do you think is better to invest time improving the completion-at-point or port Company to vanilla? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 13:18 ` Ergus @ 2020-09-12 13:43 ` Eli Zaretskii 2020-09-12 14:17 ` Ergus 2020-09-13 0:01 ` Dmitry Gutov 0 siblings, 2 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-12 13:43 UTC (permalink / raw) To: Ergus; +Cc: ghe, casouri, emacs-devel > Date: Sat, 12 Sep 2020 15:18:02 +0200 > From: Ergus <spacibba@aol.com> > Cc: ghe@sdf.org, casouri@gmail.com, emacs-devel@gnu.org > > >"Spirit" is not what's important here, IMO. What's important is the > >visual appearance and the available actions and their effects. What I > >see out there is similar to Company, and quite different from > >icomplete-mode, even when augmented by the vertical sub-mode. > > We have xref-find-apropos and completion-at-point. But icomplete use is > totally different to company. > > icomplete is more a minibuffer completion engine useful while tipping > commands, of lookign for files. There a company panel is uncomfortable. > > While company-mode is a "suggestion menu" while editing. Maybe our error > have been to consider both as a single "feature". We are miscommunicating. I said "similar to Company", meaning that the completion drops down a vertical list of candidates that overlays the rest of the display. AFAIK, no existing completion package offers something similar. So either we implement something similar (and offer it in that initial tour as an option), or we have to live with the fact that users will not find in Emacs completion that they expect to see. In the latter case, I wonder why icomplete is deemed a step in the right direction, for reasons I already described: it's too complicated and confusion, IMO. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 13:43 ` Eli Zaretskii @ 2020-09-12 14:17 ` Ergus 2020-09-12 14:36 ` Eli Zaretskii 2020-09-13 0:01 ` Dmitry Gutov 1 sibling, 1 reply; 173+ messages in thread From: Ergus @ 2020-09-12 14:17 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ghe, casouri, emacs-devel On Sat, Sep 12, 2020 at 04:43:33PM +0300, Eli Zaretskii wrote: >> Date: Sat, 12 Sep 2020 15:18:02 +0200 >> From: Ergus <spacibba@aol.com> >> Cc: ghe@sdf.org, casouri@gmail.com, emacs-devel@gnu.org >> >> >"Spirit" is not what's important here, IMO. What's important is the >> >visual appearance and the available actions and their effects. What I >> >see out there is similar to Company, and quite different from >> >icomplete-mode, even when augmented by the vertical sub-mode. >> >> We have xref-find-apropos and completion-at-point. But icomplete use is >> totally different to company. >> >> icomplete is more a minibuffer completion engine useful while tipping >> commands, of lookign for files. There a company panel is uncomfortable. >> >> While company-mode is a "suggestion menu" while editing. Maybe our error >> have been to consider both as a single "feature". > >We are miscommunicating. I said "similar to Company", meaning that >the completion drops down a vertical list of candidates that overlays >the rest of the display. AFAIK, no existing completion package offers >something similar. Sorry to bother with this. But I don't see how what you describe defers from Company. I mean, what is missing in company or what is different from your desired behavior? I agree that company needs some work, maybe check the bindings and the default colors. >So either we implement something similar (and >offer it in that initial tour as an option), or we have to live with >the fact that users will not find in Emacs completion that they expect >to see. In the latter case, I wonder why icomplete is deemed a step >in the right direction, for reasons I already described: it's too >complicated and confusion, IMO. icomplete is the best we have embedded. If we don't add avy + counsel we need to improve it as much as we can for the OOTB experience without external packages. Compared to ido it integrates much better, is simpler and uses all the new completion infrastructure. With some minimal changes icomplete emulates ido with much simpler code. IMO it is the best embedded minibuffer completion we have that we can improve easily. At the end we will always need a completion engine for the minibuffer anyway. Sooner or later the user will need an M-x. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 0 siblings, 2 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-12 14:36 UTC (permalink / raw) To: Ergus; +Cc: ghe, casouri, emacs-devel > Date: Sat, 12 Sep 2020 16:17:58 +0200 > From: Ergus <spacibba@aol.com> > Cc: ghe@sdf.org, casouri@gmail.com, emacs-devel@gnu.org > > >We are miscommunicating. I said "similar to Company", meaning that > >the completion drops down a vertical list of candidates that overlays > >the rest of the display. AFAIK, no existing completion package offers > >something similar. > > Sorry to bother with this. But I don't see how what you describe defers > from Company. I mean, what is missing in company or what is different > from your desired behavior? Didn't yourself say that Company is not for completion in the minibuffer? Whereas we are discussing minibuffer completion? > I agree that company needs some work, maybe check the bindings and the > default colors. If Company can be used for minibuffer completion, then there's no problem. > icomplete is the best we have embedded. Maybe our best is not good enough in this case? In which case, if we want to offer newcomers an experience that they expect, we need to implement something which we don't yet have. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 14:36 ` Eli Zaretskii @ 2020-09-12 14:55 ` Ergus 2020-09-12 16:25 ` Ergus 1 sibling, 0 replies; 173+ messages in thread From: Ergus @ 2020-09-12 14:55 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ghe, casouri, emacs-devel On Sat, Sep 12, 2020 at 05:36:14PM +0300, Eli Zaretskii wrote: >> Date: Sat, 12 Sep 2020 16:17:58 +0200 >> From: Ergus <spacibba@aol.com> >> Cc: ghe@sdf.org, casouri@gmail.com, emacs-devel@gnu.org >> >> >We are miscommunicating. I said "similar to Company", meaning that >> >the completion drops down a vertical list of candidates that overlays >> >the rest of the display. AFAIK, no existing completion package offers >> >something similar. >> >> Sorry to bother with this. But I don't see how what you describe defers >> from Company. I mean, what is missing in company or what is different >> from your desired behavior? > >Didn't yourself say that Company is not for completion in the >minibuffer? Whereas we are discussing minibuffer completion? > >> I agree that company needs some work, maybe check the bindings and the >> default colors. > >If Company can be used for minibuffer completion, then there's no >problem. > >> icomplete is the best we have embedded. > >Maybe our best is not good enough in this case? In which case, if we >want to offer newcomers an experience that they expect, we need to >implement something which we don't yet have. > Ahh now I get your point. You were referring for the minibuffer only completion. Maybe now I am the conservative, but a menu in the middle of the screen is not better than one at the bottom. And developing something as polished as helm or ivy from scratch maybe don't worth the effort and we don;t have the manpower for that. Also many of our commands are actions on the current text (emacs is much more command-centric) overlapping a menu maybe is not a good idea. Sublime has such a menu, but it is for installing applications and some other "external" actions unrelated with direct editing. The rest of the applications just have a right click. Any way if you think that this is a good direction there is already: ivy-postframe: https://github.com/tumashu/ivy-posframe ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 1 sibling, 1 reply; 173+ messages in thread From: Ergus @ 2020-09-12 16:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ghe, casouri, emacs-devel On Sat, Sep 12, 2020 at 05:36:14PM +0300, Eli Zaretskii wrote: >> Date: Sat, 12 Sep 2020 16:17:58 +0200 >> From: Ergus <spacibba@aol.com> >> Cc: ghe@sdf.org, casouri@gmail.com, emacs-devel@gnu.org >> >> >We are miscommunicating. I said "similar to Company", meaning that >> >the completion drops down a vertical list of candidates that overlays >> >the rest of the display. AFAIK, no existing completion package offers >> >something similar. >> >> Sorry to bother with this. But I don't see how what you describe defers >> from Company. I mean, what is missing in company or what is different >> from your desired behavior? > >Didn't yourself say that Company is not for completion in the >minibuffer? Whereas we are discussing minibuffer completion? > >> I agree that company needs some work, maybe check the bindings and the >> default colors. > >If Company can be used for minibuffer completion, then there's no >problem. > >> icomplete is the best we have embedded. > >Maybe our best is not good enough in this case? In which case, if we >want to offer newcomers an experience that they expect, we need to >implement something which we don't yet have. > Eli: Looking deeper into this, either posframe and ivy are already in elpa. We only need to add ivy-posframe to elpa. There is also a which-key-posframe and even a company-posframe. So we have the whole set of featured you want. WDYT? Add all this to vanila :\? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 16:25 ` Ergus @ 2020-09-12 17:17 ` Eli Zaretskii 2020-09-12 17:21 ` Yuan Fu 0 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-12 17:17 UTC (permalink / raw) To: Ergus; +Cc: ghe, casouri, emacs-devel > Date: Sat, 12 Sep 2020 18:25:26 +0200 > From: Ergus <spacibba@aol.com> > Cc: ghe@sdf.org, casouri@gmail.com, emacs-devel@gnu.org > > Looking deeper into this, either posframe and ivy are already in > elpa. We only need to add ivy-posframe to elpa. There is also a > which-key-posframe and even a company-posframe. So we have the whole set > of featured you want. > > WDYT? Add all this to vanila :\? We were talking about what to offer to newcomers as options, remember? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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. 0 siblings, 2 replies; 173+ messages in thread From: Yuan Fu @ 2020-09-12 17:21 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Gregory Heytings, Ergus, emacs-devel [-- Attachment #1: Type: text/plain, Size: 889 bytes --] > On Sep 12, 2020, at 1:17 PM, Eli Zaretskii <eliz@gnu.org> wrote: > >> Date: Sat, 12 Sep 2020 18:25:26 +0200 >> From: Ergus <spacibba@aol.com> >> Cc: ghe@sdf.org, casouri@gmail.com, emacs-devel@gnu.org >> >> Looking deeper into this, either posframe and ivy are already in >> elpa. We only need to add ivy-posframe to elpa. There is also a >> which-key-posframe and even a company-posframe. So we have the whole set >> of featured you want. >> >> WDYT? Add all this to vanila :\? > > We were talking about what to offer to newcomers as options, remember? It would be nice to add the option to install and enable ivy and company in the guide, can we do this in principle (i.e., promote a elpa package)? Not talking about whether we should, but whether we can. In the similar spirit, can we give the user the option to include Melba into package-archives? Yuan [-- Attachment #2: Type: text/html, Size: 2848 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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. 1 sibling, 0 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-12 17:39 UTC (permalink / raw) To: Yuan Fu; +Cc: ghe, spacibba, emacs-devel > From: Yuan Fu <casouri@gmail.com> > Date: Sat, 12 Sep 2020 13:21:15 -0400 > Cc: Gregory Heytings <ghe@sdf.org>, Ergus <spacibba@aol.com>, > emacs-devel@gnu.org > > Looking deeper into this, either posframe and ivy are already in > elpa. We only need to add ivy-posframe to elpa. There is also a > which-key-posframe and even a company-posframe. So we have the whole set > of featured you want. > > WDYT? Add all this to vanila :\? > > We were talking about what to offer to newcomers as options, remember? > > It would be nice to add the option to install and enable ivy and company in the guide, can we do this in > principle (i.e., promote a elpa package)? Not talking about whether we should, but whether we can. We should first decide whether we want to offer such features to new users, and only later see how to make that happen. > In the similar spirit, can we give the user the option to include Melba into package-archives? That question was already answered, see the Emacs FAQ. The intention to have the non-GNU ELPA is another answer to the same question. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 1 sibling, 1 reply; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-12 18:36 UTC (permalink / raw) To: Yuan Fu; +Cc: emacs-devel > > It would be nice to add the option to install and enable ivy and company > in the guide, can we do this in principle (i.e., promote a elpa > package)? Not talking about whether we should, but whether we can. > I think mentioning M-x list-packages in the last screen is enough, just after M-x customize. Installing and enabling a particular package would be too much. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 18:36 ` Gregory Heytings via Emacs development discussions. @ 2020-09-12 20:05 ` Ergus 0 siblings, 0 replies; 173+ messages in thread From: Ergus @ 2020-09-12 20:05 UTC (permalink / raw) To: Gregory Heytings; +Cc: Yuan Fu, emacs-devel On Sat, Sep 12, 2020 at 06:36:05PM +0000, Gregory Heytings via Emacs development discussions. wrote: > >> >>It would be nice to add the option to install and enable ivy and >>company in the guide, can we do this in principle (i.e., promote a >>elpa package)? Not talking about whether we should, but whether we >>can. >> > >I think mentioning M-x list-packages in the last screen is enough, >just after M-x customize. Installing and enabling a particular >package would be too much. > I agree. I would prefer that this only brings native features. If a feature is so important to go here, then probably it is important enough to be in vanilla emacs. IMO ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 13:43 ` Eli Zaretskii 2020-09-12 14:17 ` Ergus @ 2020-09-13 0:01 ` Dmitry Gutov 2020-09-13 2:35 ` Ergus ` (2 more replies) 1 sibling, 3 replies; 173+ messages in thread From: Dmitry Gutov @ 2020-09-13 0:01 UTC (permalink / raw) To: Eli Zaretskii, Ergus; +Cc: ghe, casouri, emacs-devel [-- Attachment #1: Type: text/plain, Size: 3647 bytes --] On 12.09.2020 16:43, Eli Zaretskii wrote: >> Date: Sat, 12 Sep 2020 15:18:02 +0200 >> From: Ergus <spacibba@aol.com> >> Cc: ghe@sdf.org, casouri@gmail.com, emacs-devel@gnu.org >> >>> "Spirit" is not what's important here, IMO. What's important is the >>> visual appearance and the available actions and their effects. What I >>> see out there is similar to Company, and quite different from >>> icomplete-mode, even when augmented by the vertical sub-mode. >> >> We have xref-find-apropos and completion-at-point. But icomplete use is >> totally different to company. >> >> icomplete is more a minibuffer completion engine useful while tipping >> commands, of lookign for files. There a company panel is uncomfortable. >> >> While company-mode is a "suggestion menu" while editing. Maybe our error >> have been to consider both as a single "feature". > > We are miscommunicating. I said "similar to Company", meaning that > the completion drops down a vertical list of candidates that overlays > the rest of the display. AFAIK, no existing completion package offers > something similar. With a modest amount of work, Company could work in the minibuffer, as long as a frontend based on child frames is used (like company-posframe), `company-mode-on' is modified to allow operation inside minibuffer, and the minibuffer setup is altered to set completion-at-point-functions appropriately, so that Company knows which completions to offer. That said, it would still be quite different from what VS Code, Atom and friends employ. See the attached screenshot for the Company-based example. > So either we implement something similar (and > offer it in that initial tour as an option), or we have to live with > the fact that users will not find in Emacs completion that they expect > to see. In the latter case, I wonder why icomplete is deemed a step > in the right direction, for reasons I already described: it's too > complicated and confusion, IMO. I don't see what's so complicated you see about icomplete-mode. If you have problems when trying to use it, perhaps you should ask questions? To my knowledge, if we want to come close to what those other editors show, our current best bet is icomplete-vertical (or something similar to it) PLUS a packages that moves the minibuffer to either the center or the top of the frame (or makes it seem live the minibuffer has been moved, of course). Here's a showcase if one such package in action: https://raw.githubusercontent.com/honmaple/emacs-maple-minibuffer/master/screenshot/example.gif In particular, see the examples where the dropdown is displayed at the top and in the middle of the frame. The package itself is here: https://github.com/honmaple/emacs-maple-minibuffer There are already several packages that try to do something like this, but this one seemed the most stable last time I tried. Even so, it has unfortunate limitations like not being able to adjust the height according to the number of available completions. And different features that use minibuffer are likely to expose other sharp corners of this (very impressive) hack. Like, some previous version of icomplete-vertial failed to work with it. The current seems to work fine, though. So some low-level work/redesign of minibuffer code might be needed for this to be ready for wide public. Relatedly, there exists a similar effort by out very own Martin Rudalics, but the discussion about polishing it has died down around here: https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00171.html Previously: https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg03167.html [-- Attachment #2: Screenshot from 2020-09-13 02-23-00.png --] [-- Type: image/png, Size: 252137 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-13 0:01 ` Dmitry Gutov @ 2020-09-13 2:35 ` Ergus 2020-09-13 17:56 ` Dmitry Gutov ` (2 more replies) 2020-09-13 7:14 ` Gregory Heytings via Emacs development discussions. 2020-09-13 14:04 ` Eli Zaretskii 2 siblings, 3 replies; 173+ messages in thread From: Ergus @ 2020-09-13 2:35 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Eli Zaretskii, ghe, casouri, emacs-devel On Sun, Sep 13, 2020 at 03:01:42AM +0300, Dmitry Gutov wrote: >On 12.09.2020 16:43, Eli Zaretskii wrote: > >To my knowledge, if we want to come close to what those other editors >show, our current best bet is icomplete-vertical (or something similar >to it) I think that "something similar" is ivy+counsel. It works pretty fine, lighter than helm and it is in elpa. The api engine is very polished and the experience in general is better than with icomplete because it also has integrated all the completion engines, sorting and formats in a modular way. >PLUS a packages that moves the minibuffer to either the center >or the top of the frame (or makes it seem live the minibuffer has been >moved, of course). > ivy-posframe also offers this with the ivy engine. I already wrote to the author to move it to elpa and he is asking the contributors if they have all the gnu documentation. (He already has as he is the author of posframe and company-posframe) The only drawback is that posframes does not work in a terminal interface as company do... (I totally ignore that's the difference between a posframe and a normal window) Any way I think it is always better to have more than one option before deciding which one we will "officially" support. >Here's a showcase if one such package in action: > >https://raw.githubusercontent.com/honmaple/emacs-maple-minibuffer/master/screenshot/example.gif > >In particular, see the examples where the dropdown is displayed at the >top and in the middle of the frame. > >The package itself is here: >https://github.com/honmaple/emacs-maple-minibuffer > >There are already several packages that try to do something like this, >but this one seemed the most stable last time I tried. > >Even so, it has unfortunate limitations like not being able to adjust >the height according to the number of available completions. And >different features that use minibuffer are likely to expose other >sharp corners of this (very impressive) hack. Like, some previous >version of icomplete-vertial failed to work with it. The current seems >to work fine, though. > I have been trying ivy-posframe and it seems that the posframe library solves this for them. >So some low-level work/redesign of minibuffer code might be needed for >this to be ready for wide public. > >Relatedly, there exists a similar effort by out very own Martin >Rudalics, but the discussion about polishing it has died down around >here: >https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00171.html > >Previously: >https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg03167.html ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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-13 18:01 ` Dmitry Gutov 2020-09-13 18:20 ` Tim Van den Langenbergh 2 siblings, 1 reply; 173+ messages in thread From: Dmitry Gutov @ 2020-09-13 17:56 UTC (permalink / raw) To: Ergus; +Cc: ghe, Eli Zaretskii, casouri, emacs-devel On 13.09.2020 05:35, Ergus wrote: >> To my knowledge, if we want to come close to what those other editors >> show, our current best bet is icomplete-vertical (or something similar >> to it) > > I think that "something similar" is ivy+counsel. Indeed. icomplete and Ivy are fairly close in visual appearance, with icomplete being closer to "stock" experience, that's why it would be my #1 pick, but Ivy can be a good choice. > It works pretty fine, > lighter than helm and it is in elpa. The api engine is very polished and > the experience in general is better than with icomplete because it also > has integrated all the completion engines, sorting and formats in a > modular way. It does the latter through its own internal API IIRC, which I'm not 100% sure about, but it's not a deal breaker. >> PLUS a packages that moves the minibuffer to either the center or the >> top of the frame (or makes it seem live the minibuffer has been moved, >> of course). >> > ivy-posframe also offers this with the ivy engine. I already wrote to > the author to move it to elpa and he is asking the contributors if they > have all the gnu documentation. (He already has as he is the author of > posframe and company-posframe) Indeed, it's kinda weird to have both posframe and ivy in ELPA, but not posframe-ivy. Which will be required for the experience we are probably looking for. You should try maple-minibuffer, though. It might be easier to get it in, with just one author. > The only drawback is that posframes does not work in a terminal > interface as company do... (I totally ignore that's the difference > between a posframe and a normal window) And the other drawbacks that packages like maple-minibuffer have, like having to use fixed height, which shouldn't be necessary for a popup on top of the frame. Those aren't huge problems, so if we managed to get this kind of behavior into the default set, and maybe even get more core devs to try to use it, it could result in something positive. > Any way I think it is always better to have more than one option before > deciding which one we will "officially" support. No objections here ;-) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 0 siblings, 1 reply; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-13 22:10 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Ergus, Eli Zaretskii, casouri, emacs-devel >>> To my knowledge, if we want to come close to what those other editors >>> show, our current best bet is icomplete-vertical (or something similar >>> to it) >> >> I think that "something similar" is ivy+counsel. > > Indeed. icomplete and Ivy are fairly close in visual appearance, with > icomplete being closer to "stock" experience, that's why it would be my > #1 pick, but Ivy can be a good choice. > Apart from the vertical presentation (which icomplete will apparently soon have), does ivy have a feature that icomplete does not have? I can't find one myself, but perhaps I'm missing something. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 12:10 ` Stephen Leake 0 siblings, 2 replies; 173+ messages in thread From: Thibaut Verron @ 2020-09-14 11:20 UTC (permalink / raw) To: Gregory Heytings; +Cc: Ergus, emacs-devel, casouri, Eli Zaretskii, Dmitry Gutov [-- Attachment #1: Type: text/plain, Size: 1167 bytes --] Le lun. 14 sept. 2020 à 00:11, Gregory Heytings via Emacs development discussions. <emacs-devel@gnu.org> a écrit : > Apart from the vertical presentation (which icomplete will apparently soon > have), does ivy have a feature that icomplete does not have? I can't find > one myself, but perhaps I'm missing something. > Does icomplete support different actions on the completion? For example, if I want to insert a file name with completion, I can do C-x C-f (counsel-find-file), use ivy-completion to get the name, then M-o pops a list of actions and tells me to press i to insert the file I selected. For such an action which I do quite rarely, I find it easier than remember how to invoke insert-file-name (including the name of the actual function). Counsel offers many more actions (which I don't use), including open-literally and open with an external program, and also filesystem actions such as copy, delete or rename. Other actions are offered for buffers, for isearch matches, etc. To me it feels very non-intrusive, what you don't use won't come to bite you. But it also goes beyond the scope of a mere completion mechanism. [-- Attachment #2: Type: text/html, Size: 1571 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-14 11:20 ` Thibaut Verron @ 2020-09-14 23:42 ` E 2020-09-15 7:40 ` Ergus 2020-09-15 12:10 ` Stephen Leake 1 sibling, 1 reply; 173+ messages in thread From: E @ 2020-09-14 23:42 UTC (permalink / raw) To: emacs-devel On 9/14/20 7:20 AM, Thibaut Verron wrote: > Le lun. 14 sept. 2020 à 00:11, Gregory Heytings via Emacs development > discussions. <emacs-devel@gnu.org <mailto:emacs-devel@gnu.org>> a écrit : > > Apart from the vertical presentation (which icomplete will apparently soon > have), does ivy have a feature that icomplete does not have? I can't find > one myself, but perhaps I'm missing something. > > > Does icomplete support different actions on the completion? > > For example, if I want to insert a file name with completion, I can do C-x C-f > (counsel-find-file), use ivy-completion to get the name, then M-o pops a list > of actions and tells me to press i to insert the file I selected. For such an > action which I do quite rarely, I find it easier than remember how to invoke > insert-file-name (including the name of the actual function). One option is Embark <https://github.com/oantolin/embark>, by the author of Icomplete Vertical. It can be used to add alternative actions to completion frameworks like Icomplete and Selectrum. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-14 23:42 ` E @ 2020-09-15 7:40 ` Ergus 2020-09-15 23:40 ` E 0 siblings, 1 reply; 173+ messages in thread From: Ergus @ 2020-09-15 7:40 UTC (permalink / raw) To: E; +Cc: emacs-devel On Mon, Sep 14, 2020 at 11:42:21PM +0000, E wrote: >On 9/14/20 7:20 AM, Thibaut Verron wrote: >> Le�lun. 14 sept. 2020 �00:11, Gregory Heytings via Emacs development >> discussions. <emacs-devel@gnu.org <mailto:emacs-devel@gnu.org>> a �crit�: >> >> Apart from the vertical presentation (which icomplete will apparently soon >> have), does ivy have a feature that icomplete does not have?� I can't find >> one myself, but perhaps I'm missing something. >> >> >> Does icomplete support different actions on the completion? >> >> For example, if I want to insert a file name with completion, I can do C-x C-f >> (counsel-find-file), use ivy-completion to get the name, then M-o pops a list >> of actions and tells me to press i to insert the file I selected. For such an >> action which I do quite rarely, I find it easier than remember how to invoke >> insert-file-name (including the name of the actual function). > >One option is Embark <https://github.com/oantolin/embark>, by the author of >Icomplete Vertical. It can be used to add alternative actions to completion >frameworks like Icomplete and Selectrum. > > This looks nice but only this is longer than all icomplete itself. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-15 7:40 ` Ergus @ 2020-09-15 23:40 ` E 0 siblings, 0 replies; 173+ messages in thread From: E @ 2020-09-15 23:40 UTC (permalink / raw) To: Ergus; +Cc: emacs-devel On 9/15/20 3:40 AM, Ergus wrote: > > On Mon, Sep 14, 2020 at 11:42:21PM +0000, E wrote: >> On 9/14/20 7:20 AM, Thibaut Verron wrote: >>> Le�lun. 14 sept. 2020 �00:11, Gregory Heytings via Emacs development >>> discussions. <emacs-devel@gnu.org <mailto:emacs-devel@gnu.org>> a �crit�: >>> >>> Apart from the vertical presentation (which icomplete will apparently soon >>> have), does ivy have a feature that icomplete does not have?� I can't find >>> one myself, but perhaps I'm missing something. >>> >>> >>> Does icomplete support different actions on the completion? >>> >>> For example, if I want to insert a file name with completion, I can do C-x C-f >>> (counsel-find-file), use ivy-completion to get the name, then M-o pops a list >>> of actions and tells me to press i to insert the file I selected. For such an >>> action which I do quite rarely, I find it easier than remember how to invoke >>> insert-file-name (including the name of the actual function). >> >> One option is Embark <https://github.com/oantolin/embark>, by the author of >> Icomplete Vertical. It can be used to add alternative actions to completion >> frameworks like Icomplete and Selectrum. >> >> > This looks nice but only this is longer than all icomplete itself. I feel like it's not fair to judge Embark by length, since it isn't building upon many existing features, and comes with several commands already defined. I don't think that the author would intentionally make the package more complicated than it has to be. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-14 11:20 ` Thibaut Verron 2020-09-14 23:42 ` E @ 2020-09-15 12:10 ` Stephen Leake 2020-09-15 12:22 ` Thibaut Verron 2020-09-15 23:33 ` E 1 sibling, 2 replies; 173+ messages in thread From: Stephen Leake @ 2020-09-15 12:10 UTC (permalink / raw) To: emacs-devel Thibaut Verron <thibaut.verron@gmail.com> writes: > Le lun. 14 sept. 2020 à 00:11, Gregory Heytings via Emacs development > discussions. <emacs-devel@gnu.org> a écrit : > >> Apart from the vertical presentation (which icomplete will apparently soon >> have), does ivy have a feature that icomplete does not have? I can't find >> one myself, but perhaps I'm missing something. >> > > Does icomplete support different actions on the completion? > > For example, if I want to insert a file name with completion, I can do C-x > C-f (counsel-find-file), use ivy-completion to get the name, then M-o pops > a list of actions and tells me to press i to insert the file I selected. > For such an action which I do quite rarely, I find it easier than remember > how to invoke insert-file-name (including the name of the actual > function). That functionality is apparently provided by counsel, not by ivy. Presumably counsel also works with icomplete; is that combination missing anything? -- -- Stephe ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-15 12:10 ` Stephen Leake @ 2020-09-15 12:22 ` Thibaut Verron 2020-09-15 23:33 ` E 1 sibling, 0 replies; 173+ messages in thread From: Thibaut Verron @ 2020-09-15 12:22 UTC (permalink / raw) To: Stephen Leake; +Cc: emacs-devel > > For example, if I want to insert a file name with completion, I can do C-x > > C-f (counsel-find-file), use ivy-completion to get the name, then M-o pops > > a list of actions and tells me to press i to insert the file I selected. > > For such an action which I do quite rarely, I find it easier than remember > > how to invoke insert-file-name (including the name of the actual > > function). > > That functionality is apparently provided by counsel, not by ivy. I do not know how much ivy and counsel are separated here. I looked for a pure ivy entry point to find-file before answering, but all I could find was counsel-find-file. On the other hand, both ivy-switch-buffer and counsel-switch-buffer offer such a choice of actions on M-o. > Presumably counsel also works with icomplete; is that combination > missing anything? I do not have any experience with that. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-15 12:10 ` Stephen Leake 2020-09-15 12:22 ` Thibaut Verron @ 2020-09-15 23:33 ` E 1 sibling, 0 replies; 173+ messages in thread From: E @ 2020-09-15 23:33 UTC (permalink / raw) To: emacs-devel On 9/15/20 8:10 AM, Stephen Leake wrote: >> >> For example, if I want to insert a file name with completion, I can do C-x >> C-f (counsel-find-file), use ivy-completion to get the name, then M-o pops >> a list of actions and tells me to press i to insert the file I selected. >> For such an action which I do quite rarely, I find it easier than remember >> how to invoke insert-file-name (including the name of the actual >> function). > > That functionality is apparently provided by counsel, not by ivy. > > Presumably counsel also works with icomplete; is that combination > missing anything? > > -- > -- Stephe > Counsel is a package with many commands that use Ivy's functions specifically. I wouldn't assume that is would work with Icomplete. You can see the file here: https://github.com/abo-abo/swiper/blob/master/counsel.el The alternative actions are created by providing arguments to `ivy-set-actions', and Counsel commands needing completion use `ivy-read'. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-13 2:35 ` Ergus 2020-09-13 17:56 ` Dmitry Gutov @ 2020-09-13 18:01 ` Dmitry Gutov 2020-09-13 18:20 ` Tim Van den Langenbergh 2 siblings, 0 replies; 173+ messages in thread From: Dmitry Gutov @ 2020-09-13 18:01 UTC (permalink / raw) To: Ergus; +Cc: ghe, Eli Zaretskii, casouri, emacs-devel On 13.09.2020 05:35, Ergus wrote: >> Even so, it has unfortunate limitations like not being able to adjust >> the height according to the number of available completions. And >> different features that use minibuffer are likely to expose other >> sharp corners of this (very impressive) hack. Like, some previous >> version of icomplete-vertial failed to work with it. The current seems >> to work fine, though. >> > I have been trying ivy-posframe and it seems that the posframe library > solves this for them. Sorry, missed this reply. Indeed, the height issue seems to be solved there. I don't 100% like how it behaves in the middle of the frame, but that can be improved too. No fundamental limitations there, at least. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-13 2:35 ` Ergus 2020-09-13 17:56 ` Dmitry Gutov 2020-09-13 18:01 ` Dmitry Gutov @ 2020-09-13 18:20 ` Tim Van den Langenbergh 2020-09-13 21:10 ` Ergus 2 siblings, 1 reply; 173+ messages in thread From: Tim Van den Langenbergh @ 2020-09-13 18:20 UTC (permalink / raw) To: emacs-devel; +Cc: Ergus [-- Attachment #1: Type: text/plain, Size: 670 bytes --] On Sunday, 13 September 2020 04:35:22 CEST Ergus wrote: > I think that "something similar" is ivy+counsel. It works pretty fine, > lighter than helm and it is in elpa. The api engine is very polished and > the experience in general is better than with icomplete because it also > has integrated all the completion engines, sorting and formats in a > modular way. Well, ivy still has the problem that it doesn't handle file finding properly. (I.E. in normal find-file I can type ~/.c/r/r<TAB> and it gets auto-completed to ~/.config/retroarch/re with further completions. If I try that with Ivy I get ~/.cache/r/r without further completions.) Icomplete is fine, though. [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-13 18:20 ` Tim Van den Langenbergh @ 2020-09-13 21:10 ` Ergus 0 siblings, 0 replies; 173+ messages in thread From: Ergus @ 2020-09-13 21:10 UTC (permalink / raw) To: Tim Van den Langenbergh; +Cc: emacs-devel On Sun, Sep 13, 2020 at 08:20:23PM +0200, Tim Van den Langenbergh wrote: >On Sunday, 13 September 2020 04:35:22 CEST Ergus wrote: >> I think that "something similar" is ivy+counsel. It works pretty fine, >> lighter than helm and it is in elpa. The api engine is very polished and >> the experience in general is better than with icomplete because it also >> has integrated all the completion engines, sorting and formats in a >> modular way. > >Well, ivy still has the problem that it doesn't handle file finding properly. >(I.E. in normal find-file I can type ~/.c/r/r<TAB> and it gets auto-completed >to ~/.config/retroarch/re with further completions. If I try that with Ivy I >get ~/.cache/r/r without further completions.) >Icomplete is fine, though. I have never used that :p. Any way did you report that in the ivy repository issues? @abo-abo usually solves that kind of problems very quickly. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-13 0:01 ` Dmitry Gutov 2020-09-13 2:35 ` Ergus @ 2020-09-13 7:14 ` Gregory Heytings via Emacs development discussions. 2020-09-13 14:04 ` Eli Zaretskii 2 siblings, 0 replies; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-13 7:14 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Eli Zaretskii, Ergus, casouri, emacs-devel > > To my knowledge, if we want to come close to what those other editors > show, our current best bet is icomplete-vertical (or something similar > to it) PLUS a packages that moves the minibuffer to either the center or > the top of the frame (or makes it seem live the minibuffer has been > moved, of course). > FWIW, I don't think this is necessary. We should not aim at creating a (visual) clone of some other editor. Icomplete with a vertical candidates list is IMO intuitive enough for new users to adapt to it. Emacs' commands are entered at the bottom of the frame, contrary to what some / most other editors do, and AFAICS this is fine. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-13 0:01 ` Dmitry Gutov 2020-09-13 2:35 ` 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 ` (2 more replies) 2 siblings, 3 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-13 14:04 UTC (permalink / raw) To: Dmitry Gutov; +Cc: ghe, spacibba, casouri, emacs-devel > Cc: ghe@sdf.org, casouri@gmail.com, emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Sun, 13 Sep 2020 03:01:42 +0300 > > I don't see what's so complicated you see about icomplete-mode. If you > have problems when trying to use it, perhaps you should ask questions? It isn't complicated for me, I'm familiar with icomplete-mode for quite some time. I think it will be complicated and confusing for newcomers, especially if they expect a very different style of completion. Company is much closer to what they expect, I think. > To my knowledge, if we want to come close to what those other editors > show, our current best bet is icomplete-vertical (or something similar > to it) PLUS a packages that moves the minibuffer to either the center or > the top of the frame (or makes it seem live the minibuffer has been > moved, of course). Those have an annoying misfeature of causing jumps in the window above the minibuffer. Other possibilities exist, but my point is that if we want to offer a better completion to make it easier for newcomers who expect something like that, we should work on a completion style that they expect, or something very similar, and icomplete-mode isn't. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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-13 17:47 ` Dmitry Gutov 2020-09-14 14:17 ` Gregory Heytings via Emacs development discussions. 2 siblings, 2 replies; 173+ messages in thread From: John Yates @ 2020-09-13 16:38 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ghe, Ergus, Emacs developers, Yuan Fu, Dmitry Gutov On Sun, Sep 13, 2020 at 10:05 AM Eli Zaretskii <eliz@gnu.org> wrote: > > From: Dmitry Gutov <dgutov@yandex.ru> > > > To my knowledge, if we want to come close to what those other editors > > show, our current best bet is icomplete-vertical (or something similar > > to it) PLUS a packages that moves the minibuffer to either the center or > > the top of the frame (or makes it seem live the minibuffer has been > > moved, of course). > > Those have an annoying misfeature of causing jumps in the window above > the minibuffer. Over the decades, as I have moved from a 24 line VT-100 to 32" 4K / 3840x2160 pixwl monitor with more than 80 lines of text, one of the least pleasant changes in using emacs as has been the distance my eyestravel to reach the minibuffer. When a buffer contains fewer lines than its window the text is vertically justified against the top of the window. Thus my eyes regularly flick from screen top to bottom and back. Furthermore, where previously, on screens with fewer lines, the minibuffer remained within my field of view, today that is no longer the case. IIUC, the misfeature to which Eli refers is a desire to preserve visibility of a window's top line in the face of window resizing. That is surely not unexpected behavior. My guess is this model springs from a desire to keep as much relevant context on screen as possible. An alternative UI model would be to think of growing a frame top minibuffer as dropping down a shade over the existing window(s). This dropping down would not trigger resizing. Instead it would obscure as much of the visible window(s) as necessary (at least until the shade hits a window mode line or lower border). /john ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-13 16:38 ` John Yates @ 2020-09-13 16:51 ` Eli Zaretskii 2020-09-13 17:39 ` Dmitry Gutov 1 sibling, 0 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-13 16:51 UTC (permalink / raw) To: John Yates; +Cc: ghe, spacibba, emacs-devel, casouri, dgutov > From: John Yates <john@yates-sheets.org> > Date: Sun, 13 Sep 2020 12:38:14 -0400 > Cc: Dmitry Gutov <dgutov@yandex.ru>, ghe@sdf.org, Ergus <spacibba@aol.com>, > Yuan Fu <casouri@gmail.com>, Emacs developers <emacs-devel@gnu.org> > > IIUC, the misfeature to which Eli refers is a desire to preserve > visibility of a window's top line in the face of window resizing. No, the reason is that Emacs always keeps point visible. So when the mini-window needs to be expanded in a way that will hide the point's line, the selected window will scroll to keep point visible. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 1 sibling, 1 reply; 173+ messages in thread From: Dmitry Gutov @ 2020-09-13 17:39 UTC (permalink / raw) To: John Yates, Eli Zaretskii; +Cc: ghe, Ergus, Yuan Fu, Emacs developers On 13.09.2020 19:38, John Yates wrote: > An alternative UI model would be to think of growing a frame top > minibuffer as dropping down a shade over the existing window(s). > This dropping down would not trigger resizing. Instead it would > obscure as much of the visible window(s) as necessary (at least > until the shade hits a window mode line or lower border). That's what maple-minibuffer does, mentioned in my previous email in this thread. With a link to a screencast. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-13 17:39 ` Dmitry Gutov @ 2020-09-14 12:41 ` John Yates 2020-09-14 15:28 ` Eli Zaretskii 2020-09-14 22:28 ` Dmitry Gutov 0 siblings, 2 replies; 173+ messages in thread From: John Yates @ 2020-09-14 12:41 UTC (permalink / raw) To: Dmitry Gutov; +Cc: ghe, Eli Zaretskii, Yuan Fu, Ergus, Emacs developers On Sun, Sep 13, 2020 at 1:39 PM Dmitry Gutov <dgutov@yandex.ru> wrote: > > On 13.09.2020 19:38, John Yates wrote: > > An alternative UI model would be to think of growing a frame top > > minibuffer as dropping down a shade over the existing window(s). > > This dropping down would not trigger resizing. Instead it would > > obscure as much of the visible window(s) as necessary (at least > > until the shade hits a window mode line or lower border). > > That's what maple-minibuffer does, mentioned in my previous email in > this thread. With a link to a screencast. Only up to a point... The pop-up frame is fixed size. When the maple framei s not popped up the minibuffer remains at the bottom of the frame. My druthers on a large screen would be to have: * The minibuffer always at the top of the frame * Window mode lines at the top of their windows * On growing the minibuffer, no attempt to keep point or windows visible (i.e. a variable-height drop-down shade) /john ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-14 12:41 ` John Yates @ 2020-09-14 15:28 ` Eli Zaretskii 2020-09-15 1:42 ` John Yates 2020-09-14 22:28 ` Dmitry Gutov 1 sibling, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-14 15:28 UTC (permalink / raw) To: John Yates; +Cc: ghe, spacibba, emacs-devel, casouri, dgutov > From: John Yates <john@yates-sheets.org> > Date: Mon, 14 Sep 2020 08:41:21 -0400 > Cc: Eli Zaretskii <eliz@gnu.org>, ghe@sdf.org, Ergus <spacibba@aol.com>, > Yuan Fu <casouri@gmail.com>, Emacs developers <emacs-devel@gnu.org> > > * On growing the minibuffer, no attempt to keep point or windows visible That'd be a misfeature, no? The text you were working on or reading will disappear from view. To say nothing about the fact this would mean a major surgery of the display code. > (i.e. a variable-height drop-down shade) Can you elaborate about this (and its relevance to growing the mini-window)? I don't think I see the relation. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-14 15:28 ` Eli Zaretskii @ 2020-09-15 1:42 ` John Yates 2020-09-15 7:00 ` Göktuğ Kayaalp 2020-09-15 14:15 ` Eli Zaretskii 0 siblings, 2 replies; 173+ messages in thread From: John Yates @ 2020-09-15 1:42 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ghe, Ergus, Emacs developers, Yuan Fu, Dmitry Gutov On Mon, Sep 14, 2020 at 11:28 AM Eli Zaretskii <eliz@gnu.org> wrote: > > From: John Yates <john@yates-sheets.org> > > > > * On growing the minibuffer, no attempt to keep point or windows visible > > That'd be a misfeature, no? The text you were working on or reading > will disappear from view. To say nothing about the fact this would > mean a major surgery of the display code. I do not feel so. In most other UIs to which I have been exposed, when a dialog box pops up, there is usually no attempt to preserve visibility of any particular portion of the underlying application. Sometimes the dialog box can be dragged but my impression is that an increasing number of frameworks are foregoing that nicity. My guess is that this is because, with properly designed interactions, it is exceedingly rare to need to refer back to the underlying application in order to complete the dialog box interaction. > > (i.e. a variable-height drop-down shade) > > Can you elaborate about this (and its relevance to growing the > mini-window)? I don't think I see the relation. Forgive me if I inaccurately conflate the minibuffer and the echo area. Let me try some pictures. Minibuffer in its minimal, collapsed, single line state: +=========================== Top of Frame ========================== | Minibuffer line 1 +------------------------ Top Edge Window 1 ------------------------ | Window 1 Mode line +------------------------------------------------------------------- | a | b | c | Window 1 contents | x | y | z +----------------------- Top Edge Window 2 ------------------------ | Window 2 Mode line +------------------------------------------------------------------- | p | q | r | Window 1 contents | u | v | w +-======================== Bottom of Frame ========================= Minibuffer grows by one line, "shading" the first mode line: +=========================== Top of Frame ========================== | Minibuffer line 1 | Minibuffer line 2 +------------------------------------------------------------------- | a | b | c | Window 1 contents | x | y | z +------------------------ Top Edge Window 2 ------------------------ | Window 2 Mode line +------------------------------------------------------------------- | p | q | r | Window 1 contents | u | v | w +========================= Bottom of Frame ========================= Minibuffer grows to five lines, "shading" 3 lines of window 1's contents: +=========================== Top of Frame ========================== | Minibuffer line 1 | Minibuffer line 2 | Minibuffer line 3 | Minibuffer line 4 | Minibuffer line 5 +------------------------------------------------------------------- | Window 1 contents | x | y | z +------------------------ Top Edge Window 2 ------------------------ | Window 2 Mode line +------------------------------------------------------------------- | p | q | r | Window 1 contents | u | v | w +========================= Bottom of Frame ========================= It is this minibuffer growing from the top of the frame downward and obscuring whatever it encounters that I describe as a "drop down shade". I understand that this is a new display behavior. That said, is it not simpler and entirely independent of how resizing the minibuffer works today? /john ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-15 1:42 ` John Yates @ 2020-09-15 7:00 ` Göktuğ Kayaalp 2020-09-16 3:30 ` John Yates 2020-09-15 14:15 ` Eli Zaretskii 1 sibling, 1 reply; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-15 7:00 UTC (permalink / raw) To: emacs-devel; +Cc: ghe, Eli Zaretskii, Yuan Fu, Ergus, Dmitry Gutov On 2020-09-15 04:42 +03, John Yates <john@yates-sheets.org> wrote: >> That'd be a misfeature, no? The text you were working on or reading >> will disappear from view. To say nothing about the fact this would >> mean a major surgery of the display code. > I do not feel so. In most other UIs to which I have been exposed, > when a dialog box pops up, there is usually no attempt to preserve > visibility of any particular portion of the underlying application. > Sometimes the dialog box can be dragged but my impression is that > an increasing number of frameworks are foregoing that nicity. My > guess is that this is because, with properly designed interactions, > it is exceedingly rare to need to refer back to the underlying > application in order to complete the dialog box interaction. Emacs supports far richer interactions than usual desktop applications (some examples in the questions below). It’s more than just ‘referring back’ in Emacs’ case. > Minibuffer in its minimal, collapsed, single line state: [... snip ...] > Minibuffer grows by one line, "shading" the first mode line: [... snip ...] > Minibuffer grows to five lines, "shading" 3 lines of window 1's contents: [... snip ...] > It is this minibuffer growing from the top of the frame downward and > obscuring whatever it encounters that I describe as a "drop down shade". > > I understand that this is a new display behavior. That said, is it > not simpler and entirely independent of how resizing the minibuffer > works today? 1) How does this interact with a scenario where user goes back and forth between editing the minibuffer vs. some displayed buffer? 2) One might be looking at their notes while editing the minibuffer. E.g. imagine reading some docs and M-xing some commands from it, or naming an Org link, etc. 3) Would it be possible to revert this back to the current behaviour with a user option? 4) How is this better than how other editors do their ‘command palettes’? Isn’t it better to just pop up a centered frame and do completions there? With the added benefit of being able to move the thing around and focus back to the buffer. 5) While a command palette at the bottom of the application is somewhat obscure, one up top is probably novel. Frankly I don’t like the idea of having a single empty line right in the line of my sight, constantly, taking up space right where my eyes go by default when reading stuff. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-15 7:00 ` Göktuğ Kayaalp @ 2020-09-16 3:30 ` John Yates 2020-09-16 10:14 ` Göktuğ Kayaalp 0 siblings, 1 reply; 173+ messages in thread From: John Yates @ 2020-09-16 3:30 UTC (permalink / raw) To: Göktuğ Kayaalp Cc: Ergus, Yuan Fu, Emacs developers, Dmitry Gutov, ghe, Eli Zaretskii On Tue, Sep 15, 2020 at 3:01 AM Göktuğ Kayaalp <self@gkayaalp.com> wrote: > 1) How does this interact with a scenario where user goes back and forth > between editing the minibuffer vs. some displayed buffer? I am aware that the current behavior supports this possible style of interaction. I cannot remember having ever used it myself. Based on that experience my attitude is that such interactions are rare enough that I am willing to disadvantage them a bit to improve the more common cases. To restore the ability to interact as you have described I suggest a key binding to re-layout the all windows, including the expanded minibuffer. Would that not allow you to carry out your back and forth interactions just as you would do today? > 2) One might be looking at their notes while editing the minibuffer. > E.g. imagine reading some docs and M-xing some commands from it, or > naming an Org link, etc. I am not sure I follow. While one is reading the doc and M-xing commands, the minibuffer is likely to be in its minimal, collapsed state, just as it would be today. Even if, while executing some M-x command, the minibuffer were to grow to overlap some portion of the visible window(s) I contend that, most likely, the user would complete that interaction, thereby causing the minibuffer to revert to its collapsed state, prior to the user needing to return to his/her source document. > 3) Would it be possible to revert this back to the current behaviour > with a user option? Of course. That is the emacs way. And, were such minibuffer behavior ever to become available, I cannot imagine it being shipped as the default. It would be opt-in. > 4) How is this better than how other editors do their ‘command > palettes’? Isn’t it better to just pop up a centered frame and do > completions there? With the added benefit of being able to move the > thing around and focus back to the buffer. If you go back to when I first joined the thread you will see that I am especially interested in optimizing emacs on very large, hi res screens. Popping up a dialog box in the middle of such a screen is nearly as bad as expanding the minibuffer up from the bottom of the screen. I find the prospect of needing to drag a dialog box around less appealing than the single key binding to re-layout the windows (as suggested above). A key binding is definitely more consitent with emacs' traditional solutions. > 5) While a command palette at the bottom of the application is somewhat > obscure, one up top is probably novel. Frankly I don’t like the idea > of having a single empty line right in the line of my sight, > constantly, taking up space right where my eyes go by default when > reading stuff. You must live in a world devoid of title bars nor menu bars. /john ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-16 3:30 ` John Yates @ 2020-09-16 10:14 ` Göktuğ Kayaalp 0 siblings, 0 replies; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-16 10:14 UTC (permalink / raw) To: John Yates Cc: Ergus, Yuan Fu, Emacs developers, ghe, Dmitry Gutov, Göktuğ Kayaalp, Eli Zaretskii On 2020-09-16 06:30 +03, John Yates <john@yates-sheets.org> wrote: > On Tue, Sep 15, 2020 at 3:01 AM Göktuğ Kayaalp <self@gkayaalp.com> wrote: >> 3) Would it be possible to revert this back to the current behaviour >> with a user option? > Of course. That is the emacs way. And, were such minibuffer > behavior ever to become available, I cannot imagine it being > shipped as the default. It would be opt-in. Well that makes any other talk unnecessary. So long as it’s an addition and not a replacement (sorry for not noticing that part, a lot of suggestions in these threads are at the cost of breaking existing users’ workflows that I read yours with some prejudice), it’s all the better for everyone. Good old TIMTOWDY. >> 5) While a command palette at the bottom of the application is somewhat >> obscure, one up top is probably novel. Frankly I don’t like the idea >> of having a single empty line right in the line of my sight, >> constantly, taking up space right where my eyes go by default when >> reading stuff. > You must live in a world devoid of title bars nor menu bars. FWIW, that’s been the case for a pretty long time, and even these days where I’m on a more traditional desktop (Cinnamon) I rarely find myself using menus. Tho the set of applications I consistently use is rather small (Emacs, Qutebrowser/Firefox, Okular, Zotero, Terminal every now and then), so I tend to know a decent chunk of keyboard shortcuts. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-15 1:42 ` John Yates 2020-09-15 7:00 ` Göktuğ Kayaalp @ 2020-09-15 14:15 ` Eli Zaretskii 1 sibling, 0 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-15 14:15 UTC (permalink / raw) To: John Yates; +Cc: ghe, spacibba, emacs-devel, casouri, dgutov > From: John Yates <john@yates-sheets.org> > Date: Mon, 14 Sep 2020 21:42:42 -0400 > Cc: Dmitry Gutov <dgutov@yandex.ru>, ghe@sdf.org, Ergus <spacibba@aol.com>, > Yuan Fu <casouri@gmail.com>, Emacs developers <emacs-devel@gnu.org> > > > > (i.e. a variable-height drop-down shade) > > > > Can you elaborate about this (and its relevance to growing the > > mini-window)? I don't think I see the relation. > > Forgive me if I inaccurately conflate the minibuffer and the echo > area. Let me try some pictures. > > > Minibuffer in its minimal, collapsed, single line state: Ah, so this should go together with "minibuffer on top". Thanks, now everything is clear. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-14 12:41 ` John Yates 2020-09-14 15:28 ` Eli Zaretskii @ 2020-09-14 22:28 ` Dmitry Gutov 1 sibling, 0 replies; 173+ messages in thread From: Dmitry Gutov @ 2020-09-14 22:28 UTC (permalink / raw) To: John Yates; +Cc: ghe, Eli Zaretskii, Yuan Fu, Ergus, Emacs developers On 14.09.2020 15:41, John Yates wrote: > On Sun, Sep 13, 2020 at 1:39 PM Dmitry Gutov <dgutov@yandex.ru> wrote: >> >> On 13.09.2020 19:38, John Yates wrote: >>> An alternative UI model would be to think of growing a frame top >>> minibuffer as dropping down a shade over the existing window(s). >>> This dropping down would not trigger resizing. Instead it would >>> obscure as much of the visible window(s) as necessary (at least >>> until the shade hits a window mode line or lower border). >> >> That's what maple-minibuffer does, mentioned in my previous email in >> this thread. With a link to a screencast. > > Only up to a point... > > The pop-up frame is fixed size. When the maple framei s not > popped up the minibuffer remains at the bottom of the frame. Do you mean the echo area or the commands which use the minibuffer which maple-minibuffer ignores? I'm not sure why 'eval-expression' is in 'maple-minibuffer:ignore-action' by default, but there must be some reason. In any case, if we want this feature well-integrated, there must be some initiative from the maintainers toward that end. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-13 14:04 ` Eli Zaretskii 2020-09-13 16:38 ` John Yates @ 2020-09-13 17:47 ` Dmitry Gutov 2020-09-14 14:17 ` Gregory Heytings via Emacs development discussions. 2 siblings, 0 replies; 173+ messages in thread From: Dmitry Gutov @ 2020-09-13 17:47 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ghe, spacibba, casouri, emacs-devel On 13.09.2020 17:04, Eli Zaretskii wrote: >> I don't see what's so complicated you see about icomplete-mode. If you >> have problems when trying to use it, perhaps you should ask questions? > > It isn't complicated for me, I'm familiar with icomplete-mode for > quite some time. I think it will be complicated and confusing for > newcomers, especially if they expect a very different style of > completion. Perhaps. But it's a bridge between what the oldies > Company is much closer to what they expect, I think. But you didn't even care to acknowledge the company-based example in my previous email? >> To my knowledge, if we want to come close to what those other editors >> show, our current best bet is icomplete-vertical (or something similar >> to it) PLUS a packages that moves the minibuffer to either the center or >> the top of the frame (or makes it seem live the minibuffer has been >> moved, of course). > > Those have an annoying misfeature of causing jumps in the window above > the minibuffer. No, they don't. That's the point. Did you look at the screencast gif? > Other possibilities exist, but my point is that if we want to offer a > better completion to make it easier for newcomers who expect something > like that, we should work on a completion style that they expect, or > something very similar, and icomplete-mode isn't. Have you tried icomplete-vertical? Whether we choose icomplete or Ivy, though, the issue of being able to offer a UI where the minibuffer is overlayed on top of the frame is something we should work on. And it's something tied to a lower level functionality than just completion styles (the minibuffer, the echo area, and the frames display logic). ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-13 14:04 ` Eli Zaretskii 2020-09-13 16:38 ` John Yates 2020-09-13 17:47 ` Dmitry Gutov @ 2020-09-14 14:17 ` Gregory Heytings via Emacs development discussions. 2 siblings, 0 replies; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-14 14:17 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel >> To my knowledge, if we want to come close to what those other editors >> show, our current best bet is icomplete-vertical (or something similar >> to it) PLUS a packages that moves the minibuffer to either the center >> or the top of the frame (or makes it seem live the minibuffer has been >> moved, of course). > > Those have an annoying misfeature of causing jumps in the window above > the minibuffer. > > Other possibilities exist, but my point is that if we want to offer a > better completion to make it easier for newcomers who expect something > like that, we should work on a completion style that they expect, or > something very similar, and icomplete-mode isn't. > I never noticed that misfeature before you mentioned it, and I agree with you that it could surprise newcomers. However, with (setq scroll-conservatively 101), which is one of the suggested options in the proposal, its effect is much more limited, and I believe newcomers would not be surprised anymore. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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-26 9:16 ` Elias Mårtenson 2020-09-26 9:31 ` Eli Zaretskii ` (2 more replies) 2 siblings, 3 replies; 173+ messages in thread From: Elias Mårtenson @ 2020-09-26 9:16 UTC (permalink / raw) To: Gregory Heytings; +Cc: Eli Zaretskii, Yuan Fu, emacs-devel [-- Attachment #1: Type: text/plain, Size: 717 bytes --] On Sat, 12 Sep 2020, 18:36 Gregory Heytings via Emacs development discussions., <emacs-devel@gnu.org> wrote: > > "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. > At the risk of adding to the bikeshedding, may I ask that if you click on "don't display again", the UI displays a brief explanation that it created the file and where it is? It's a pet peeve of mine because in many applications I have selected such options accidentally and then had no way to find out how to get back to the original state. > [-- Attachment #2: Type: text/html, Size: 1308 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 16:01 ` Jean Louis 2 siblings, 0 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-26 9:31 UTC (permalink / raw) To: Elias Mårtenson; +Cc: ghe, casouri, emacs-devel > From: Elias Mårtenson <lokedhs@gmail.com> > Date: Sat, 26 Sep 2020 17:16:47 +0800 > Cc: Eli Zaretskii <eliz@gnu.org>, Yuan Fu <casouri@gmail.com>, emacs-devel@gnu.org > > "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. > > At the risk of adding to the bikeshedding, may I ask that if you click on "don't display again", the UI displays a > brief explanation that it created the file and where it is? > > It's a pet peeve of mine because in many applications I have selected such options accidentally and then had > no way to find out how to get back to the original state. Perhaps a better way would be to have a menu item that "displays again" the initial greeting? (That could be in addition to the brief explanation you propose displaying.) ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: Interactive guide for new users 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:39 ` Andreas Schwab 2020-09-26 16:01 ` Jean Louis 2 siblings, 2 replies; 173+ messages in thread From: Drew Adams @ 2020-09-26 14:38 UTC (permalink / raw) To: Elias Mårtenson, Gregory Heytings Cc: Eli Zaretskii, Yuan Fu, emacs-devel > may I ask that if you click on "don't display again", > the UI displays a brief explanation that it created > the file and where it is? > > It's a pet peeve of mine because in many applications > I have selected such options accidentally and then > had no way to find out how to get back to the original state. Yup. It's a pain to have to google later to find out how to set/unset/reset some setting (preference). Particularly a setting you chose (especially if forced to choose) on the fly when you brought up an app for the first time. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 1 sibling, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-26 15:13 UTC (permalink / raw) To: Drew Adams; +Cc: ghe, casouri, lokedhs, emacs-devel > Date: Sat, 26 Sep 2020 07:38:21 -0700 (PDT) > From: Drew Adams <drew.adams@oracle.com> > Cc: Eli Zaretskii <eliz@gnu.org>, Yuan Fu <casouri@gmail.com>, > emacs-devel@gnu.org > > > may I ask that if you click on "don't display again", > > the UI displays a brief explanation that it created > > the file and where it is? > > > > It's a pet peeve of mine because in many applications > > I have selected such options accidentally and then > > had no way to find out how to get back to the original state. > > Yup. It's a pain to have to google later to > find out how to set/unset/reset some setting > (preference). They will google anyway. ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: Interactive guide for new users 2020-09-26 15:13 ` Eli Zaretskii @ 2020-09-26 16:33 ` Drew Adams 0 siblings, 0 replies; 173+ messages in thread From: Drew Adams @ 2020-09-26 16:33 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ghe, casouri, lokedhs, emacs-devel > > > may I ask that if you click on "don't display again", > > > the UI displays a brief explanation that it created > > > the file and where it is? > > > > > > It's a pet peeve of mine because in many applications > > > I have selected such options accidentally and then > > > had no way to find out how to get back to the original state. > > > > Yup. It's a pain to have to google later to > > find out how to set/unset/reset some setting > > (preference). > > They will google anyway. Maybe some. Not all. If we tell them, then they won't _have_ to google. But yes, some will google anyway. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-26 14:38 ` Drew Adams 2020-09-26 15:13 ` Eli Zaretskii @ 2020-09-26 16:39 ` Andreas Schwab 2020-09-26 16:57 ` Drew Adams 1 sibling, 1 reply; 173+ messages in thread From: Andreas Schwab @ 2020-09-26 16:39 UTC (permalink / raw) To: Drew Adams Cc: Gregory Heytings, Eli Zaretskii, Elias Mårtenson, Yuan Fu, emacs-devel On Sep 26 2020, Drew Adams wrote: >> may I ask that if you click on "don't display again", >> the UI displays a brief explanation that it created >> the file and where it is? >> >> It's a pet peeve of mine because in many applications >> I have selected such options accidentally and then >> had no way to find out how to get back to the original state. > > Yup. It's a pain to have to google later to > find out how to set/unset/reset some setting > (preference). > > Particularly a setting you chose (especially > if forced to choose) on the fly when you > brought up an app for the first time. I don't think a transient display of the explanation will fundamentally change the situation. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: Interactive guide for new users 2020-09-26 16:39 ` Andreas Schwab @ 2020-09-26 16:57 ` Drew Adams 0 siblings, 0 replies; 173+ messages in thread From: Drew Adams @ 2020-09-26 16:57 UTC (permalink / raw) To: Andreas Schwab Cc: Gregory Heytings, Eli Zaretskii, Elias Mårtenson, Yuan Fu, emacs-devel > >> may I ask that if you click on "don't display again", > >> the UI displays a brief explanation that it created > >> the file and where it is? > >> > >> It's a pet peeve of mine because in many applications > >> I have selected such options accidentally and then > >> had no way to find out how to get back to the original state. > > > > Yup. It's a pain to have to google later to > > find out how to set/unset/reset some setting > > (preference). > > > > Particularly a setting you chose (especially > > if forced to choose) on the fly when you > > brought up an app for the first time. > > I don't think a transient display of the explanation > will fundamentally change the situation. I agree. I was speaking about the problem (pet peeve), not any particular proposed solution. In general, Emacs is good at letting you find things out about it, including how to undo damage or restore things. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 16:01 ` Jean Louis 2 siblings, 0 replies; 173+ messages in thread From: Jean Louis @ 2020-09-26 16:01 UTC (permalink / raw) To: Elias Mårtenson Cc: Gregory Heytings, Eli Zaretskii, Yuan Fu, emacs-devel * Elias Mårtenson <lokedhs@gmail.com> [2020-09-26 12:17]: > On Sat, 12 Sep 2020, 18:36 Gregory Heytings via Emacs development > discussions., <emacs-devel@gnu.org> wrote: > > > > > "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. > > > > At the risk of adding to the bikeshedding, may I ask that if you click on > "don't display again", the UI displays a brief explanation that it created > the file and where it is? > > It's a pet peeve of mine because in many applications I have selected such > options accidentally and then had no way to find out how to get back to the > original state. That could maybe be solved by turning the imaginary help-me-return-to-original-state-mode that could log various messages and show hints to the user in the minibar, just as the Midnight Commander file manager is showing it to users. If such mode would be turned on, it would more clearly then the message log, inform the user which file was saved and where, and how to get to the file back. if there is some option customized, the imaginary mode could tell to user how to come back to it, or how to revert it, it could include the reference to key bindings as well. Thus it could follow the users in their actions and help them revert back or reference those actions to other actions, making the AI within Emacs, which is anyway what I would expect it of a computer and software, to help me as artificial intelligence to use a computer, not that I need to search for help on Internet. So let us start creating the general beginner-AI-mode that is to help user and guide the user through whatever necessary that user feel better guided. Those C-h functions could be then connected in the flow or workflows. If {C-h k} is pressed, such AI mode could advice the user about other referenced keys that are related to the one that user asked for, it could show references. For now {C-h k} is showing what the key does and it points it to the Lisp file. But if the kez is speaking about the end of buffer, that could all be said in a nicer way, for beginners, without Lisp file, and various complications, and it could point out hyperlinks to begin of file key and various other keys relevant to end of buffer key. If user turns on option to remove the menu, from the Option menu, then the Beginner's AI mode would clearly inform the user that F10 may be pressed to come back to Menu again or {M-x toggle-menu-bar-mode-from-frame} would bring it back. Not that the user get stuck if the menu bar is toggled off. espeak or other speech engine could be, should be implemented in the Beginner's AI Mode, and such would interact with the user in similar fashion as phone interactive menus interact with callers. User could ask the Beginner's AI or Hal, call it as you wish, by telling "Hello Hal" or pressing a key. Then Hal would respond: How may I help you master? (delete "master" for political correctness) Then user would say "menu" or something like that, and Hal could ask if menu bar should be toggled on, or it would open the menu. Or it could find relevant subjects related to "deleting a line". Or it could ask the user menu of options to choose from, user could speak to the Hal and get things done in easy manner. Jean ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-12 9:55 ` Eli Zaretskii 2020-09-12 10:35 ` Gregory Heytings via Emacs development discussions. @ 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 1 sibling, 2 replies; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-12 11:02 UTC (permalink / raw) To: emacs-devel; +Cc: Gregory Heytings, casouri On 2020-09-12 12:55 +03, Eli Zaretskii <eliz@gnu.org> wrote: > 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"? Potential solution could be to only show this if Emacs is run without any command line arguments, and only if the empty file ‘~/.config/emacs-28-interactive-guide-ran’ (or something similar, of course) exists and no .emacs or init.el exists. It not being in an ephemeral location means the user may make sure to keep the file there so that even if they don’t have a .emacs, they may avoid this thing popping up every time they run Emacs. It may be useful to also provide an environment variable which wen set to t inhibits this without needing a file, e.g. EMACS_INHIBIT_INTERACTIVE_TUTORIAL. >> 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? This probably wouldn’t work on terminal Emacs. For a more univarsally apllicable, you could have a single snippet, and picking a theme just sets it globally. A confirm button at bottom saves the preference using customize and advances. >> 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? Might be a good idea to default to XDG dirs if that’s what Emacs community wants to encourage. But because a lot of text out there will say ~/.emacs or ~/.emacs.d/init.el, the file name should be made very clear. >> 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. AFAIU it’s customary in the industry these days to call these walkthrough wizards "Guided Tours". That might be a more recognisable name. ‘initial-greeting’ and ‘introduction-to-emacs’ sound rather non-interactive to me, i.e. I’d expect to be reading stuff, deducing from the names. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 1 sibling, 0 replies; 173+ messages in thread From: Gregory Heytings via Emacs development discussions. @ 2020-09-12 12:12 UTC (permalink / raw) To: Göktuğ Kayaalp; +Cc: emacs-devel, casouri [-- Attachment #1: Type: text/plain, Size: 1458 bytes --] >>> 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? > > This probably wouldn’t work on terminal Emacs. For a more univarsally > apllicable, you could have a single snippet, and picking a theme just > sets it globally. A confirm button at bottom saves the preference using > customize and advances. > Indeed I admit I did not think about terminal Emacs. The guided tour should probably also be skipped if Emacs is executed in a terminal. >>> 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. > > AFAIU it’s customary in the industry these days to call these > walkthrough wizards "Guided Tours". That might be a more recognisable > name. ‘initial-greeting’ and ‘introduction-to-emacs’ sound rather > non-interactive to me, i.e. I’d expect to be reading stuff, deducing > from the names. > I think I would also prefer guided-tour, but OTOH that name is not very important if it is executed automatically when Emacs starts. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 1 sibling, 0 replies; 173+ messages in thread From: Robert Pluim @ 2020-09-14 10:52 UTC (permalink / raw) To: Göktuğ Kayaalp; +Cc: Gregory Heytings, casouri, emacs-devel >>>>> On Sat, 12 Sep 2020 14:02:29 +0300, Göktuğ Kayaalp <self@gkayaalp.com> said: >>> 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? Göktuğ> Might be a good idea to default to XDG dirs if that’s what Emacs Göktuğ> community wants to encourage. But because a lot of text out there will Göktuğ> say ~/.emacs or ~/.emacs.d/init.el, the file name should be made very Göktuğ> clear. We could default 'user-init-file' to "$XDG_CONFIG_HOME/emacs/init.el" for people who have no existing .emacs or .emacs.d, I guess (currently we default to ~/.emacs), although Iʼd be happier if we used "~/.emacs.d/init.el", as that leaves the choice of whether to use XDG later up to the user (and Emacs will create ~/.emacs.d anyway). Iʼm in no way suggesting that we stop reading ~/.emacs, though. Robert ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 2020-09-11 0:20 ` Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) Stefan Kangas ` (2 preceding siblings ...) 2020-09-12 9:31 ` Interactive guide for new users Gregory Heytings via Emacs development discussions. @ 2020-09-19 15:20 ` Eduardo Mercovich 2020-09-19 17:02 ` Drew Adams 2020-09-19 17:16 ` Philip K. 3 siblings, 2 replies; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-19 15:20 UTC (permalink / raw) To: Stefan Kangas Cc: Göktuğ Kayaalp, Yuan Fu, Eli Zaretskii, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1327 bytes --] Hi Stefan. Sorry the delay. These are really crazy days... Here is : - a 1st general flow proposal with a point to discuss, - with 1 example of how each step could be structured. The idea is to make the wizard as a framework in such a way that it's really easy to add, remove or change each step and specific options and defaults. We can envision a script that embodies the interaction and takes the information (sequence, prompts, options, etc.) from an external file, for example. You'll see here no internal details of each big step since they don't make sense without context (what goes before and what follows). I'm including both the Dia source and a pdf just in case it appears mangled. I tried -still without success- to express this in text only. I would gratefully accept suggestions of formats or structures that could work for most of the emacs community. If you believe it's presentable, I can send this to the rest in the mail thread. Of course, we can also schedule a brief talk if you'd like. Some things are easier interactively. ;) I'm new to the emacs community in this depth and I know that UX is not known much here (or in many places, still), so, I would appreciate a lot some guidance so as not to make anyone mad with this and align expectations, communications and styles. :) Best... [-- Attachment #2: EmacsConfigurationWizard.dia --] [-- Type: application/octet-stream, Size: 9103 bytes --] [-- Attachment #3: EmacsConfigurationWizard.pdf --] [-- Type: application/pdf, Size: 35932 bytes --] [-- Attachment #4: Type: text/plain, Size: 137 bytes --] -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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-19 17:16 ` Philip K. 1 sibling, 1 reply; 173+ messages in thread From: Drew Adams @ 2020-09-19 17:02 UTC (permalink / raw) To: Eduardo Mercovich, Stefan Kangas Cc: Göktuğ Kayaalp, Yuan Fu, Eli Zaretskii, emacs-devel > Here is : > - a 1st general flow proposal with a point to discuss, > - with 1 example of how each step could be structured. It's been said before: Please do NOT refer to such a prepared set of settings and packages as an Emacs "distribution". These are not distributions. Call them nearly anything but that, please. They're giant sacks of possible features and choices of settings. I don't care whether you call them styles, brands, super-packages, modes, themes, or foobars. But they're not Emacs distributions. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 2020-09-19 17:02 ` Drew Adams @ 2020-09-21 14:50 ` Eduardo Mercovich 2020-09-21 16:07 ` Drew Adams 0 siblings, 1 reply; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-21 14:50 UTC (permalink / raw) To: Drew Adams Cc: Göktuğ Kayaalp, Yuan Fu, Eli Zaretskii, Stefan Kangas, emacs-devel Hello Drew. [...] > It's been said before: Please do NOT refer to such a prepared set of > settings and packages as an Emacs "distribution". Sure! Sorry I hurt your sensibilities/ideas with that particular word. I never heard those talks before, nor even knew about the issue of how they are named. > These are not distributions. Call them nearly anything but that, > please. [...] I have no problem calling them whatever you'd like, since the issue is obviously very important to you. Please, share with me your preferred term and I'll use it from now on. :) Best... PD: please keep in mind that I'm not a native English speaker, in case something seems odd in my writing. -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 2020-09-21 14:50 ` Eduardo Mercovich @ 2020-09-21 16:07 ` Drew Adams 2020-09-21 21:40 ` Eduardo Mercovich 2020-09-22 3:40 ` Richard Stallman 0 siblings, 2 replies; 173+ messages in thread From: Drew Adams @ 2020-09-21 16:07 UTC (permalink / raw) To: Eduardo Mercovich Cc: Göktuğ Kayaalp, Yuan Fu, Eli Zaretskii, Stefan Kangas, emacs-devel > > It's been said before: Please do NOT refer > > to such a prepared set of settings and > > packages as an Emacs "distribution". > > Sure! > > > These are not distributions. Call them nearly > > anything but that, please. > > Please, share with me your preferred term and I'll use it from now on. :) Sorry if my request sounded too enthusiastic. And no, it's not particularly important to me. I just thought the list had generally agree to move beyond that term for such bundles. Recently this question came up on this list, in passing. It's not super important, but the term can lead to some confusion. Here's one recent post that mentions it: https://lists.gnu.org/archive/html/emacs-devel/2020-09/msg00666.html I don't have a preferred term for whatever such bundles of Emacs configurations might be called. But avoiding "distribution" makes sense to me. AFAIK, these are all GNU Emacs under the covers (and above), with different default behaviors, look & feel, etc. In this list, so far, they've sometimes been referred to as "starter kits" (but are all of them only for those starting out?), and as "canned configurations". In some ways some of them might resemble super "packages", super "themes", or even super global minor "modes". But in general I imagine they're more hard-coded, in the sense that you either use one or you don't - you don't combine them or switch from one to another during an Emacs session, or turn one on/off during a session. In the message you responded to I used the description "a prepared set of settings and packages". But not being a user of any of them, I'm not well placed to come up with a good word to describe them. Perhaps someone else here has a good idea about that. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 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 1 sibling, 1 reply; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-21 21:40 UTC (permalink / raw) To: Drew Adams Cc: Göktuğ Kayaalp, Yuan Fu, Eli Zaretskii, Stefan Kangas, emacs-devel Hi Drew. [...] >> Please, share with me your preferred term and I'll use it from now on. :) > Sorry if my request sounded too enthusiastic. [...] It's ok, no human has been damaged during this mail exchange. ;P > Recently this question came up on this list, in passing. [...] I wasn't in the list at that time, but I'll read the thread to dive a bit into the matter, thanks. If it's important, we may talk with the Spacemacs, Doom, Prelude, etc. people and agree on a term. Thanks anyway for the heads-up on this matter, I'm all into learning more about the Emacsverse. :) Now, let's focus again on the configuration wizard. Best... -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 2020-09-21 21:40 ` Eduardo Mercovich @ 2020-09-21 23:03 ` Drew Adams 0 siblings, 0 replies; 173+ messages in thread From: Drew Adams @ 2020-09-21 23:03 UTC (permalink / raw) To: Eduardo Mercovich Cc: Göktuğ Kayaalp, Yuan Fu, Eli Zaretskii, Stefan Kangas, emacs-devel > > Recently this question came up on this list, in passing. > > I wasn't in the list at that time, but I'll read the thread to dive a > bit into the matter, thanks. It came up a few times, in different threads. But I don't suggest you bother looking for it - the threads are long and winding, and this was just mentioned in passing a few times. It's not very important. Most here might feel it's not important at all. > If it's important, we may talk with the Spacemacs, Doom, Prelude, etc. > people and agree on a term. > > Thanks anyway for the heads-up on this matter, I'm all into learning > more about the Emacsverse. :) > > Now, let's focus again on the configuration wizard. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users (was: Re: Gather a list of confusions beginner tend to have) 2020-09-21 16:07 ` Drew Adams 2020-09-21 21:40 ` Eduardo Mercovich @ 2020-09-22 3:40 ` Richard Stallman 2020-09-22 9:06 ` Interactive guide for new users Philip K. ` (2 more replies) 1 sibling, 3 replies; 173+ messages in thread From: Richard Stallman @ 2020-09-22 3:40 UTC (permalink / raw) To: Drew Adams; +Cc: casouri, emacs-devel, eduardo, stefankangas, self, eliz [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] I think it is ok to call these things "Emacs distributions" -- just don't abbreviate that to "distributions". I think "modified Emacs releases" would be a better term to use. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-22 3:40 ` Richard Stallman @ 2020-09-22 9:06 ` Philip K. 2020-09-23 3:40 ` Richard Stallman 2020-09-22 14:06 ` Stefan Monnier 2020-09-28 9:24 ` Po Lu 2 siblings, 1 reply; 173+ messages in thread From: Philip K. @ 2020-09-22 9:06 UTC (permalink / raw) To: Richard Stallman Cc: casouri, emacs-devel, eduardo, stefankangas, self, eliz, Drew Adams Richard Stallman <rms@gnu.org> writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > I think it is ok to call these things "Emacs distributions" -- just > don't abbreviate that to "distributions". > > I think "modified Emacs releases" would be a better term to use. They aren't real "releases" though, usually installing them just requires downloading a preconfigured .emacs.d directory. -- Philip K. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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. 0 siblings, 1 reply; 173+ messages in thread From: Richard Stallman @ 2020-09-23 3:40 UTC (permalink / raw) To: Philip K. Cc: casouri, emacs-devel, eduardo, stefankangas, self, eliz, drew.adams [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > I think "modified Emacs releases" would be a better term to use. > They aren't real "releases" though, usually installing them just > requires downloading a preconfigured .emacs.d directory. In that case, the word "distribution" does not fit them either. How about "Emacs configurations"? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-23 3:40 ` Richard Stallman @ 2020-09-23 12:49 ` Philip K. 2020-09-24 1:32 ` Richard Stallman 0 siblings, 1 reply; 173+ messages in thread From: Philip K. @ 2020-09-23 12:49 UTC (permalink / raw) To: rms; +Cc: casouri, emacs-devel, eduardo, stefankangas, self, eliz, drew.adams Richard Stallman <rms@gnu.org> writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > > I think "modified Emacs releases" would be a better term to use. > > > They aren't real "releases" though, usually installing them just > > requires downloading a preconfigured .emacs.d directory. > > In that case, the word "distribution" does not fit them either. > How about "Emacs configurations"? Everyone with a .emacs file has a configuration, but that's not what Doom, Spacemacs, etc. provide. In a sense, they forked Emacs, without forking the core code, instead providing a patch-set in Elisp form + a DSL. I agree, that distributions is the wrong term -- it's not the same as with BSD or GNU/Linux, where a distribution bundles various software into a self-sufficient form. That doesn't make sense here, as opposed to the Linux kernel, Emacs can exist on it's own. -- Philip K. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-23 12:49 ` Philip K. @ 2020-09-24 1:32 ` Richard Stallman 2020-09-26 3:13 ` Okam 0 siblings, 1 reply; 173+ messages in thread From: Richard Stallman @ 2020-09-24 1:32 UTC (permalink / raw) To: Philip K. Cc: casouri, emacs-devel, eduardo, stefankangas, self, eliz, drew.adams [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Everyone with a .emacs file has a configuration, but that's not what > Doom, Spacemacs, etc. provide. In a sense, they forked Emacs, without > forking the core code, instead providing a patch-set in Elisp form + a > DSL. I keep receiving different descriptions of what those things consist of. I don't know which description is correct, but I can suggest a term for each one. For this description, I suggest "Emacs patch distributions." What is a "DSL"? And what code is in it? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-24 1:32 ` Richard Stallman @ 2020-09-26 3:13 ` Okam 0 siblings, 0 replies; 173+ messages in thread From: Okam @ 2020-09-26 3:13 UTC (permalink / raw) To: rms, Philip K. Cc: casouri, emacs-devel, eduardo, stefankangas, self, eliz, drew.adams On 9/23/20 9:32 PM, Richard Stallman wrote: > > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > Everyone with a .emacs file has a configuration, but that's not what > > Doom, Spacemacs, etc. provide. In a sense, they forked Emacs, without > > forking the core code, instead providing a patch-set in Elisp form + a > > DSL. > > I keep receiving different descriptions of what those things consist > of. I don't know which description is correct, but I can suggest a > term for each one. I haven't used Spacemacs in a while, but I want try to add some information, if it hasn't been said already. In the case of Spacemacs, it consists of groups of packages, which they call "layers", based around certain general features like spell-checking or a particular programming language. For a programming language, a layer might include packages for things like syntax highlighting, error checking, and expanding snippets of text specifically for that language. When a user enables/disables a layer, they are enabling/disabling the collected packages that the Spacemacs developers think provide a good user experience. To facilitate working with so many packages, the Spacemacs developers have put a lot thought into the loading, interaction between, and configuration of said packages. Here are a few examples: - They have tried to create standard keybinding layouts, so that, for example, "SPC m s" is generally the keybinding used to launch any programming language REPL that has a corresponding layer. This sort of consistency is helpful to new users. - They set up some form of package rollback for when a package update breaks the configuration. - They have tried to create a repository containing of all the packages needed for any layer, that they have decided is a safe version. This should hopefully reduced problems caused by packages changing function names, etc. - They ask users to keep their personal configs in a "~/.spacemacs" file, to better work with the deferred loading of packages that they have set up. All of these things can be done by a user of regular Emacs, because Spacemacs is indeed another Emacs config, but it would be a hassle for a normal user (especially a new user) to do it at the scale/breadth the Spacemacs developers are attempting. They are not running their own version of Emacs, so calling it an "Emacs distribution" is odd, but thinking of it as just a config file that people copy from doesn't really capture the effort of their work, I think, particularly with projects like Spacemacs and Doom creating their own sort of configuration system. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-22 3:40 ` Richard Stallman 2020-09-22 9:06 ` Interactive guide for new users Philip K. @ 2020-09-22 14:06 ` Stefan Monnier 2020-09-28 9:24 ` Po Lu 2 siblings, 0 replies; 173+ messages in thread From: Stefan Monnier @ 2020-09-22 14:06 UTC (permalink / raw) To: Richard Stallman Cc: casouri, emacs-devel, eduardo, stefankangas, self, eliz, Drew Adams > I think it is ok to call these things "Emacs distributions" -- just > don't abbreviate that to "distributions". > > I think "modified Emacs releases" would be a better term to use. AFAIK they do not actually distribute Emacs, only some (set of) configuration files. I think of them as *configs* (and I'd like them to be *implemented* as custom themes). Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-22 3:40 ` Richard Stallman 2020-09-22 9:06 ` Interactive guide for new users Philip K. 2020-09-22 14:06 ` Stefan Monnier @ 2020-09-28 9:24 ` Po Lu 2020-09-29 3:29 ` Richard Stallman 2 siblings, 1 reply; 173+ messages in thread From: Po Lu @ 2020-09-28 9:24 UTC (permalink / raw) To: Richard Stallman Cc: Drew Adams, casouri, emacs-devel, eduardo, stefankangas, self, eliz Richard Stallman <rms@gnu.org> writes: > I think "modified Emacs releases" would be a better term to use. "modified Emacs releases" is somewhat misleading, as it implies that the Emacs used in those "modified Emacs releases" has been modified, while most of these do not actually modify Emacs C code, or code distributed with Emacs. A common term used nowadays is 'starter pack'. Perhaps that would suffice? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-28 9:24 ` Po Lu @ 2020-09-29 3:29 ` Richard Stallman 0 siblings, 0 replies; 173+ messages in thread From: Richard Stallman @ 2020-09-29 3:29 UTC (permalink / raw) To: Po Lu; +Cc: casouri, emacs-devel, eduardo, stefankangas, self, eliz, drew.adams [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > A common term used nowadays is 'starter pack'. Perhaps that would > suffice? At least it's not actively misleading or confusing. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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-19 17:16 ` Philip K. 2020-09-19 17:25 ` Eli Zaretskii 2020-09-19 17:53 ` Eduardo Mercovich 1 sibling, 2 replies; 173+ messages in thread From: Philip K. @ 2020-09-19 17:16 UTC (permalink / raw) To: Eduardo Mercovich Cc: Göktuğ Kayaalp, Yuan Fu, Eli Zaretskii, Stefan Kangas, emacs-devel An issue I can imagine is that a lot of the options that would be displayed in a wizard like this wouldn't mean too much to newcomers. "Helm" or "Ivy"? "Projectile"? Even Emacs-native packages are often confusing ("Hippie-Expand", "Xref", etc.). Without a way to test and find out what these options _mean_, you would only be helping people that could already help themselves. -- Philip K. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-19 17:16 ` Philip K. @ 2020-09-19 17:25 ` Eli Zaretskii 2020-09-19 18:09 ` Eduardo Mercovich 2020-09-19 17:53 ` Eduardo Mercovich 1 sibling, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-19 17:25 UTC (permalink / raw) To: Philip K.; +Cc: self, casouri, eduardo, stefankangas, emacs-devel > From: "Philip K." <philipk@posteo.net> > Date: Sat, 19 Sep 2020 19:16:33 +0200 > Cc: Göktuğ Kayaalp <self@gkayaalp.com>, > Yuan Fu <casouri@gmail.com>, Eli Zaretskii <eliz@gnu.org>, > Stefan Kangas <stefankangas@gmail.com>, emacs-devel <emacs-devel@gnu.org> > > > An issue I can imagine is that a lot of the options that would be > displayed in a wizard like this wouldn't mean too much to > newcomers. "Helm" or "Ivy"? "Projectile"? Even Emacs-native packages are > often confusing ("Hippie-Expand", "Xref", etc.). Without a way to test > and find out what these options _mean_, you would only be helping people > that could already help themselves. The interactive guide is supposed to offer non-default options that make Emacs UI more similar to what newcomers might expect. It wasn't supposed to offer loading large packages such as those which you name, certainly not packages that are not bundled with Emacs. But yes, deciding which options to offer and how to arrange them is the hard part of this job. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-19 17:25 ` Eli Zaretskii @ 2020-09-19 18:09 ` Eduardo Mercovich 2020-09-19 18:39 ` Eli Zaretskii 0 siblings, 1 reply; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-19 18:09 UTC (permalink / raw) To: Eli Zaretskii; +Cc: self, Philip K., emacs-devel, casouri, stefankangas Hello Eli. [...] > The interactive guide is supposed to offer non-default options that > make Emacs UI more similar to what newcomers might expect. It wasn't > supposed to offer loading large packages such as those which you name, > certainly not packages that are not bundled with Emacs. Certainly. That's why this is a rough draft of a vision. If we agreed on the general vision it's perfectly possible to do as the 1st step (MVP in some modern parlance) only the "General editor preferences" or the "Org-mode preferences". And even there, just a few of them. > But yes, deciding which options to offer and how to arrange them is > the hard part of this job. The idea proposed here is: 1. distributions first, because they define the lot for themselves. If any of them is chose, the wizard almost ends there. 2. General editor preferences (what was discussed previously in the list). While we can define defaults, giving the options with clear impact description allows the User to choose (or jump the decision and leave the default). It makes much less sense to try to define the same defaults for everyone, old wises and newbies alike. 3. At last very last, other non-editing emacs big applications, like mail and such. I totally agree that big modules (if they ever are included) should go after general editor and/or org-mode preferences. Or, at least, should be developed/scripted (included in the wizard) not as first stage. Emacs comes first for the User benefit. b^.^d Another option, is not to select and install, but just to cite a few things that we know people use, are powerful and can make a huge difference, like magit, in the end. This is proposed because many people doesn't even know they exist, and just seeing the potential the whole integrated emacs ecosystem has, gives much more impetus to make the effort to dive into Emacs. Best... -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-19 18:09 ` Eduardo Mercovich @ 2020-09-19 18:39 ` Eli Zaretskii 2020-09-19 21:43 ` Eduardo Mercovich 0 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-19 18:39 UTC (permalink / raw) To: Eduardo Mercovich; +Cc: self, philipk, emacs-devel, casouri, stefankangas > From: Eduardo Mercovich <eduardo@mercovich.net> > Cc: "Philip K." <philipk@posteo.net>, self@gkayaalp.com, casouri@gmail.com, > stefankangas@gmail.com, emacs-devel@gnu.org > Date: Sat, 19 Sep 2020 15:09:38 -0300 > > If we agreed on the general vision it's perfectly possible to do as the > 1st step (MVP in some modern parlance) only the "General editor > preferences" or the "Org-mode preferences". And even there, just a few > of them. My advice is not try to bite a too large chunk of this -- the job is not easy even without that. > The idea proposed here is: > 1. distributions first, because they define the lot for themselves. If > any of them is chose, the wizard almost ends there. I don't see any need to do this, certainly not as the first step. If someone wants one of those versions, they don't need us. > 2. General editor preferences (what was discussed previously in the > list). While we can define defaults, giving the options with clear > impact description allows the User to choose (or jump the decision and > leave the default). It makes much less sense to try to define the same > defaults for everyone, old wises and newbies alike. My suggestion is to focus on this part alone. Getting that right is not easy, and if successful, will be a significant advancement, IMO. > 3. At last very last, other non-editing emacs big applications, like > mail and such. Suggest to drop this one for now as well. Org mode as well. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-19 18:39 ` Eli Zaretskii @ 2020-09-19 21:43 ` Eduardo Mercovich 2020-09-20 5:52 ` Eli Zaretskii 0 siblings, 1 reply; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-19 21:43 UTC (permalink / raw) To: Eli Zaretskii; +Cc: self, philipk, emacs-devel, casouri, stefankangas Hi. >> If we agreed on the general vision it's perfectly possible to do as the >> 1st step (MVP in some modern parlance) only the "General editor >> preferences" or the "Org-mode preferences". And even there, just a few >> of them. > My advice is not try to bite a too large chunk of this -- the job is > not easy even without that. Sure. It's just a vision, there is no commitment, just a bit of thought to augment the probability of future integrity from an interaction design perspective. :) >> The idea proposed here is: >> 1. distributions first [...] > I don't see any need to do this, certainly not as the first step. If > someone wants one of those versions, they don't need us. New users don't know they exist... we are only opening their eyes. But of course, it can wait. >> 2. General editor preferences [...] > My suggestion is to focus on this part alone. Getting that right is > not easy, and if successful, will be a significant advancement, IMO. Perfect. Is it there any agreed upon list of things on this front? If not, I can collect some from the list and maybe frequent questions in reddit, SE and somewhere else... >> 3. At last very last, other non-editing emacs big applications, like >> mail and such. > Suggest to drop this one for now as well. Org mode as well. As before, we will start with the general editor. Just as a check, do you agree that it is desirable to separate text and options from the executable code? (sorry if my language is not appropriate, please correct me as much as needed, I'm not a native English speaker). Because I'm trying a way to specify this in an org-mode file and it would be great if we can modify the wizard particular text and options without touching the code itself. Or maybe having this in a literate file, alternating both text and code (but not mixed with UI text inside the code). -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-19 21:43 ` Eduardo Mercovich @ 2020-09-20 5:52 ` Eli Zaretskii 2020-09-21 22:15 ` Eduardo Mercovich 0 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-20 5:52 UTC (permalink / raw) To: Eduardo Mercovich; +Cc: self, philipk, emacs-devel, casouri, stefankangas > From: Eduardo Mercovich <eduardo@mercovich.net> > Cc: philipk@posteo.net, self@gkayaalp.com, casouri@gmail.com, > stefankangas@gmail.com, emacs-devel@gnu.org > Date: Sat, 19 Sep 2020 18:43:15 -0300 > > >> 1. distributions first [...] > > > I don't see any need to do this, certainly not as the first step. If > > someone wants one of those versions, they don't need us. > > New users don't know they exist... we are only opening their eyes. I think they already do know. Moreover, I think they will decide to try those before they get to see what you are planning to make happen. > >> 2. General editor preferences [...] > > > My suggestion is to focus on this part alone. Getting that right is > > not easy, and if successful, will be a significant advancement, IMO. > > Perfect. Is it there any agreed upon list of things on this front? Not only don't we have an agreed-upon list, we don't even have a proposal for an exhaustive list. I think the list will be quite long, and if so, it will have to be subdivided into some groups; we don't have any idea or suggestions for what those groups might be. If we can come up with such a list, discuss it, agree on it, and have a reasonable grouping (if needed), that would be a huge progress towards making everything discussed here close to happening. > Just as a check, do you agree that it is desirable to separate text and options > from the executable code? (sorry if my language is not appropriate, > please correct me as much as needed, I'm not a native English speaker). I don't think I understand what you mean by "text" and "executable code" in this context. If by "executable code" you mean the Lisp program which implements the list of options and their presentation to the user, then this can come later. We need first to have the list of options. Once we have that, we can talk about how to present them, and finally implement that. > Or maybe having this in a literate file, alternating both text and code (but > not mixed with UI text inside the code). The form is up to you. The important part is to focus first on the list of options, without distracting ourselves to aspects of code that are not the primary goal at this first stage. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-20 5:52 ` Eli Zaretskii @ 2020-09-21 22:15 ` Eduardo Mercovich 2020-09-22 13:56 ` Eli Zaretskii 0 siblings, 1 reply; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-21 22:15 UTC (permalink / raw) To: Eli Zaretskii; +Cc: self, philipk, emacs-devel, casouri, stefankangas Hi Eli. [...] >> >> 1. distributions first [...] >> > I don't see any need to do this, certainly not as the first step. If >> > someone wants one of those versions, they don't need us. >> New users don't know they exist... we are only opening their eyes. > I think they already do know. Moreover, I think they will decide to > try those before they get to see what you are planning to make happen. Those things I prefer to measure them in an experiment. :) Anyway, I totally agree that it's not our priority now. [...] >> Perfect. Is it there any agreed upon list of things on this front? > Not only don't we have an agreed-upon list, we don't even have a > proposal for an exhaustive list. [...] If we can come up with such a > list, discuss it, agree on it, and have a reasonable grouping (if > needed), that would be a huge progress towards making everything > discussed here close to happening. Then, since such a list seems valuable (before discussing the value of a common vision), I propose a process to generate that list based on some simple tested and working principles (*1): 1- Let's collect a list of all the proposed preferences, by any member of this list (to start). Everyone is invited to propose as many as it wants. 2- Then we prioritize with the same group (this list) by giving each person a certain amount of points depending on the total amount of preferences. It could range from 40% if they are few, to ~50% if they are many, say, more than 20. Just as an example, if the total collected options are 25 (since many people will agreed on some basic ones and have a particular one to add, it could be bigger, of course) we may give ~14 points to each person. 3- Each person can cast it's points as it likes: all of them to 1 preference, 1 to each preference while it's points lasts, or any combination in between. In the previous example, someone can put their 14 points to show-line-numbers, other to 14 different options (1 point per option), and a third 5 to show-line-numbers, 6 to CUA-or-Emacs cut-copy-paste, and 3 to show-menu-bar. 4- We sum the total points per preference. Order from more to less points. If they are few (say, less than a dozen), they can go all. If they are too much, we can cut using any agreed upon criteria like a kind of Pareto (66%~80% of the total points awarded) or other (the 1st N items). If this seems ok to all of you, with this process we will have gone from many persons with different opinions to a mostly agreed of the most accepted (or desired) preferences to be set for the general editor preferences. And it shouldn't take more than a few days at most (we have to see what tool to use, since I assume that proprietary tools are not acceptable; Limesurvey allows this, even if it's a bit oversized..). This process can be repeated for each "section" or group that we may like (like org-mode or whatever you may find valuable after this). Now, after the list-making, we can make the screens (they don't have to be functional) and test them with users as I commented on a previous mail. What do you think? (*1) From Sociocracy, maximize (democratize) input and optimize decision making, plus the acceptable options range; from agile, let's try to have something good enough working to validate our assumptions and learn from reality before investing too much or taking too much time. -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-21 22:15 ` Eduardo Mercovich @ 2020-09-22 13:56 ` Eli Zaretskii 2020-09-23 12:54 ` Eduardo Mercovich 0 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-22 13:56 UTC (permalink / raw) To: Eduardo Mercovich; +Cc: self, philipk, emacs-devel, casouri, stefankangas > From: Eduardo Mercovich <eduardo@mercovich.net> > Cc: philipk@posteo.net, self@gkayaalp.com, casouri@gmail.com, > stefankangas@gmail.com, emacs-devel@gnu.org > Date: Mon, 21 Sep 2020 19:15:38 -0300 > > 1- Let's collect a list of all the proposed preferences, by any member of > this list (to start). Everyone is invited to propose as many as it > wants. I suggest that you start the ball rolling by posting a list of options you think we should consider (in a separate discussion topic, please). Let's discuss how to filter and prioritize the options once we have a provisional list and have an idea about its size. Thanks. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-22 13:56 ` Eli Zaretskii @ 2020-09-23 12:54 ` Eduardo Mercovich 2020-09-23 13:28 ` Caio Henrique ` (2 more replies) 0 siblings, 3 replies; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-23 12:54 UTC (permalink / raw) To: Eli Zaretskii; +Cc: self, philipk, emacs-devel, casouri, stefankangas Hello Eli. [...] >> 1- Let's collect a list of all the proposed preferences, by any member of >> this list (to start). Everyone is invited to propose as many as it >> wants. > I suggest that you start the ball rolling by posting a list of options > you think we should consider (in a separate discussion topic, please). My area of expertise is not programming, so I can hardly propose what a programmer may find useful to configure. I can only propose what I -personally- find useful (and that list is already done). And I believe this is true for many in the Emacs community; don't we value Emacs incredible plasticity and ability to be adapted to each person's way of thinking and doing? That's why I proposed a *process* to do it: we can all add our voices (all that are interested, at least) and go forward together because we agreed on how to do so. > Let's discuss how to filter and prioritize the options once we have a > provisional list and have an idea about its size. If we do this, we may make a list and then we will stop going forward to discuss how to filter and prioritize. If we agreed on a process, then it's all forward steps until the end of the proposed process (of course anyone can stop and complain at any point, but the probability is smaller and the rest still can go on while we see what happens). Up to now we were unable to do it in the usual way. I only bring another proposal to proceed which is not mine at all, and has been used with success in many other communities. In brief: - We want to flatten a bit the learning wall for newcomers and make emacs more desirable for them, showing in can be not only powerful, but usable from the start and beautiful too. - We agreed that a "wizard" (set of linear steps with clear options on each one) is positive to achieve that objective. - There is a proposal for a process to get a generally agreed list of variables to include in this wizard. - if you find this proposal inadequate please tell me so and I'll just add my personal variables and wait. I have no particular problem with that. - But if you see no particular problem now with the proposed steps, I beg you to consider the possibility of giving it a try, going forward all together. In this case, I will start it in a separate thread and make the work to integrate everything as proposed. I will only ask about some details regarding tools to use for collaboration (and this could be done to the list or with a few people that can help this Emacs newbie in order not to make noise in the list). In each -and any- way, thanks a lot for your kind attention and understanding. Best regards... -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 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 2 siblings, 1 reply; 173+ messages in thread From: Caio Henrique @ 2020-09-23 13:28 UTC (permalink / raw) To: Eduardo Mercovich Cc: casouri, philipk, emacs-devel, stefankangas, self, Eli Zaretskii IMO the wizard/guide/tutorial for new users should have a section dedicated to programming. When you open the programming section, you would find a list of programming languages with some options like: * C and C++ This adds syntax checking, jump to definition/declaration, function documentation, autocompletion etc to C and C++. ** Requirements - You need to install a language server like ccls or clangd on your operating system. ** Options [ ] Add flymake hook to C and C++ modes. This will enable syntax checking. [ ] Install company from ELPA and add a hook to C and C++ modes. This will enable a modern autocompletion framework. [ ] Install eglot from ELPA and add a hook to C and C++ modes. This will enable a LSP client with lots of features like completion via company, code actions, type definitions, jump to definition etc. [ ] Install yasnippet from ELPA and add a hook to C and C++ modes. This will enable a code template system. Cordially, Caio Henrique ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-23 13:28 ` Caio Henrique @ 2020-09-23 13:42 ` Eduardo Mercovich 0 siblings, 0 replies; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-23 13:42 UTC (permalink / raw) To: Caio Henrique Cc: casouri, philipk, emacs-devel, stefankangas, self, Eli Zaretskii Olá Henrique. > IMO the wizard/guide/tutorial for new users should have a section > dedicated to programming. When you open the programming section, you > would find a list of programming languages [...] I totally agree. That was the sectioning proposal in the activity diagram, except that -being no programmer myself- I assumed it was in general editor. There should be a "languages" section. I totally support your idea. :) -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-23 12:54 ` Eduardo Mercovich 2020-09-23 13:28 ` Caio Henrique @ 2020-09-23 14:16 ` Stefan Kangas 2020-09-23 14:58 ` Eli Zaretskii 2 siblings, 0 replies; 173+ messages in thread From: Stefan Kangas @ 2020-09-23 14:16 UTC (permalink / raw) To: Eduardo Mercovich, Eli Zaretskii; +Cc: self, philipk, casouri, emacs-devel Eduardo Mercovich <eduardo@mercovich.net> writes: > - But if you see no particular problem now with the proposed steps, I > beg you to consider the possibility of giving it a try, going forward > all together. In this case, I will start it in a separate thread and > make the work to integrate everything as proposed. FWIW, I think the proposed process sounds good. Why not try it? It doesn't bind us to do anything in particular, and it seems to me that Eduardo has experience in carrying out surveys like these. Worst case, the information we collect is just not very useful and we move on. But I find it more likely that we would learn something interesting. Just my two cents. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-23 12:54 ` Eduardo Mercovich 2020-09-23 13:28 ` Caio Henrique 2020-09-23 14:16 ` Stefan Kangas @ 2020-09-23 14:58 ` Eli Zaretskii 2020-09-23 23:14 ` Yuan Fu 2 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2020-09-23 14:58 UTC (permalink / raw) To: Eduardo Mercovich; +Cc: self, philipk, emacs-devel, casouri, stefankangas > From: Eduardo Mercovich <eduardo@mercovich.net> > Cc: philipk@posteo.net, self@gkayaalp.com, casouri@gmail.com, > stefankangas@gmail.com, emacs-devel@gnu.org > Date: Wed, 23 Sep 2020 09:54:17 -0300 > > > I suggest that you start the ball rolling by posting a list of options > > you think we should consider (in a separate discussion topic, please). > > My area of expertise is not programming, so I can hardly propose what a > programmer may find useful to configure. I can only propose what I > -personally- find useful (and that list is already done). I wouldn't be worried about that. Just post the list you can come up with, and others will chime in. > That's why I proposed a *process* to do it: we can all add our voices (all > that are interested, at least) and go forward together because we agreed > on how to do so. IME, talking too much about the process runs the risk to leave the discussion there. Having a list to discuss makes the discussions much more practical. Thanks. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-23 14:58 ` Eli Zaretskii @ 2020-09-23 23:14 ` Yuan Fu 2020-09-30 13:20 ` Eduardo Mercovich 0 siblings, 1 reply; 173+ messages in thread From: Yuan Fu @ 2020-09-23 23:14 UTC (permalink / raw) To: Eli Zaretskii Cc: Göktuğ Kayaalp, philipk, Eduardo Mercovich, Stefan Kangas, emacs-devel > On Sep 23, 2020, at 10:58 AM, Eli Zaretskii <eliz@gnu.org> wrote: > >> From: Eduardo Mercovich <eduardo@mercovich.net> >> Cc: philipk@posteo.net, self@gkayaalp.com, casouri@gmail.com, >> stefankangas@gmail.com, emacs-devel@gnu.org >> Date: Wed, 23 Sep 2020 09:54:17 -0300 >> >>> I suggest that you start the ball rolling by posting a list of options >>> you think we should consider (in a separate discussion topic, please). >> >> My area of expertise is not programming, so I can hardly propose what a >> programmer may find useful to configure. I can only propose what I >> -personally- find useful (and that list is already done). > > I wouldn't be worried about that. Just post the list you can come up > with, and others will chime in. > I think a methodology that can produce a decision is helpful. IME people can’t converge on a result that no one opposes, and eventually everyone wore out and the discuss stalls. >> That's why I proposed a *process* to do it: we can all add our voices (all >> that are interested, at least) and go forward together because we agreed >> on how to do so. > > IME, talking too much about the process runs the risk to leave the > discussion there. Having a list to discuss makes the discussions much > more practical. > > Thanks. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-23 23:14 ` Yuan Fu @ 2020-09-30 13:20 ` Eduardo Mercovich 2020-09-30 14:11 ` Eli Zaretskii 0 siblings, 1 reply; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-30 13:20 UTC (permalink / raw) To: Yuan Fu Cc: Göktuğ Kayaalp, Eli Zaretskii, emacs-devel, philipk, Stefan Kangas Hello Yuan. [...] >> I wouldn't be worried about that. Just post the list you can come up >> with, and others will chime in. > I think a methodology that can produce a decision is helpful. IME > people can’t converge on a result that no one opposes, and eventually > everyone wore out and the discuss stalls. Thanks a lot. That is my observation from reading the list too. >>> That's why I proposed a *process* to do it: we can all add our voices (all >>> that are interested, at least) and go forward together because we agreed >>> on how to do so. >> IME, talking too much about the process runs the risk to leave the >> discussion there. Having a list to discuss makes the discussions much >> more practical. Eli, the process doesn't seems to gather much discussion and a couple people already liked it in public. It can be run just now if you say yes, so there is no time wasted and a lot to gain if we can go forward together with a common consensus. Please, let's try this approach and if it doesn't work, I promise I'll post my personal list without a hitch. :) -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-30 13:20 ` Eduardo Mercovich @ 2020-09-30 14:11 ` Eli Zaretskii 0 siblings, 0 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-30 14:11 UTC (permalink / raw) To: Eduardo Mercovich; +Cc: self, casouri, emacs-devel, philipk, stefankangas > From: Eduardo Mercovich <eduardo@mercovich.net> > Cc: Eli Zaretskii <eliz@gnu.org>, philipk@posteo.net, Göktuğ Kayaalp > <self@gkayaalp.com>, Stefan Kangas <stefankangas@gmail.com>, > emacs-devel@gnu.org > Date: Wed, 30 Sep 2020 10:20:03 -0300 > > >> IME, talking too much about the process runs the risk to leave the > >> discussion there. Having a list to discuss makes the discussions much > >> more practical. > > Eli, the process doesn't seems to gather much discussion and a couple > people already liked it in public. It can be run just now if you say > yes, so there is no time wasted and a lot to gain if we can go forward > together with a common consensus. > > Please, let's try this approach and if it doesn't work, I promise I'll post my > personal list without a hitch. :) You don't need my permission: this is a public list, and anybody can post anything as long as that's on-topic here. I expressed my opinion, based on my experience, but don't let my opinions stop you from doing what you think is right. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-19 17:16 ` Philip K. 2020-09-19 17:25 ` Eli Zaretskii @ 2020-09-19 17:53 ` Eduardo Mercovich 2020-09-20 9:26 ` Philip K. 1 sibling, 1 reply; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-19 17:53 UTC (permalink / raw) To: Philip K. Cc: Göktuğ Kayaalp, Yuan Fu, Eli Zaretskii, Stefan Kangas, emacs-devel Hi Philip, thanks for your kind and fast feedback. Sorry I replied to everyone in the thread, just wanted a slower jump into this pond. It looks like I'm now completely in the water. :D > An issue I can imagine is that a lot of the options that would be > displayed in a wizard like this wouldn't mean too much to newcomers. > [...] That's why a sample step/screen is included. The options are (proposed to be) phrased in a way that could be understood without knowing emacs. I was actually doubting even to include in each a link to it's canonical URL (I assume that it would be the one already in the package manager). In the org-mode preferences "section" (let's call it that way because it may have many steps) for example, leading stars should be explained (of course, a screenshot would be the best): --8<---------------cut here---------------start------------->8--- Org-mode defines heading hierarchy with asteriscs (stars) as the 1st character and arrange the left-alignment according to the heading level: 1 close to the left margin and other ones moving to the right. Some people prefer to have a simpler visual display and use only the alignment (and the font size and/or color) to show the heading hierarchy. Please select your option: (1) Hide the leading stars (2) Leave visible the leading stars (9) I'd like to leave this step for now (you can always make it later). (0) I want to stop this wizard now. --8<---------------cut here---------------end--------------->8--- In this way, the User can always choose to stop, jump this option for now, or take one of them. Also, there should be a way to go back (not included in this rough draft). > Without a way to test and find out what these options _mean_, > you would only be helping people that could already help themselves. Testing with users is one of my specialties, I would happily make a testing protocol before making the design, tests and development. In a way, it is like TDD, but with interaction design... -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-19 17:53 ` Eduardo Mercovich @ 2020-09-20 9:26 ` Philip K. 2020-09-21 21:48 ` Eduardo Mercovich 0 siblings, 1 reply; 173+ messages in thread From: Philip K. @ 2020-09-20 9:26 UTC (permalink / raw) To: Eduardo Mercovich; +Cc: self, casouri, eliz, stefankangas, emacs-devel Eduardo Mercovich <eduardo@mercovich.net> writes: > Hi Philip, thanks for your kind and fast feedback. > > Sorry I replied to everyone in the thread, just wanted a slower jump > into this pond. It looks like I'm now completely in the water. :D > >> An issue I can imagine is that a lot of the options that would be >> displayed in a wizard like this wouldn't mean too much to newcomers. >> [...] > > That's why a sample step/screen is included. The options are > (proposed to be) phrased in a way that could be understood without > knowing emacs. > > I was actually doubting even to include in each a link to it's canonical > URL (I assume that it would be the one already in the package manager). > > In the org-mode preferences "section" (let's call it that way because it > may have many steps) for example, leading stars should be explained (of > course, a screenshot would be the best): > > --8<---------------cut here---------------start------------->8--- > > Org-mode defines heading hierarchy with asteriscs (stars) as the 1st character and arrange the left-alignment according to the heading level: 1 close to the left margin and other ones moving to the right. > Some people prefer to have a simpler visual display and use only the > alignment (and the font size and/or color) to show the heading hierarchy. > > Please select your option: > > (1) Hide the leading stars > > (2) Leave visible the leading stars > > (9) I'd like to leave this step for now (you can always make it later). > (0) I want to stop this wizard now. > --8<---------------cut here---------------end--------------->8--- > > In this way, the User can always choose to stop, jump this option for > now, or take one of them. > > Also, there should be a way to go back (not included in this rough > draft). Even with the ability to skip and go back, I still think that a total newcomer won't be able to gain a lot from options like these. Maybe I'm just bad, but in my case, I would skim over the text or wouldn't be too interested in reading it in detail, to imagine what the differences would be like. If anything, a visualisation would be needed. For example in a separate window. >> Without a way to test and find out what these options _mean_, >> you would only be helping people that could already help themselves. > > Testing with users is one of my specialties, I would happily make a > testing protocol before making the design, tests and development. In a > way, it is like TDD, but with interaction design... I'm not sure we're talking about the same testing here? I had more of a "playground" like approach, where you can immediately or quickly see what this option means, but I don't know if that's what you had in mind too. -- Philip K. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Interactive guide for new users 2020-09-20 9:26 ` Philip K. @ 2020-09-21 21:48 ` Eduardo Mercovich 0 siblings, 0 replies; 173+ messages in thread From: Eduardo Mercovich @ 2020-09-21 21:48 UTC (permalink / raw) To: Philip K.; +Cc: self, casouri, eliz, stefankangas, emacs-devel Hi Philip. [...] >> Also, there should be a way to go back (not included in this rough >> draft). > Even with the ability to skip and go back, I still think that a total > newcomer won't be able to gain a lot from options like these. Maybe I'm > just bad, but in my case, I would skim over the text or wouldn't be too > interested in reading it in detail, to imagine what the differences > would be like. If anything, a visualisation would be needed. For example > in a separate window. I may think or not like you, but in this case it doesn't matter so much what we think, but rather what the expected users do. So I propose we should measure it with a prototype and a usability test. Than is, we don't need to really do it, just prototype (simulate) it and observe some Users using it. After the test we can probe for the reasons if the observed behaviour. [...] >> Testing with users is one of my specialties, I would happily make a >> testing protocol before making the design, tests and development. In a >> way, it is like TDD, but with interaction design... > I'm not sure we're talking about the same testing here? I had more of a > "playground" like approach, where you can immediately or quickly see > what this option means, but I don't know if that's what you had in mind > too. The test I had in mind is the traditional usability test: we draw (even with text) the proposed screens, have people use them (a good sample qualitatively speaking, 5 to 7 is good to start), clear criteria for observations, and see what they understand and value from what they do. As was said before, in the post-tasks interview, we can go deeper to understand what they understood and how they made their choices. Based on that, we can make our design (*1) choices. :) Best... (*1): design not as visual design, but as "a process that gives form". -- eduardo mercovich Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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 6:45 ` Eli Zaretskii 2020-09-11 8:51 ` Dmitry Gutov 2020-09-11 13:52 ` Yuan Fu 1 sibling, 2 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-11 6:45 UTC (permalink / raw) To: Yuan Fu; +Cc: self, emacs-devel > From: Yuan Fu <casouri@gmail.com> > Date: Thu, 10 Sep 2020 19:20:34 -0400 > Cc: Göktuğ Kayaalp <self@gkayaalp.com>, > emacs-devel <emacs-devel@gnu.org> > > > I don't think this scales. Emacs has thousands of options, I'm > > guessing hundreds of them are important for the audience you have in > > mind. You will get a huge set of many options that people with > > "TL;DR" state of mind will never be able to review, let alone decide > > what is for them. > > I think there are a few configurations that a beginner would want to change right after he starts Emacs, usually very basic settings. If you think it’s a good idea, I can go to reddit and ask what people missed when then started using Emacs for the first few minutes. I think it could be a good idea to ask users, yes. However, "for the first few minutes" is not a good criterion, IMO: we want to provide a facility for easily finding important options for users who already use Emacs for weeks, maybe months. The options "for the first few minutes" are supposed to be on the Options menu already. > > The grouping of the options must be based on some "themes" or similar, > > to be useful. The challenge is, of course, to come up with a useful > > list of such "themes", and then decide which options should each theme > > enable. > > Others has described the out-of-the-box experience of doom Emacs, it seems to me that such job is better done by a “distribution” of Emacs than by vanilla Emacs. "Better" in what sense? What do the people who maintain Spacemacs or DOOM know about Emacs that we don't? > OTHO, vanilla Emacs could add a tiny guide like I proposed to more or less improve the life for those who started Emacs without reading any tutorial on the internet. Sorry to be negative, but based on experience I have hard time believing in such guides: people who are involved in Emacs development are much better coding than writing good documentation, let alone tutorial documentation for newbies. Let's do what we do best: produce features that make it easier to discover and turn on popular features. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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 1 sibling, 1 reply; 173+ messages in thread From: Dmitry Gutov @ 2020-09-11 8:51 UTC (permalink / raw) To: Eli Zaretskii, Yuan Fu; +Cc: self, emacs-devel On 11.09.2020 09:45, Eli Zaretskii wrote: >> OTHO, vanilla Emacs could add a tiny guide like I proposed to more or less improve the life for those who started Emacs without reading any tutorial on the internet. > Sorry to be negative, but based on experience I have hard time > believing in such guides: people who are involved in Emacs development > are much better coding than writing good documentation, let alone > tutorial documentation for newbies. Let's do what we do best: produce > features that make it easier to discover and turn on popular features. Perhaps we can nevertheless encourage "others" to contribute such guide(s)? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-11 8:51 ` Dmitry Gutov @ 2020-09-11 8:59 ` Emanuel Berg via Emacs development discussions. 0 siblings, 0 replies; 173+ messages in thread From: Emanuel Berg via Emacs development discussions. @ 2020-09-11 8:59 UTC (permalink / raw) To: emacs-devel Wait... what is so confusing about Emacs? I don't remember reading anything and I also don't remember anything that was so confusing about it. -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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 13:52 ` Yuan Fu 2020-09-11 14:01 ` Eli Zaretskii 2020-09-11 14:27 ` Stefan Monnier 1 sibling, 2 replies; 173+ messages in thread From: Yuan Fu @ 2020-09-11 13:52 UTC (permalink / raw) To: Eli Zaretskii; +Cc: self, emacs-devel [-- Attachment #1: Type: text/plain, Size: 2268 bytes --] > > I think it could be a good idea to ask users, yes. However, "for the > first few minutes" is not a good criterion, IMO: we want to provide a > facility for easily finding important options for users who already > use Emacs for weeks, maybe months. The options "for the first few > minutes" are supposed to be on the Options menu already. > I felt that people are most confused on the first few minutes of using Emacs, but I won’t argue this before asked for real experience on reddit. >>> The grouping of the options must be based on some "themes" or similar, >>> to be useful. The challenge is, of course, to come up with a useful >>> list of such "themes", and then decide which options should each theme >>> enable. >> >> Others has described the out-of-the-box experience of doom Emacs, it seems to me that such job is better done by a “distribution” of Emacs than by vanilla Emacs. > > "Better" in what sense? What do the people who maintain Spacemacs or > DOOM know about Emacs that we don't? They can do things we can’t. They can bundle MELPA packages, they can set various defaults, they can promote one package over another, they can bundle a bunch of helper commands and configurations. > >> OTHO, vanilla Emacs could add a tiny guide like I proposed to more or less improve the life for those who started Emacs without reading any tutorial on the internet. > > Sorry to be negative, but based on experience I have hard time > believing in such guides: people who are involved in Emacs development > are much better coding than writing good documentation, let alone > tutorial documentation for newbies. Let's do what we do best: produce > features that make it easier to discover and turn on popular features. I welcome such profile functionality, that will be very nice. In the mean time, a guide still has its place: how would a new user know he can choose a profile otherwise? You can add a menu button or a link on the slash screen, but I doubt if anything can beat a guide on discoverability. Not being good at writing tutorial for newbie is one thing, not doing it is another thing. If we want Emacs to be more newbie-friendly, we should have a friendly introduction built-in. Yuan [-- Attachment #2: Type: text/html, Size: 14091 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-11 13:52 ` Yuan Fu @ 2020-09-11 14:01 ` Eli Zaretskii 2020-09-11 14:27 ` Stefan Monnier 1 sibling, 0 replies; 173+ messages in thread From: Eli Zaretskii @ 2020-09-11 14:01 UTC (permalink / raw) To: Yuan Fu; +Cc: self, emacs-devel > From: Yuan Fu <casouri@gmail.com> > Date: Fri, 11 Sep 2020 09:52:34 -0400 > Cc: self@gkayaalp.com, > emacs-devel@gnu.org > > Others has described the out-of-the-box experience of doom Emacs, it seems to me that such > job is better done by a “distribution” of Emacs than by vanilla Emacs. > > "Better" in what sense? What do the people who maintain Spacemacs or > DOOM know about Emacs that we don't? > > They can do things we can’t. They can bundle MELPA packages, they can set various defaults, they can > promote one package over another, they can bundle a bunch of helper commands and configurations. These are not obstacles we cannot negotiate if needed. If we decide some feature is important, we can talk to the respective developers and ask them to clean them up for Emacs or for GNU ELPA. Or we can write our own implementations of those or similar features. Maybe, even probably, we will never provide the full suite of what Spacemacs or DOOM do, but even a small number of easily turned on features could be a significant improvement. > Not being good at writing tutorial for newbie is one thing, not doing it is another thing. If we want Emacs to be > more newbie-friendly, we should have a friendly introduction built-in. I didn't want to say I'm against writing guides. If someone wants to write such guides, by all means go ahead, and TIA. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-11 13:52 ` Yuan Fu 2020-09-11 14:01 ` Eli Zaretskii @ 2020-09-11 14:27 ` Stefan Monnier 1 sibling, 0 replies; 173+ messages in thread From: Stefan Monnier @ 2020-09-11 14:27 UTC (permalink / raw) To: Yuan Fu; +Cc: self, Eli Zaretskii, emacs-devel >> "Better" in what sense? What do the people who maintain Spacemacs or >> DOOM know about Emacs that we don't? > They can do things we can’t. They can bundle MELPA packages, they can set > various defaults, they can promote one package over another, they can bundle > a bunch of helper commands and configurations. Indeed, there are fundamentally two things they do that we don't: - they bundle extra packages - they don't have to accommodate all Emacs users (tho over time, they discover that they have to accommodate their own users when introducing changes ;-) We could also bundle extra packages, actually. We just currently decide not to. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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-09 2:01 ` Nick Savage 2020-09-09 14:48 ` Göktuğ Kayaalp 2020-09-10 2:36 ` Richard Stallman 2 siblings, 1 reply; 173+ messages in thread From: Nick Savage @ 2020-09-09 2:01 UTC (permalink / raw) To: emacs-devel Göktuğ Kayaalp <self@gkayaalp.com> writes: >> I think everybody would agree on attracting more people to use >> Emacs—that means more blogs and help, more contributor, etc. And >> people agree that Emacs isn’t as beginner-friendly as it could be. The >> problem is what to improve, and how. > > Not necessarily. Personally, I don’t see much benefit in trying to > appeal users that have no background in coding whatsoever, and users who > wouldn’t really benefit from what Emacs has to offer. > As someone who comes to the community with minimal background to coding, I'd like to add a little bit of my experience and what attracted me to Emacs in the first place: I've probably been using Emacs for around ten years, but not very seriously until very recently. I originally dabbled in coding a tiny bit in high school and experimented with Emacs because it seemed cool. I studied in the humanities in university, and I made more use of it as an editor and for LaTeX. LaTeX is not an uncommon thing for people in academia to be using - I actually met someone in accounting who said he uses it! I'll admit I'm atypical and I wouldn't expect the average humanities student or professor to be using Emacs, no matter what, but I think Emacs has a lot of value for people outside programming, especially with org-mode. The big hurdle I think for a lot of users is that Emacs is basically a black box. I had no idea until very recently that CUA mode exist, which could add value to users. I actually really like the idea of a configuration wizard, as others have suggested, with some common options like that. It's probably the least destructive in terms of environment since it doesn't actually change any defaults and can provide new users with a "modern" experience out of the box. > The major problem is that someone who fiddled with Emacs now and > couldn’t make use of it may think differently when a couple years later > they have some knowledge of programming (not necessarily professionally) > and some experience with other tools. > > Anecdotally, I’ve picked up and quit Emacs multiple times before I > decided to stay with it. And it’s been more than 6 years now that I’m > using it for the good part of my computing. What was puzzling and weird > to me back then is useful and essential to me now. > This is probably a good point though too, on the other hand. Locking in CUA mode early with a configuration might lead users to stick with it long-term instead of maybe seeing the value the rest of the program has, for better or for worse. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-09 2:01 ` Nick Savage @ 2020-09-09 14:48 ` Göktuğ Kayaalp 0 siblings, 0 replies; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-09 14:48 UTC (permalink / raw) To: emacs-devel On 2020-09-09 05:01 +03, Nick Savage <nick@nicksavage.ca> wrote: > Göktuğ Kayaalp <self@gkayaalp.com> writes: > I'll admit I'm atypical and I wouldn't expect the average humanities > student or professor to be using Emacs, no matter what, but I think > Emacs has a lot of value for people outside programming, especially with org-mode. I’ve (almost) never programmed professionally either. Currently doing an MA in linguistics. Emacs indeed has much value outside programming; potentially much more value for me and probably you too. But using Emacs without _any_ programming knowledge, or at any interest in learning even the tiniest bit to manage an init.el is, IMHO, kind of a dead end. Because sooner or later you’ll need it. And it’s very easy, but sadly there’s a shortage of resources that make programming what it is---a rudimentary task, yet another UI to your computer---and teach it as such. I’m kinda getting lost in my sentences. What I want to say is, Emacs is not all that useful if you don’t want to do _any_ programming, including your init.el, which when you use, is programming. There are quite solid alternatives to Org mode that require no programming knowledge. There’s Notion, there’s Roam Research (albeit I’d rather not touch it), but also a couple very capable open source outliners. Chances are, a user that’s completely disinterested in programming may make more use of these software. Similarly for LaTeX. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 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-09 2:01 ` Nick Savage @ 2020-09-10 2:36 ` Richard Stallman 2020-09-10 10:07 ` Göktuğ Kayaalp 2 siblings, 1 reply; 173+ messages in thread From: Richard Stallman @ 2020-09-10 2:36 UTC (permalink / raw) To: GöktuÄ Kayaalp; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Anecdotally, I’ve picked up and quit Emacs multiple times before I > decided to stay with it. And it’s been more than 6 years now that I’m > using it for the good part of my computing. What was puzzling and weird > to me back then is useful and essential to me now. I think this demonstrates that someone for whom Emacs can ondeed be useful may be unable recognize its usefulness when trying it out. I know it was long ago, but can you remember anything importantly useful about Emacs that you didn't recognize in those first attempts? Does anyone else have an idea what things those might be? We might be able to figure out better ways of demonstrating them to potential satisfied Emacsers. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-10 2:36 ` Richard Stallman @ 2020-09-10 10:07 ` Göktuğ Kayaalp 2020-09-10 17:28 ` Drew Adams 0 siblings, 1 reply; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-10 10:07 UTC (permalink / raw) To: rms; +Cc: GöktuÄ Kayaalp, emacs-devel On 2020-09-10 05:36 +03, Richard Stallman <rms@gnu.org> wrote: > I know it was long ago, but can you remember anything importantly > useful about Emacs that you didn't recognize in those first attempts? Indeed, tho let me try. I don’t really recall exact things but I’ll write out my pathway in a couple of paragraphs; maybe it’s a pattern some people will recognise. So I came to it as someone teaching himself programming, probably sometime in 2012 or 2013. But I must have been aware of it before, given I’ve been using GNU/Linux since I was a kid. I was basically editor hopping as I was trying to figure out programming by myself, and in that timeframe used everything under the sun, basically. Emacs was particularly interesting as it was what ‘cool Lisp hackers’ used. But IIRC the first few times I was trying to use it more like Vim, i.e. editor with extensions and an rc file. For some reason, probably because that cool kids factor, I stuck with Emacs for a while. Then I worked a job as a Python dev for a month or so, around the end of 2013. The colleagues made me switch to Vim because they had a pretty decent Python setup, whereas my Emacs Python setup was nonexistent. And that stuck for a long while. I built a 1.5kLoC vimrc (which I’ve probably lost since...), and even wrote a couple plugins (one of which a colourscheme which seems to still see some little use in the community). When it clicked for me, what Emacs could indeed allow me to do, was probably around some time in 2015. By then I had moved on to pursue my education in humanities, and needed to organise my notes, manage my todos and agenda. That’s when I came back to Emacs, IIRC. Typed in a ton of notes into Org mode format. And I stuck with it from then on. At some point between some time after my switching to Vim and and later finally swithing to Emacs I must’ve read a lot, possibly through Hacker News, about Emacs and Org mode, and gathered a more refined view of what’s possible with these tools. And I recall being very frustrated with the ‘unix way’ because it was never as neat as people made it seem to be: I was having a difficult time fitting things together, especially for non-programming toils the switch to humanities brought about. I also should’ve first watched ‘A Tour of Acme’ by Russ Cox [1], and it’s not an exaggeration to say it’s one of the most influential moments in my life with computers. It must have clicked for me soon after that that I could make out of Emacs what I wanted: an ‘integrated computing environment’ where I can make things work for me, and fine tune everything at almost any depth, and do all that interactively. That seems obvious to me today, but back in those few years it must’ve been a puzzle for me how actually this kind of stuff happens, how people could make more use of Emacs than just as a text editor or IDE. Hopefully that’s not one long wall of text with a completely irrelevant personal story. [1] https://www.youtube.com/watch?v=dP1xVpMPn8M -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: Gather a list of confusions beginner tend to have 2020-09-10 10:07 ` Göktuğ Kayaalp @ 2020-09-10 17:28 ` Drew Adams 2020-09-10 21:17 ` Göktuğ Kayaalp 0 siblings, 1 reply; 173+ messages in thread From: Drew Adams @ 2020-09-10 17:28 UTC (permalink / raw) To: Göktuğ Kayaalp, rms; +Cc: emacs-devel > > I know it was long ago, but can you remember anything importantly > > useful about Emacs that you didn't recognize in those first attempts? > > Indeed, tho let me try. I don’t really recall exact things but I’ll > write out my pathway in a couple of paragraphs; maybe it’s a pattern > some people will recognise. ... What you wrote is, IMO, quite helpful (and interesting). Thx. [You might consider a fun "humanities" project of working on (yet another) Emacs tour/tutorial/video. Sounds like you'd have something to offer in this regard. By "working" on, I mean anything from coming up with something new to critiquing/improving something that already exists.] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Gather a list of confusions beginner tend to have 2020-09-10 17:28 ` Drew Adams @ 2020-09-10 21:17 ` Göktuğ Kayaalp 0 siblings, 0 replies; 173+ messages in thread From: Göktuğ Kayaalp @ 2020-09-10 21:17 UTC (permalink / raw) To: Drew Adams; +Cc: Göktuğ Kayaalp, rms, emacs-devel On 2020-09-10 20:28 +03, Drew Adams <drew.adams@oracle.com> wrote: > What you wrote is, IMO, quite helpful (and interesting). Thx. Thanks for your nice words! I’m glad it was of any use! > [You might consider a fun "humanities" project of > working on (yet another) Emacs tour/tutorial/video. > Sounds like you'd have something to offer in this > regard. By "working" on, I mean anything from > coming up with something new to critiquing/improving > something that already exists.] That’s actually part of a long term project of mine: a Computing for Social Sciences course because we increasingly rely on more than just statistics within these fields, yet very little can operate a computer properly for the life of theirs. But I will try to come up with an intro or overview of Emacs in the shorter term, maybe I do manage to make some things clearer and more approachable for some folk, given there might be some ‘aligned needs’. W.r.t. critique of Emacs, I doubt my critique would be of any use, because I’m fine with the status quo. I’m learning the ways of ‘kids these days’ along with you folks, really. -- İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427 ^ permalink raw reply [flat|nested] 173+ messages in thread
[parent not found: <<875z8ortot.fsf@gkayaalp.com>]
[parent not found: <<D09D40C2-FF5C-4D1B-A030-C710297C1AE0@gmail.com>]
[parent not found: <<83lfhjkq0r.fsf@gnu.org>]
[parent not found: <<8620B5CD-CA92-46BF-80A8-DBE7052F4CA6@gmail.com>]
[parent not found: <<CADwFkm=GQqZ2e07QuC582T-MNhi1Xo4OPsMTYbQHH9gD7h6QnA@mail.gmail.com>]
[parent not found: <<alpine.NEB.2.22.394.2009120917260453.23267@sdf.lonestar.org>]
[parent not found: <<83d02re2uk.fsf@gnu.org>]
* RE: Interactive guide for new users [not found] ` <<83d02re2uk.fsf@gnu.org> @ 2020-09-12 16:25 ` Drew Adams 2020-09-13 4:34 ` Ihor Radchenko 0 siblings, 1 reply; 173+ messages in thread From: Drew Adams @ 2020-09-12 16:25 UTC (permalink / raw) To: Eli Zaretskii, Gregory Heytings; +Cc: casouri, emacs-devel > > 2. disable tool-bar-mode > > We have just established that [the tool bar] > is important for newbies. Without expressing a preference for the default behavior here, let me ask whether it's true that we've established that tool-bar on is important for newbies. Menu-bar, yes. Or a hamburger-menu or whatever. But tool-bar? Have we really "established" that? A menu-bar is quite helpful for discovery, which is important. We want users to discover features and key bindings. A tool-bar isn't so useful for discovery, I think. But again, that's not an opinion that we should remove it by default. I'm just questioning the declaration that it's already (newly) established that it should be shown by default. ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: Interactive guide for new users 2020-09-12 16:25 ` Interactive guide for new users Drew Adams @ 2020-09-13 4:34 ` Ihor Radchenko 0 siblings, 0 replies; 173+ messages in thread From: Ihor Radchenko @ 2020-09-13 4:34 UTC (permalink / raw) To: Drew Adams, Eli Zaretskii, Gregory Heytings; +Cc: casouri, emacs-devel > But again, that's not an opinion that we should > remove it by default. I'm just questioning the > declaration that it's already (newly) established > that it should be shown by default. For example, toolbar is used to help new users with interactive isearch. It shows next/previous match buttons to help users, who don't know about C-s/C-r. Moreover, it also provides buttons to show docstring and provides tooltips about key bindings in isearch-mode-map. Best, Ihor Drew Adams <drew.adams@oracle.com> writes: >> > 2. disable tool-bar-mode >> >> We have just established that [the tool bar] >> is important for newbies. > > Without expressing a preference for the default > behavior here, let me ask whether it's true that > we've established that tool-bar on is important > for newbies. > > Menu-bar, yes. Or a hamburger-menu or whatever. > But tool-bar? Have we really "established" that? > > A menu-bar is quite helpful for discovery, which > is important. We want users to discover features > and key bindings. A tool-bar isn't so useful for > discovery, I think. > > But again, that's not an opinion that we should > remove it by default. I'm just questioning the > declaration that it's already (newly) established > that it should be shown by default. ^ permalink raw reply [flat|nested] 173+ messages in thread
end of thread, other threads:[~2020-09-30 14:11 UTC | newest] Thread overview: 173+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 ` Interactive guide for new users Gregory Heytings via Emacs development discussions. 2020-09-12 9:55 ` 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
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.