You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TeraDyne Ezeri a09de1f9f5 Fixed paragraph spacing 2 months ago
.github/workflows Try building WordGrinder on github ci. 7 months ago
.settings Remember to set the window title and class hints. 5 years ago
build/share Added BBCode support 7 months ago
extras Add a plain .png version of the icon. 2 years ago
licenses Add the xpattern license file. 3 years ago
scripts Added a simple user script to export all subdocs in a document set. 1 year ago
src Fixed paragraph spacing 2 months ago
testdocs When upgrading documents to the new model, remember 2 years ago
tests 'Delete word' now behaves more sensibly. 7 months ago
tools Fixed paragraph spacing 2 months ago
.Brewfile Rename Brewfile to .Brewfile 3 years ago
.anjuta_sym_db.db Added BBCode support 7 months ago
.cdtproject Remember to set the window title and class hints. 5 years ago
.cproject Remember to set the window title and class hints. 5 years ago
.gitignore Added things to gitignore 5 years ago
.hgignore Remember to set the window title and class hints. 5 years ago
.hgtags Added tag wordgrinder-0.7 for changeset a70982c09428 3 years ago
.ninja_deps Added BBCode support 7 months ago
.project Remember to set the window title and class hints. 5 years ago
Makefile Attempt to detect CentOS' non-standard ninja naming. 1 year ago
README Typo fix. 2 years ago
README.Windows.txt Update for 0.7.2. 2 years ago
README.wg Add UI to enable and disable dense paragraph mode. 3 years ago
build.lua Added BBCode support 7 months ago Update URL. 3 years ago


                              WORDGRINDER V0.7.2

© 2007-2018 David Given

Unix version


WordGrinder is a simple, Unicode-aware word processor that runs on the
console. It's designed to get the hell out of your way and let you write;
it does very little, but what it does it does well.

It supports basic paragraph styles, basic character styles, basic screen
markup, a menu interface that means you don't have to remember complex
key sequences, HTML import and export, and some other useful features.

WordGrinder does not require X. It runs in a terminal. (But there's a
version which uses X if you want it.)


WordGrinder needs the following packages installed:

- ninja, the build tool. This is available from:

- ncursesw, the wide-character version of curses. This is supplied with
most systems.

- an X development kit including Xft (if you want the X frontend). This
is supplied with most systems.

- zlib. You will already have this, but just on the offchance, it's here:

- Optionally: Lua, the programming language. WordGrinder has its own built-
in copy, but if you want to use the system Lua, install it and edit the
Makefile. Lua is available from:

- a terminal emulator that supports UTF-8. gnome-terminal, konsole, xterm
and rxvt-unicode do. rxvt and the Linux console don't (unless you use
jfbterm). You will also need a decent set of Unicode fonts or WordGrinder
will look funny.

Chances are you already have these in your distribution. Merely install these

If you have Debian/Ubuntu:
ninja-build libncursesw5-dev liblua5.2-dev zlib1g-dev libxft-dev

If you have Fedora:
lua lua-devel lua-libs lua-filesystem zlib-devel libXft-devel ncurses ncurses-devel ninja-build

If you have OSX with Homebrew (ncurses only, sorry):

To build, simply do:


To install, do:

sudo make install PREFIX=/usr

(Change PREFIX to whatever you like; naturally, if you're not installing in a
global location, you don't need sudo.)

(There are various other configuration options in the Makefile.)

It is now ready to use.

Special note for compilation on Windows: do 'make windows' with the Mingw64
toolchain and nsis installed. You can either cross-compile from Linux, or
use Cygwin. You'll end up with the installer package in bin/. Yes, if you
prefer the ncurses version will compile natively for Cygwin.


Do this:

wordgrinder get a blank document. You can load an existing document with:

wordgrinder README.wg

Please read README.wg; it contains the manual. There is also a man page,
which describes the command line interface.

If you use WordGrinder, please join the mailing list. This will allow you
to ask questions, hopefully receive answers, and get news about any
new releases. You can subscribe or view the archives at the following page:


WordGrinder contains a number of embedded libraries, described here. Not all of
them may be used by any given binary depending on your configuration. Please
look in the licenses directory for the full license text.

WordGrinder is © 2007-2017 David Given, and is available under the MIT license.

The distribution contains a copy of Lua 5.1. This is also MIT licensed and is ©
1994–2017, PUC-Rio. See for more information.

The distribution contains a copy of LuaBitOp. This is also MIT licensed and is ©
2008-2012 Mike Pall. See for more information.

The distribution contains a copy of the LuaFileSystem code. This is also MIT
licensed and is © The Kepler Project. See for more information.

The distribution contains a copy of the MiniZip library. This is © 1998-2010
Gilles Vollant and Mathis Svenson, and is available under the BSD license.

The distribution contains a copy of the SCOWL wordlist for British and
American-Canadian English. This is © Kevin Atkinson and J. Ross Beresford.
Please see the licenses/COPYING.Scowl file for the full license text.

The distribution contains a copy of the uthash and utlist libraries. This is ©
2003-2009 Troy D Hanson, and is available under a simplified BSD license.

The distribution contains a copy of the xpattern module. This is also MIT
licensed and is © 2008-2009 David Manura. See for more information.


WordGrinder 0.7.2: 2018-11-29: bugfix release. Pasting immediately after
loading a document no longer hard crashes. Don't buffer overrun if given
invalid unicode. Global settings are now updated correctly (in several
places). Fix a data loss situation when saving fails.

WordGrinder 0.7.1: 2017-11-02: correct and cleaner license reporting;
rearrange the source so that we can avoid shipping upstream dependencies
if we want. No actual code changes.

WordGrinder 0.7: 2017-10-30: new plain text diffable file format; Lua 5.3
support; better locale detection; dense paragraphs mode; lots of bugfixes.
Official OSX support. New (better, hopefully) build system.

WordGrinder 0.6: 2015-04-18: New X11 frontend (actual bold and italic on
Linux machines!); shift+cursor keys starts a selection; more HTML emission
fixes; non-document persistent settings; global key maps (currently via a
configurationfile); search works properly across words with markup; italic
display in a terminal (if you have a new enough version of ncurses); more
traditional charstyle selection (you can press ^B at the beginning of words
now!); more traditional selection model (shift+cursor keys works now!); fix
crash on loading very large .wg files; smart quote support; more efficient
files; undo and redo; spellchecker; colour configuration on X11 and Windows;
MarkDown export.

WordGrinder 2015-02-21: Minor bugfixes: build system fixes; updated
minizip to a version which builds better on Ubuntu; OSX Homebrew build system;
delete word; subsection counts now correct; HTML PRE emission issue corrected.

WordGrinder 0.5.1: 2013-12-08: Major overhaul: fixed hideous file corruption
bug; much improved Windows text renderer; bold; page count; widescreen mode;
UI style overhaul; many other minor bugfixes. Many thanks to Connor Karatzas
for extensive Windows testing.

WordGrinder 0.4.1: 2013-04-14: Minor bugfixes and build optimisation in aid
of the Debian package.

WordGrinder 0.4: 2013-03-24: Major overhaul: OpenDocument import/export,
new much smaller file format, a proper Windows port, updated to Lua 5.2,
switched away from Prime Mover to make (sob), much bug fixage.

WordGrinder 0.3.3: 2009-12-13: Fixed a bug when searching for or replacing
strings containing multiple whitespace characters (that was triggering the
crash handler). Thanks to lostnbronx for the report. Added RAW and PRE
paragraph styles. Cleaned up HTML import. Add customisability to HTML export.
Relicensed to MIT.

WordGrinder 0.3.2: 2008-11-03: Fixed a very simple and very stupid typo that
caused a crash if you tried to turn autosave on. Added a simple exception
handler to try and prevent data loss on error in the future.

WordGrinder 0.3.1: 2008-09-08: Minor bugfix revision to correct a few minor
but really embarrassing crashes problems in 0.3: no crash on HTML import, no
crash on File->New. Also some minor cosmetic fixes I noticed while doing the

WordGrinder 0.3: 2008-09-07: Lots more bug fixes. Added LaTeX export; troff
export; next/previous word/character; table of contents; autosave; scrapbook;
Windows console port. Fixed some issues with key binding. Lua bytecode is now
embedded in the executable, making it self contained. --lua option. General

WordGrinder 0.2: 2008-01-13: Lots of bug fixes. Added word count. Added about

WordGrinder 0.1: 2007-10-14: Initial release.


WordGrinder was written by me, David Given. You may contact me at, or visit my website at There may or
may not be anything interesting there.