table of contents
| DURDRAW(1) | User Commands | DURDRAW(1) |
NAME¶
durdraw - versatile ASCII and ANSI Art text editor for drawing in terminal
SYNOPSIS¶
durdraw [-h] [-p PLAY [PLAY ...] [-x TIMES] [-d DELAYEXIT] [--256color | --16color] [-b] [-W WIDTH] [-H HEIGHT] [-m] [--nomouse] [--cursor CURSOR] [--notheme] [--theme THEME] [--cp437] [--export-ansi] [-u UNDOSIZE] [-V] [--wrap WRAP] [filename]
DESCRIPTION¶
Durdraw is an ASCII, ANSI and Unicode art editor for UNIX-like systems (Linux, macOS, etc). It runs in modern Utf-8 terminals and supports frame-based animation, custom themes, 256 and 16 color modes, terminal mouse input, DOS ANSI art viewing, CP437 and Unicode mixing and conversion, HTML output, mIRC color output, and other interesting features.
Durdraw is heavily inspired by classic ANSI editing software for MS-DOS and Windows, such as TheDraw, Aciddraw and Pablodraw, but with a modern Unix twist.
For in-program help, press esc-h (see KEY BINDINGS below).
OPTIONS¶
positional arguments:¶
- filename
- .dur or ascii file to load
options:¶
- -h, --help
- show this help message and exit
- -p PLAY [PLAY ...], --play PLAY [PLAY ...]
- Just play .dur file or files, then exit
- -x TIMES, --times TIMES
- Play X number of times (requires -p)
- -d DELAYEXIT, --delay DELAYEXIT
- Wait X seconds after playback before exiting (requires -p)
- --256color
- Try 256 color mode
- --16color
- Try 16 color mode
- -b, --blackbg
- Use a black background color instead of terminal default
- -W WIDTH, --width WIDTH
- Set canvas width
- -H HEIGHT, --height HEIGHT
- Set canvas height
- -m, --max
- Maximum canvas size for terminal (overrides -W and -H)
- --wrap WRAP
- Number of columns to wrap lines at when loading ASCII and ANSI files (default 80)
- --nomouse
- Disable mouse support
- --cursor CURSOR
- Cursor mode (block, underscore, or pipe)
- --notheme
- Disable theme support (use default theme)
- --theme THEME
- Load a custom theme file
- --cp437
- Display extended characters on the screen using Code Page 437 (IBM-PC/MS-DOS) encoding instead of Utf-8. (Requires CP437 capable terminal and font) (beta)
- --export-ansi
- Export loaded art to an .ansi file and exit
- -u UNDOSIZE, --undosize UNDOSIZE
- Set the number of undo history states - default is 100. More requires more RAM, less saves RAM.
- -V, --version
- Show version number and exit
USER INTERFACE¶
Durdraw works like a text editor. Use the arrow keys to move the cursor, and use the keyboard to type letters, numbers, and punctuation to draw ASCII art.
Pressing Tab switches between the canvas and the color picker.
Special (Unicode) characters, shown on the bottom line of the screen, can be entered using F1, F2, F3, etc. Alternatively, use esc-1, esc-2, etc.
To change character sets, type esc-S , or click Menu (esc-m), then Edit, then Character Sets. Then use the arrow keys (or type to search) and Enter to pick a Unicode Block or a Durdraw character set. Use esc-[ and esc-] to cycle through the groups of characters in the current set.
In some terminals, alt can be used instead of esc.
MOUSE¶
The mouse can be used to click menus and menu items, click on colors in the color picker, scroll through menus and colors with the wheel, and draw, paint, color or erase directly on the canvas, depending on the active mouse tool.
When Durdraw first launches, clicking on the canvas moves the cursor. The Mouse Tools menu (esc-t) shows the currently selected mouse tool, which starts out as Move. To change the mouse function (for example, to Draw), click the Mouse Tools menu (esc-t) and select the desired function.
The available mouse tools are:
- Move
- Moves the cursor.
- Draw
- Draws using the selected draw/fill character.
- Paint
- Paints using a brush (see BRUSHES below).
- Color
- Changes a character's color without changing the character itself.
- Erase
- Erases a character.
- Eyedrop
- Picks up the color from a character.
- Animation Brush
- Paints using animation (see ANIMATION BRUSHES below).
KEY BINDINGS¶
Durdraw's keyboard commands are entered as an esc prefix followed by a key (i.e. press and release Esc, then press the next key), unless noted otherwise. In some terminals alt can be used as the prefix instead of esc.
Art editing¶
- F1 through F10
- Insert special character.
- esc-1 through esc-0
- Same as F1 through F10.
- esc-space
- Insert the current draw character.
- esc-c or Tab
- Open the color picker.
- esc-left
- Next foreground color.
- esc-right
- Previous foreground color.
- esc-up
- Change color, moving up the palette.
- esc-down
- Change color, moving down the palette.
- esc-'
- Insert line.
- esc-;
- Delete line.
- esc-.
- Insert column.
- esc-,
- Delete column.
- esc-]
- Next character group.
- esc-[
- Previous character group.
- esc-S
- Change character set.
- esc-L
- Replace color.
- esc-y
- Eyedrop (pick up color).
- esc-P
- Pick up character.
- esc-l
- Color character.
- shift-arrows
- Select an area for copy.
- esc-K
- Select an area for copy. (Mark selection)
- esc-v
- Paste.
- Insert
- Toggle insert mode.
Animation¶
- esc-k
- Next frame.
- esc-j
- Previous frame.
- esc-p
- Start or stop playback.
- esc-n
- Clone frame.
- esc-N
- Append empty frame.
- esc-d
- Delete frame.
- esc-D
- Set frame delay.
- esc-+ (or esc-=)
- Play faster.
- esc--
- Play slower.
- esc-R
- Set playback/edit range.
- esc-g
- Go to frame number.
- esc-M
- Move frame.
- esc-{
- Shift frames left.
- esc-}
- Shift frames right.
- esc-J
- Previous Animation Brush Frame
- esc-K
- Next Animation Brush Frame
File operations¶
Canvas size¶
UI and miscellaneous¶
BRUSHES¶
To make a brush, select an area with shift-arrows or esc-K, then press b. To paint with it, open the Mouse Tools menu (esc-t) and select Paint (P). You can then use the mouse to paint with your custom brush.
ANIMATION BRUSHES¶
To make an animation brush, select an area with shift-arrows or esc-K, then press b for "Make Brush," followed by a for "Animation Brush." To paint with it, open the Mouse Tools menu (esc-t) and select Animation Brush (A).
You can then use the mouse to "paint" animation frames: clicking on the canvas paints the current frame of the animation brush onto the canvas, then both the animation brush and the canvas advance to their next frame.
In loop mode , when you click or drag in the canvas, the current frame of the Animation Brush gets painted to the canvas, then the animation brush and canvas both advance to their next frames.
In clone mode , when you click or drag in the canvas, the current frame of the canvas is cloned to the next frame, then the current frame f the Animation Brush is painted to the canvas, and the animation brush and canvas both advance to the next frame.
FILES¶
- *.dur
- Durdraw's native animation format, loaded and saved with esc-o and esc-s.
- *.durf
- Durfetch files
- ~/.durdraw/themes/*.dtheme.ini
- Durdraw theme files
- /etc/durdraw/durdraw.conf
- Global configuration file.
- ~/.durdraw/durdraw.conf
- User configuration file.
- $XDG_CONFIG_HOME/durdraw/durdraw.conf
- User configuration file.
SEE ALSO¶
durfetch, durview
AUTHOR¶
Durdraw is primarily written by Sam Foster <samfoster@gmail.com>. For a full list of contributors, please see the Github page: https://github.com/durdraw/durdraw
| September 2026 | durdraw 0.31.0 |