mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-19 13:43:36 -05:00
ui/zen
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 (Emacs plugins) – 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). Unlikevariable-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:
- Center the current buffer.
- Remove superfluous UI elements (like the modeline).
- Activate
mixed-pitch-mode. - Scale up the buffer's text slightly (see
+zen-text-scale). - And make the window's borders slightly thicker (see
+zen-window-divider-size).
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.
Module Flags
This module provides no flags.
Plugins
Hacks
- Doom has disabled all of writeroom-mode's "global" effects
(
writeroom-global-effectsandwriteroom-maximize-windoware set tonil), and encapsulated them into the+zen/toggle-fullscreencommand, whereas+zen/togglewill only operate on the current buffer. This way, the user may choose how far-reaching they want its effect to be. text-scalehas been advised to adjustvisual-fill-column's margins, so its text won't "squeeze" as you scale it up (or "spill" when scaled down).
Prerequisites
This module has no prerequisites.
Features
Distractions-free mode
This can be activated with SPC t z for evil users. There is no keybinding for
non-evil users yet, so use 'M-x writeroom-mode'.
Configuration
Enable fullscreen on activation
(setq writeroom-fullscreen-effect t)
Or fullscreen manually with SPC t F (or F11 for non-evil users).