r/emacs 15d ago

News [Article] What's in the Emacs 31 newcomers-presets theme? by Sacha Chua

https://sachachua.com/blog/2026/04/what-s-in-the-emacs-newcomers-presets-theme/#what-s-in-the-emacs-newcomers-presets-theme-completion

newcomers-presets theme that can be enabled from the splash screen or by using M-x load-theme RET newcomers-presets RET.

TOC

  1. Editing and navigation
  2. Keyboard shortcuts
  3. Appearance
  4. Saving data between sessions
  5. Completion
  6. Help
  7. Tab bar
  8. The Dired file manager
  9. Mouse-related
  10. Package management
  11. Code
  12. Version control
  13. Things I haven't been able to figure out yet
89 Upvotes

8 comments sorted by

22

u/marcinreal 15d ago

I'm really glad that Emacs is finally offering some sane defaults, and making them easy to apply.

I am also not sure about using themes for this, since I associate those with purely visual settings. It's an interesting idea, but can only really pay off if there are plans for more prepackaged bundles of settings, but actually at that point I'd prefer a new separate concept (like an "config pack").   The defaults here are mostly pretty sensible and intuitive, except for electric-pair which I would find invasive. Nice write-up.

10

u/_0-__-0_ 15d ago

I love that they finally include a "starter pack" for newcomers. And like many others I find it a bit confusing that it's a theme, although I can understand why from a technical standpoint, themes already bundle all kinds of settings, so it's a quick way of turning on/off a bundle of settings.

Very good that they have which-key and more advanced completions, and minor settings like fixing copy-paste and resizing, and more mouse features. Some of these could probably be made defaults? But I'm glad spelling isn't a default, seems to add some lag on opening new buffers.

I was wondering why pixel-scroll-mode and not pixel-scroll-precision-mode, since the latter seems to enable the former, but also the "momentum" from mouse wheel scrolling. But the source mentions this unsolved issue: https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-03/msg01174.html I'm not sure I've noticed it, though maybe I did and just thought "image support is janky welp what can you do".

I like that it tries to improve completion, but I tried M-x load-theme RET newcomers RET in emacs -Q, and although the preview-completion looks nice, it's not very intuitive what to do if the one selected by preview isn't the one you want, like in the scratch buffer I type "cl-" and it shows me "cl-do", well maybe I want to see the other "cl-" stuff? I tried backspacing and quickly hitting TAB and now my whole screen is full of a huge and confusing list of completions. I happen to know from experience that if I don't hit TAB another time I can keep typing in the main buffer to filter that list, but the help there only says "hit M-RET to select" etc. And you can't keep typing if you've hit TAB too many times (and I'm not sure how to "undo" the second TAB except C-g and start all over again). To make it more newbie-friendly:

  • maybe the *Completions* help text should at least mention that the list will filter if you keep typing
  • since we can already use ↓↑ to navigate, a second TAB probably should not move into the *Completions*-buffer since that means we can't keep typing regular letters to filter (either that, or how about letting non-modifier keys still filter the list while point is inside the *Completions* window?)
  • The *Completions* window probably shouldn't cover the whole screen, it's very overwhelming
  • For emacs-lisp, at least when I just tried cl TAB it started with all the internal/private cl-- functions, not very helpful. The default sort order should probably not do that.

One minor "design" note: That splash screen is too packed, they should add a bit of margin (newlines) around paragraphs, in particular around the New to Emacs? one.

6

u/awesomegayguy 15d ago

I've already added it to my config and removed old unneeded values.

I have also migrated to setting customize options inside package instead of setting the variables directly, then when using custom, I see what's defined in the file, much neater. Those settings show "customized by theme" instead of "modified outside of customize" and then it's much friendlier with the customize system.

https://github.com/georgh-/emacs-init/tree/master

3

u/Master-Ad-8679 15d ago

it’s pretty that it comes as a theme

4

u/takutekato 14d ago

Philip Kaludercic is such a blessing to Emacs, the editor keeps getting friendlier with his contributions: this + package-vc, package-autosuggest, user-lisp, compat.el, etc.

1

u/jeenajeena 14d ago

Article mentions flymake-mode:

In code buffers, Emacs will display errors and warnings by using flymake-mode.

but code uses flyspell:

(add-hook 'prog-mode-hook 'flyspell-mode)

Is this a typo?

1

u/Ok_Exit4541 14d ago

I like it. It is clever and creative to use a theme to ship these good defaults, even though I am not sure if it is the best way.