My Review of mtPaint

Share

Although mtPaint has some interesting features, it's very clunky and frustrating to use. It may be useful in some use cases, but generally there are better free pixel art editors you can use, such as LibreSprite.

The main window of a pixel art editor showing a landscape image. On the left, an indexed color palette, then a 1000% zoomed pane with a pixel grid. On the right, a preview with 100% zoom.
A screenshot of MtPaint. On the left pane, we have the palette with indexed colors starting from zero, then a pane showing the image with 1000% zoom and a pixel grid. On the right, a preview of the artwork at 100% zoom. Pixel artwork by CraftPix.net.

Notable Features

8-bit and 24-bit Layers: mtPaint has palette support like GraphicsGale, but it can also do something GraphicsGale can not: insert a normal image of 24bpp as a layer. In Gale, the whole image, all layers, have to be 8bpp if you make the canvas 8bpp, while in mtPaint it's possible to have layers of different color depths.

Layer-Based Animation: mtPaint supports layer-as-frames animation. However it seems to have a limit of 100 layers for some reason, which means it's also limited to animations of up to 100 frames.

Multi-Clipboard: mtPaint lets you copy to 12 separate clipboard through Ctrl+F1 to F12 and paste from them later.

Notable Problems

DATA LOSS: mtPaint doesn't seem to have its own image format, which is surprising considering it has layer and palette support. If you save an image with mtPaint, it lets you save as .png, which doesn't support layers. This means it only saves the currently selected layer, and if you were working with multiple layers and thought mtPaint saved them for you, you're going to be very sad later.

Since it supports multiple formats, I tried to test them just to make sure.

FormatSaves layers?
PMMNo
BMPNo.
GIFNo.
LBMNo.
PNGNo.
TGANo.
TIFFNo.
XPMNo.
Layer-support when saving images from mtPaint.

Either mtPaint can't save layers at all, or it somehow can't open the layers after they've been saved. Considering that if you try to open a file there is a warning says "One or more layers contains changes that have not been saved. Do you really want to lose these changes?" but the only options given are "Cancel Operation" and "Lose Changes," and not "Save," I assume you're supposed to save each layer individually and manually for some reason?

Each layer also seems to have a separate palette and can be moved around arbitrarily, so rather than "layers" they're more like reference images in Krita, or random objects in Inkscape. In fact, you can even click on a layer in the preview pane to quickly switch to it. That's a neat feature. Rather than layers it's more like you have a workspace of multiple single-layer files.

No Panning Support: mtPaint doesn't support panning with the middle mouse button. In fact, it doesn't even have a "hand" tool for panning. Its only panning tool shows a small "map" of the entire image for you to click on. When I tried to bind this to my tablet pen, it panned so fast it crashed the program.

No Zooming by Scrolling: mtPaint only lets you change zoom levels by clicking on a dropdown list button in the toolbar.

Counter-Intuitive Interface: mtPaint looked promising and full of features at first, but every single one of its features is too clunky to use.

To change the color you're using, you would imagine that you have to click the foreground-background color switcher above the palette. Indeed that will show you a dialog box that looks like it does what you want, except it doesn't do what you want. Instead of "FG" and "BG," mtPaint uses the terminology "A" and "B" colors. If you change the "A" color through this dialog and click "Ok," literally nothing will happen. In fact, I'm still not quite sure about what is this dialog even for!

If this doesn't work, maybe clicking on the color in the palette will work? That doesn't work either. It just selected the color. Double clicking the palette doesn't do anything, right clicking shows no context menu. A tip for developers: if you have a list of anything, you need to implement context menus! How do you change the color then? Is it even possible?

You must click on the number at the left side of the colored rectangle in the palette. To change the 2nd color on the palette, you click on the "2." Then it shows the dialog you want.

Although there is a layers menu, there is no "show layers" item. The layers list is in the dock, which is hidden by default, and has to be displayed by clicking View -> Show Dock. In this dock, for reasons way beyond my understanding, there is a "X" button under the layer list whose tool tip says it will "Close Layer Window," but it doesn't actually do anything as there is no layer window. At first glance it looks like it should delete the selected layer, but it doesn't do that. Which button deletes the selected layer? A button whose icon is a pair of scissors.

mtPaint can draw with patterns, so you can quickly dither things. This functionality is hidden. Above the palette list, there is a wide solid rectangle filled with the foreground ground. If you click on this rectangle, you'll be able to select a different pattern. The reason why this rectangle just looks like a redundant indicator of foreground color is because the default pattern is to just use the foreground color. If you use a dithering pattern, the rectangle will stop being solid and become textured.

Similarly, mtPaint has circle, square, diagonal line, and spray brushes, but they're hidden by a click on what's by default a tiny white dot above the palette.

If you enable gradient mode by accident, you won't be able to draw anything and you won't know why. You need to use the bucket fill to realize what is happening.

Other Observations

Detachable Menus: this is one of the strangest features I've ever seen in my life. Every menu in mtPaint starts with an item labelled with dashes (-). If you click on this item, it "detaches" from the menubar and the menu gets its own window!

Comments

5 responses to “My Review of mtPaint”

  1. wjaguar Avatar

    The stupidest case of manual-not-read-itis I ever seen.

    mtPaint is designed as a compact and responsive tool for literate sapient beings. Integrating into it nursery facilities, such as context menus, tooltips, and context help, for the sole benefit of the entitled personages who cannot deign to read a single page from the included manual, would waste my time, and swell the binary to the detriment of the users with weak hardware.
    I believe the people who dislike to read, learn, and know, will go for the newest shiniest toy on the market anyway, having no understanding and no use for any sort of advanced features. Not my target audience, and given that I work on mtPaint primarily for my own needs, no loss either.

    Having said that, if you indeed have managed to crash mtPaint and it is reproducible, I am very interested in learning the conditions leading to that happening. Because I do not tolerate bugs in my software, but to fix a bug, I need to know how to make it trigger.

    1. Noel Santos Avatar

      That's okay. You're not the target audience for my review either, because you already know how to use the software you made yourself.

      Sure I can reproduce it. Here's how to crash mtPaint on Linux Mint:

      1) click in Help -> Keyboard shortcuts... I'd love to know why this menu item is in the Help menu instead of in the File or Edit menu, by the way, because I had a lot of trouble finding it.

      2) bind "Pan Window" to the space bar.

      3) hold the space bar AND hold the left mouse button then move the mouse cursor around. After a while, mtPaint will crash.

      1. wjaguar Avatar

        Agreed. In my epoch, illiteracy was a condition to be ashamed of, not to flaunt around.
        Anyhow, your attitude is your own problem and your own punishment, and as it happens, the scheme you describe happens to do NOTHING on my Slackware system. Therefore, the brokenness of your favorite distro is not MY problem in any way, shape, or form. Good luck! (you'll need it)

      2. wjaguar Avatar

        After quite some trying, I managed to reproduce the bug you described. It did indeed exist.
        Therefore, you do deserve the honor of being the discoverer of the weirdest bug ever, in all those 20 years of mtPaint. :)))
        The specific mixed triple-stack of input events, hitting a GLib2 bug, is definitely not a thing I would ever trigger on my own.
        So, thanks. While the fix is irrelevant to normal use, stability under heavy load is good to have.

        1. Noel Santos Avatar

          I'm glad you were able to reproduce it. :)

          You're welcome!

Leave a Reply

Leave your thoughts! Required fields are marked *