xpaint(1) Simple Paint program


xpaint [ -size WIDTHxHEIGHT ] [ -winsize WIDTHxHEIGHT ]
[ -zoom VALUE ]  -8 | -12 | -24   [ -visual VISUAL ]  [ -dpi DPI ]
[ -canvas ] [ -fullpopup ] [ -simplepopup ] [ -nomenubar ]
[ -screenshot ] [ -nowarn ] [ -astext ] [ -undosize VALUE ]
[ -operation NUMBER ] [ -filter FILE ] [ -proc FILE ]
[ -rcfile FILE ] [ -msgfile FILE ] [ -helpfile FILE ] [ -sharedir DIR ]
[ -encoding 0/8/16 ] [ -menufont FONT ] [ -textfont FONT ]
[ -lang LANGUAGE ] [ -twistcolor VALUE ] [ -hilitcolor VALUE ]
[ /o ] [ /c ] [ /l ] FILENAMES ...


XPaint is a color image editing tool which features most standard paint program options, as well as advanced features such as image processing algorithms. It allows for the editing of multiple images simultaneously and supports various formats, including PPM, XBM, TIFF, JPEG, etc.

The functionality of XPaint is divided into a toolbox area for selecting the current paint operation and paint windows for modifying/creating images. Each paint window has access to its own color palette and set of patterns, although the paint operation in use is globally selected for all windows.

XPaint runs on a variety of displays. It should be noted that saving images will adapt them to the current display type (i.e. a color image loaded on a greyscale screen will be saved as a grey image).

There is also an extensive on-line help system available.


By default all images given on the command line are listed in the browser of preselected files, but only the first one will be displayed. The /o switch (resp. /c, /l) indicates that the next images will be opened in a graphical canvas (resp. in the clipboard, resp. again listed in the file browser).

In addition to being able to specify image files to open, the following options are available on the command line:

-size wxh
Default width and height for new paint canvas being opened.
-winsize wxh
Default width and height for new canvas window being opened.
-zoom z
Default zoom value of image being opened. Reduction can be obtained by specifying for example :3 or -3 which yields reduction factor 1/3. Only non zero integers and inverses of integers are allowed.
Use an 8 bit PseudoColor visual.
Use a 12 bit PseudoColor visual.
Use a 24 bit TrueColor visual.
-visual VISUAL
Use VISUAL instead of the default visual. See also the section VISUAL FORMAT below for the list of possible visual types.
-dpi DPI
Use DPI as dpi (dot per inch) value for vector format images such as PS, PDF, SVG, and TeX, LaTeX documents. Default is 300. The option has no effect for bitmap images.
Use LANGUAGE instead of the default language set by the environment.
-encoding 0/8/16
Use UTF8, or one of the usual earliers 8bit locales (or one of the rare 16bit locales). Default is 0, i.e. UTF8.
-menufont FONT
Use FONT in the menu fonts. This should be specified according to the fontconfig library specifications. Default is Liberation-10:matrix=0.85 0 0 0.9 , that is Liberation font with a suitable matrix scaling.
-textfont FONT
Use FONT as default text font. This should be specified according to the fontconfig library specifications. Default is Times-18 , that is Times at 18pt.
-twistcolor VALUE
Use an hexadecimal color value #PQRSTU in order to indicate insensitive items in the menus through a color twist - if # is replaced with | (resp. &, ^) the resulting value is an OR (resp. AND, XOR) of the specified normal color with the given hexadecimal value. When #PQRSTU is replaced by ~PQ, the option sets a transparency level instead.
-hilitcolor VALUE
Use VALUE to modify background color for hilighted items. Use an hexadecimal value #PQRSTU which is either close to #000000 or close to #ffffff for best results.
-sharedir DIR
Use DIR instead of the default share directory (e.g. /usr/share/xpaint).
-rcfile FILE
Load FILE instead of the default RC file specified at compile time. See also the section RC FILE FORMAT below.
-msgfile FILE
Load FILE instead of the default message file specified in the app-defaults file (if any). The directory is relative to the share directory, unless FILE starts with a slash or a dot character.
-helpfile FILE
Load FILE instead of the default help file specified in the app-defaults file (if any). The directory is relative to the share directory, unless FILE starts with a slash or a dot character.
Popup an empty canvas on startup.
This controls whether the floating canvas popup shows the whole menu from the canvas menubar.
This controls whether the floating canvas popup just shows the edit commands.
Do not show menu bar on top of canvas windows.
Operate xpaint in screenshot mode from start-up.
-operation NUMBER
Start with operation <NUMBER> set in tool panel.
-undosize NUMBER
Set undo memory limit to <NUMBER> (default is 1 - only one undo !)
-filter FILE
Define filter at start-up by using <FILE> as C-script.
-proc FILE
Define and execute procedure at start-up by using <FILE> as C-script.
Do not emit warnings about possible data loss due to different depth of display and image.
Try to load as text those files which fail to be detected as a proper image format.
Give a summary of the available options.


The toolbox window is displayed when XPaint is started. The toolbox is used to select an operation which can then be applied to any image area presented (painting window, fat bits, pattern editor, etc.). The window has a selection of painting operations (as icons) and several pull down menus.


The painting window holds a canvas area for painting the displayed image, menus for performing operations on this image, and primary and secondary color/pattern palettes along with buttons for adding to these.


The display visual to use may be specified using the -visual option. Choices for the argument are: TrueColor, PseudoColor, DirectColor, StaticColor, StaticGray, GrayScale, or the decimal visual number (from xdpyinfo). Examples:
-visual TrueColor
-visual GrayScale
-visual PseudoColor
-visual 47

Alternatively, -8, -12, and -24 are also acceptable for specifying pseudo8, pseudo12, and truecolor24 respectively.


The RC file can be used to customize the color/pattern palettes. If a system-wide RC file is specified with the -rcFile option, that file is read first; otherwise, the defaults specified at compile time are loaded. Then, the file .XPaintrc is searched for first in the user's home directory and then in the current directory. Any settings specified here are appended to the one in the system-wide RC file.

Any time a new canvas is created, the .XPaintrc file is read again if it has changed.

The RC file can contain any of the following entries, in any order:

at the start of a line initiates a comment. The rest of the line is ignored.
solid color
where color is a color in standard X11 format (eg. GoldenRod1, #a2b5cd - see also X(1)) adds a solid color to the palette.
pattern BeginData bitmap EndData
where bitmap is a bitmap specification in XBM or XPM format, adds a fill pattern to the palette.

Note that there must be a newline after BeginData, and that EndData must appear on a line by itself.

pattern filename
where filename is a file containing a bitmap in XBM or XPM format, also adds a pattern to the palette.

The squares in the palette have a default size of 24 by 24 pixels. This can be changed by setting the XPaint.patternsize resource to a number between 4 and 64.


The original author is David Koblas, [email protected]. Around 1992, he wrote this : I am interested in how this program is used, if you find any bugs, I'll fix them; if you notice any rough spots, or think of some way in which it could be better, feel free to drop me a message.

Torsten Martinsen, [email protected], has taken maintenance from 1996 to 2000 approximately, from version 2.2 to version 2.6.2.

Jean-Pierre Demailly, [email protected], who started maintaining Xpaint around 1999, is to blame for any (mis)features added in version 2.5.8 and in the following releases.

Many people, too numerous to mention, have contributed to the development of XPaint. See ChangeLog in the source distribution for details.