Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rnkn/olivetti
Emacs minor mode to automatically balance window margins
https://github.com/rnkn/olivetti
emacs emacs-lisp prose writing
Last synced: 4 days ago
JSON representation
Emacs minor mode to automatically balance window margins
- Host: GitHub
- URL: https://github.com/rnkn/olivetti
- Owner: rnkn
- License: gpl-3.0
- Created: 2014-04-10T09:35:34.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-30T05:42:48.000Z (2 months ago)
- Last Synced: 2024-12-20T10:03:59.493Z (11 days ago)
- Topics: emacs, emacs-lisp, prose, writing
- Language: Emacs Lisp
- Homepage:
- Size: 2.04 MB
- Stars: 1,065
- Watchers: 15
- Forks: 31
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
README
Olivetti
========[![MELPA Stable](https://stable.melpa.org/packages/olivetti-badge.svg)][1]
[![MELPA](https://melpa.org/packages/olivetti-badge.svg)][2]A simple Emacs minor mode for a nice writing environment.
![olivetti screenshot](screenshot.png)
Features
--------- Set a desired text body width to automatically resize window margins
to keep the text comfortably in the middle of the window.
- Text body width can be the number of characters (an integer), a fraction of
the window width (a float between 0.0 and 1.0), or `nil` which uses the value
of `fill-column` +2.
- Interactively change body width with:
`olivetti-shrink C-c { { { ...`
`olivetti-expand C-c } } } ...`
`olivetti-set-width C-c |`
- If `olivetti-body-width` is an integer, the text body width will
scale with use of text-scale-mode, whereas if a fraction (float) then
the text body width will remain at that fraction.
- Change the way the text body margins look with option `olivetti-style`: use
margins, fringes, or both for a fancy "page" look.
- Customize `olivetti-fringe` face to affect only Olivetti buffers.
- Optionally remember the state of `visual-line-mode` on entry and
recall its state on exit.Olivetti keeps everything it does buffer-local, so you can write prose
in one buffer and code in another, side-by-side in the same frame.Requirements
------------- Emacs 24.4
Installation
------------The latest stable release of Olivetti is available via
[MELPA-stable][1]. First, add MELPA-stable to your package archives:M-x customize-option RET package-archives RET
Insert an entry named `melpa-stable` with URL:
`https://stable.melpa.org/packages/`You can then find the latest stable version of `olivetti` in the
list returned by:M-x list-packages RET
If you prefer the latest but perhaps unstable version, do the above
using [MELPA][2].Advanced Installation
---------------------Download the latest tagged release, move this file into your `load-path`
and add to your `init.el` file:(require 'olivetti)
If you wish to contribute to or alter Olivetti's code, clone the
repository into your load-path and require as above:git clone https://github.com/rnkn/olivetti.git
Bugs and Feature Requests
-------------------------Use GitHub issues or send me an email (address in the package header).
For bugs, please ensure you can reproduce with:$ emacs -Q -l olivetti.el
Alternatives
------------For those looking for a hardcore distraction-free writing mode with a much
larger scope, I recommend [Writeroom Mode](https://github.com/joostkremers/writeroom-mode).[1]: https://stable.melpa.org/#/olivetti
[2]: https://melpa.org/#/olivettiDonations
---------Donations are graciously accepted via [Github][3], or [Liberapay][4].
[3]: https://github.com/sponsors/rnkn
[4]: https://liberapay.com/rnkn/