:ui zen

Distraction-free mode for the ever distracted

1. Description

This module provides two minor modes that make Emacs into a more comfortable writing or coding environment. Folks familiar with “distraction-free” or “zen” modes from other editors – or olivetti, sublimity, and tabula-rasa – will feel right at home.

These modes are:

mixed-pitch-mode
Which renders (most) text in a variable pitch font (see doom-variable-pitch-font). Unlike variable-pitch-mode, this will not affect segments of text that are intended to remain in a fixed pitch font, such as code blocks or ASCII tables.
writeroom-mode
Our all-in-one “zen” mode that will:
  1. Center the current buffer.
  2. Remove superfluous UI elements (like the modeline).
  3. Activate mixed-pitch-mode.
  4. Scale up the buffer’s text slightly (see +zen-text-scale).
  5. And make the window’s borders slightly thicker (see +zen-window-divider-size).

1.1. Module flags

This module has no flags.

1.3. Hacks

  • Doom has disabled all of writeroom-mode’s “global” effects (writeroom-global-effects and writeroom-maximize-window are set to nil), and encapsulated them into the +zen/toggle-fullscreen command, whereas +zen/toggle will only operate on the current buffer. This way, the user may choose how far-reaching they want its effect to be.
  • text-scale has been advised to adjust visual-fill-column’s margins, so its text won’t “squeeze” as you scale it up (or “spill” when scaled down).

2. Prerequisites

This module has no external prerequisites.

3. Usage

This module provides two entry points:

M-x +zen/toggle
Toggles writeroom-mode (restricted to the current buffer).
M-x +zen/toggle-fullscreen
toggles zen mode in full-screen mode (deletes other windows and full screens the Emacs frame).

Invoke either command again to undo the change.

This can be activated with SPC t z for evil users. Non-evil users can use C-c t z or ’M-x writeroom-mode’.

4. TODO Configuration

This module’s configuration documentation is incomplete. Complete it?

4.1. Enable fullscreen on activation

(setq writeroom-fullscreen-effect t)

Or fullscreen manually with SPC t F (or F11 for non-evil users).

5. Troubleshooting

There are no known problems with this module. Report one?

6. TODO Appendix

This module has no appendix yet. Write one?