+ This 'How-To' assumes that you want to make an excellent Tux Paint stamp, in PNG bitmapped format, from a JPEG image (e.g., a digital photograph). There are easier and faster methods that produce lower quality.
+
+
+ This 'How-To' assumes you are dealing with normal opaque objects. Dealing with semi-transparent objects (fire, moving fan blade, kid's balloon) or light-giving objects (fire, lightbulb, sun) is best done with custom software. Images with perfect solid-color backgrounds are also best done with custom software, but are not troublesome to do as follows.
+ If you wish to submit artwork to the Tux Paint developers for consideration for inclusion in the official project, or if you wish to release your own copy of Tux Paint, bundled with your own graphics, you need an image that is compatible with the GNU General Public License used by Tux Paint.
+
+
+ Images produced by the US government are Public Domain, but be aware that the US government sometimes uses other images on the web. Google image queries including either site:gov or site:mil will supply many suitable images. (Note: the *.mil sites include non-military content, too!)
+
+
+ Your own images can be placed in the Public Domain or a suitable license, such as the Creative Commons CC0 by declaring it so. (Hire a lawyer if you feel the need for legal advice.)
+
+
+ For personal use, any image you can legitimately modify and use for your own personal use should be fine.
+
+
+
+ Image Size and Orientation
+
+
+
+ You need an image that has a useful orientation. Perspective is an enemy. Images that show an object from the corner are difficult to fit into a nice drawing. As a general rule, telephoto side views are the best. The impossible ideal is that, for example, two wheels of a car are perfectly hidden behind the other two.
+
+
+ Rotating an image can make it blurry, especially if you only rotate by a few degrees. Images that don't need rotation are best, images that need lots of rotation (30 to 60 degrees) are next best, and images that need just a few degrees are worst. Rotation will also make an image darker because most image editing software is very bad about gamma handling. (Rotation is only legitimate for gamma=1.0 images.)
+
+
+ Very large images are more forgiving of mistakes, and thus easier to work with. Choose an image with an object that is over 1000 pixels across if you can. You can shrink this later to hide your mistakes.
+
+
+ Be sure that the image is not too grainy, dim, or washed out.
+
+
+ Pay attention to feet and wheels. If they are buried in something, you will need to draw new ones. If only one is buried, you might be able to copy the other one as a replacement.
+
+
+
+
+
+
+ Prepare the image
+
+
+
+ First of all, be sure to avoid re-saving the image as a JPEG. This causes quality loss. There is a special tool called jpegtran that lets you crop an image without the normal quality loss.
+ Bring that image up in your image editor. If you didn't crop it yet, you may find that your image editor is very slow. Rotate and crop the image as needed. Save the image — choose whatever native format supports layers, masks, alpha, etc. GIMP users should choose "XCF", and Adobe Photoshop users should choose "PSD", for example.
+
+
+ If you have rotated or cropped the image in your image editor, flatten it now. You need to have just one RGB layer without mask or alpha.
+
+
+ Open the layers dialog box. Replicate the one layer several times. From top to bottom you will need something like this:
+
+
+
unmodified image (write-protect this if you can)
+
an image you will modify — the "work in progress" layer
+
solid green (write-protect this if you can)
+
solid magenta (write-protect this if you can)
+
unmodified image (write-protect this if you can)
+
+
+
+
+ Give the work in progress (WIP) layer a rough initial mask. You might start with a selection, or by using the grayscale value of the WIP layer. You might invert the mask.
+
+
+ Warning: once you have the mask, you may not rotate or scale the image normally. This would cause data loss. You will be given special scaling instructions later.
+ Get used to doing [Kontroll]-click and [Alt]-click on the thumbnail images in the layers dialog. You will need this to control what you are looking at and what you are editing. Sometimes you will be editing things you can't see. For example, you might edit the mask of the WIP layer while looking at the unmodified image. Pay attention so you don't screw up. Always verify that you are editing the right thing.
+
+
+ Set an unmodified image as what you will view (the top one is easiest). Set the WIP mask as what you will edit. At some point, perhaps not immediately, you should magnify the image to about 400% (each pixel of the image is seen and edited as a 4x4 block of pixels on your screen).
+
+
+ Select parts of the image that need to be 100% opaque or 0% opaque. If you can select the object or background somewhat accurately by color, do so. As needed to avoid selecting any pixels that should be partially opaque (generally at the edge of the object) you should grow, shrink, and invert the selection.
+
+
+ Fill the 100% opaque areas with white, and the 0% opaque areas with black. This is most easily done by drag-and-drop from the foreground/background color indicator. You should not see anything happen, because you are viewing the unmodified image layer while editing the mask of the WIP layer. Large changes might be noticable in the thumbnail.
+
+
+ Now you must be zoomed in.
+
+
+ Check your work. Hide the top unmodified image layer. Display just the mask, which should be a white object on a black background (probably with unedited grey at the edge). Now display the WIP layer normally, so that the mask is active. This should show your object over top of the next highest enabled layer, which should be green or magenta as needed for maximum contrast. You might wish to flip back and forth between those backgrounds by repeatedly clicking to enable/disable the green layer. Fix any obvious and easy problems by editing the mask while viewing the mask.
+
+
+ Go back to viewing the top unmodified layer while editing the WIP mask. Set your drawing tool the paintbrush. For the brush, choose a small fuzzy circle. The 5x5 size is good for most uses.
+
+
+ With a steady hand, trace around the image. Use black around the outside, and white around the inside. Avoid making more than one pass without switching colors (and thus sides).
+
+
+ Flip views a bit, checking to see that the mask is working well. When the WIP layer is composited over the green or magenta, you should see a tiny bit of the original background as an ugly fringe around the edge. If this fringe is missing, then you made the object mask too small. The fringe consists of pixels that are neither 100% object nor 0% object. For them, the mask should be neither 100% nor 0%. The fringe gets removed soon.
+
+
+ View and edit the mask. Select by color, choosing either black or white. Most likely you will see unselected specks that are not quite the expected color. Invert the selection, then paint these away using the pencil tool. Do this operation for both white and black.
+ Still viewing the mask, select by color. Choose black. Shrink the selection by several pixels, being sure to NOT shrink from the edges of the mask (the shrink helps you avoid and recover from mistakes).
+
+
+ Now disable the mask. View and edit the unmasked WIP layer. Using the color picker tool, choose a color that is average for the object. Drag-and-drop this color into the selection, thus removing most of the non-object pixels.
+
+
+ This solid color will compress well and will help prevent ugly color fringes when Tux Paint scales the image down. If the edge of the object has multiple colors that are very different, you should split up your selection so that you can color the nearby background to be similar.
+
+
+ Now you will paint away the existing edge fringe. Be sure that you are editing and viewing the WIP image. Frequent layer visibility changes will help you to see what you are doing. You are likely to use all of:
+
+
+
composited over grön (mask enabled)
+
composited over magenta (mask enabled)
+
original (the top or bottom layer)
+
composited over the original (mask enabled)
+
raw WIP layer (mask disabled)
+
+
+
+ To reduce accidents, you may wish to select only those pixels that are not grey in the mask. (Select by color from the mask, choose black, add mode, choose white, invert. Alternately: Select all, select by color from the mask, subtract mode, choose black, choose white.) If you do this, you'll probably want to expand the selection a bit and/or hide the "crawling ants" line that marks the selection.
+
+
+ Use the clone tool and the brush tool. Vary the opacity as needed. Use small round brushes mostly, perhaps 3x3 or 5x5, fuzzy or not. (It is generally nice to pair up fuzzy brushes with 100% opacity and non-fuzzy brushes with about 70% opacity.) Unusual drawing modes can be helpful with semi-transparent objects.
+
+
+ The goal is to remove the edge fringe, both inside and outside of the object. The inside fringe, visible when the object is composited over magenta or green, must be removed for obvious reasons. The outside fringe must also be removed because it will become visible when the image is scaled down. As an example, consider a 2x2 region of pixels at the edge of a sharp-edged object. The left half is black and 0% opaque. The right half is white and 100% opaque. That is, we have a white object on a black background. When Tux Paint scales this to 50% (a 1x1 pixel area), the result will be a grey 50% opaque pixel. The correct result would be a white 50% opaque pixel. To get this result, we would paint away the black pixels. They matter, despite being 0% opaque.
+
+
+ Tux Paint can scale images down by a very large factor, so it is important to extend the edge of your object outward by a great deal. Right at the edge of your object, you should be very accurate about this. As you go outward away from the object, you can get a bit sloppy. It is reasonable to paint outward by a dozen pixels or more. The farther you go, the more Tux Paint can scale down without creating ugly color fringes. For areas that are more than a few pixels away from the object edge, you should use the pencil tool (or sloppy select with drag-and-drop color) to ensure that the result will compress well.
+ It is very easy to ruin your hard work. Image editors can silently destroy pixels in 0% opaque areas. The conditions under which this happens may vary from version to version. If you are very trusting, you can try saving your image directly as a PNG. Be sure to read it back in again to verify that the 0% opaque areas didn't turn black or white, which would create fringes when Tux Paint scales the image down. If you need to scale your image to save space (and hide your mistakes), you are almost certain to destroy all the 0% opaque areas. So here is a better way...
+
+
+ Ett säkrare sätt att spara
+
+
+
+ Drag the mask from the layers dialog to the unused portion of the toolbar (right after the last drawing tool). This will create a new image consisting of one layer that contains the mask data. Scale this as desired, remembering the settings you use. Often you should start with an image that is about 700 to 1500 pixels across, and end up with one that is 300 to 400.
+
+
+ Save the mask image as a NetPBM portable greymap (".pgm") file. (If you are using an old release of The GIMP, you might need to convert the image to greyscale before you can save it.) Choose the more compact "RAW PGM" format. (The second character of the file should be the ASCII digit "5", hex byte 0x35.)
+
+
+ You may close the mask image.
+
+
+ Going back to the multi-layer image, now select the WIP layer. As you did with the mask, drag this from the layers dialog to the toolbar. You should get a single-layer image of your WIP data. If the mask came along too, get rid of it. You should be seeing the object and the painted-away surroundings, without any mask thumbnail in the layers dialog. If you scaled the mask, then scale this image in exactly the same way. Save this image as a NetPBM portable pixmap (".ppm") file. (Note: .ppm, not .pgm.) (If you choose the RAW PPM format, the second byte of the file should be the ASCII digit "6", hex byte 0x36.)
+
+
+ Now you need to merge the two files into one. Do that with the pnmtopng command, like this:
+ Tux Paint understands a number of environment variables, either directly, or indirectly by the libraries that it utilizes.
+
+
+ Storage-related environment variables
+
+
+ HOME
+
+
+
+
+ Specifies the user's "home directory", which is used to locate numerous other files or directories. In some cases, it is utilized as part of a fall-back location, when other environment variables (elsewhere in this documentation) are not set. Sometimes, the location to use can be overridden by options provided on the command-line or via Tux Paint's configuration file. See the "OPTIONS" documentation for details.
+
+
+ A few examples of where "$HOME" is used include:
+
+
+
The location of Tux Paint's configuration file
+
The basis of where Tux Paint saves and loads users' drawings
+
The location of a user's private collection of data files — stamps, brushes, etc. — (versus those available system wide)
+
+
+
+
+ XDG_CONFIG_HOME
+
+
+
+
+ On Linux and other platforms where the X Desktop Group standards are used, the location of the user's configuration files. Specifically, where to find "user-dirs.dirs", where the "XDG_PICTURES_DIR" might be defined. It is used for exporting drawings and animated GIFs. Generally it's set to something like "$HOME/Pictures/". If not specified, Tux Paint checks in the directory "$HOME/.config/". If the configuration cannot be found, Tux Paint simply exports drawings and GIFs to "$HOME".
+
+
+
+ XDG_DATA_HOME
+
+
+
+
+ On Linux and other platforms where the X Desktop Group standards are used, the location of the user's data directories. Specifically, where to find the "Trash" directory. It is used when deleting images from Tux Paint's "Open" dialog. If not set, the location "$HOME/.local/share/Trash/" is used, if available. If not, images are simply deleted, rather than moved anywhere.
+
+
+
+ TEMP
+
+
+
+
+ Specifies the location where temporary files may be created. Only used by Tux Paint on Microsoft Windows OSes. Uses "userdata" if not set.
+
+
+
+
+ Language-related environment variables
+
+
+ LANG
+
+
+ LANGUAGE
+
+
+ LC_ALL
+
+
+ LC_MESSAGES
+
+
+
+
+ Specify the language Tux Paint should utilize in its user interface. Overridden by the "--lang" and "--locale" command-line options or their configuration file counterparts. The "LANGUAGE" environment variable is used, if set. If not, "LC_ALL" is used as a fallback. Then "LC_MESSAGES", and finally "LANG".
+
+
+
+
+
+ Display-related environment variables
+
+
+ The following are a few of the environment variables supported by Simple DirectMedia Layer (libSDL) — which Tux Paint utilizes for displaying graphics, playing sounds, and receiving mouse, keyboard, and joystick input — and which may be useful to users of Tux Paint.
+
+
+ SDL_VIDEO_ALLOW_SCREENSAVER
+
+
+
+ Specifies whether Tux Paint should allow a screensaver to run. Can be set to '1' (true) by Tux Paint itself by issuing the command-line option "--allowscreensaver" or its configuration file counterpart.
+
+
+ SDL_VIDEO_WINDOW_POS
+
+
+
+ Requests where to position Tux Paint's window, and can be used to specify what display to place a fullscreen Tux Paint in a multi-monitor configuration. If not set, or set to "nopref" (meaning "no preference"), Simple DirectMedia Layer (libSDL) decides. Can be set to an X,Y coordinate (e.g. 200,100), or "center" (meaning "center").
+ If you wish to add or change things like Brushes, Starters, Rubber Stamps, and other content used by Tux Paint, you can do so fairly easily by simply adding, changing, or removing files where Tux Paint looks for them.
+
+
+ 💡Note: You'll need to re-launch Tux Paint for the changes to take effect.
+ Tux Paint looks for its various data files in its 'data' directory.
+
+
+
Linux och Unix
+
+
+ Where this directory goes depends on what value was set for "DATA_PREFIX" when Tux Paint was built. See 'Install documentation' for details.
+
+ By default, though, the directory is:
+ /usr/local/share/tuxpaint/
+
+
+ If you installed from a package, it is more likely to be:
+ /usr/share/tuxpaint/
+
+
+
+
Windows
+
+
+ Tux Paint looks for a directory called 'data' in the same directory as the executable. This is the directory that the installer used when installing Tux Paint e.g.:
+ C:\Program Files\TuxPaint\data
+
+
+
+
macOS
+
+
+ Tux Paint stores its data files inside the "Tux Paint" application icon (which is actually a special kind of folder on macOS & Mac OS X before it). The following steps explain how to get to the folders within it:
+
+
+ Bring up a 'context' menu by holding the [Kontroll] key and clicking the Tux Paint icon the in Finder. (If you have a mouse with more than one button, you can simply right-click the icon.)
+
+ Select "Show Contents" from the menu that appears. A new Finder window will appear with a folder inside called "Contents".
+
+ Open the "Contents" folder and open the "Resources" folder found inside.
+
+ There, you will find various sub-folders, such as "starters", "stamps", "brushes", etc. Adding new content to these folders will make the content available to any user that launches this copy (icon) of Tux Paint.
+
+
+ 💡Note: If you install a newer version of Tux Paint and replace or discard the old version, you will lose changes made by following the instructions above, so keep backups of your new content (stamps, brushes, etc.).
+
+ Tux Paint also looks for files in a "TuxPaint" folder that you can place in your system's "Application Support" folder (found under "Bibliotek" at the root of your filesystem):
+ /Bibliotek/Application Support/TuxPaint/data/
+
+
+ When you upgrade to a newer version of Tux Paint, the contents of this "TuxPaint" folder will stay the same, and remain accessible by all users of Tux Paint.
+ Your personal Tux Paint files go into a 'hidden directory' found in your account's home directory: "/home/användarnamn/.tuxpaint/".
+
+ Don't forget the period (".") before the "tuxpaint"!
+
+
+
+
+ To add your own brushes, stamps, 'starters,' templates, and fonts, create subdirectories under your personal Tux Paint directory named "brushes", "stamps", "starters", "templates", "fonts", respectively.
+
+
+ (For example, if you created a brush named "flower.png", you would put it in "/home/användarnamn/.tuxpaint/brushes/" under Linux or Unix.)
+ The brushes used for drawing with the 'Paint' and 'Lines' tools in Tux Paint are simply PNG image files.
+
+
+ The alpha (transparency) of the PNG image is used to determine the shape of the brush, which means that the shape can be 'anti-aliased' and even partially-transparent!
+
+
+ Greyscale pixels in the brush PNG will be drawn using the currently-selected color in Tux Paint. Color pixels will be tinted.
+ Tux Paint will display descriptive text when a brush is selected. These are placed in plain text files with the same name as the PNG, but with a ".txt" filename extension. (e.g., "brush.png"'s description is stored in "brush.txt" in the same directory.)
+
+
+ The first line of the text file will be used as the US English description of the brush's image. It must be encoded in UTF-8.
+
+
+
Localization Support
+
+
+ Additional lines can be added to the text file to provide translations of the description, to be displayed when Tux Paint is running in a different locale (like French or Spanish).
+
+ The beginning of the line should correspond to the language code of the language in question (e.g., "fr" for French, and "zh_TW" for Traditional Chinese), followed by ".utf8=" and the translated description (Unicode, encoded in UTF-8).
+
+ For Tux Paint developers: There are scripts in the "brushes-po" directory for converting the text files to PO format (and back) for easy translation to different languages. Therefore you should never add or change translations in the ".txt" files directly.
+
+ If no translation is available for the language Tux Paint is currently running in, the US English text is used.
+
+
+
Windows Users
+
+
+ Use NotePad or WordPad to edit/create these files. Be sure to save them as plain-text, and make sure they have a ".txt" extension at the end of the filename.
+ Aside from a graphical shape, penslar can also be given other attributes. To do this, you need to create a 'data file' for the brush.
+
+
+ A brush's data file is simply a plain ASCII text file containing the options for the brush.
+
+
+ The file has the same name as the PNG image, but a ".dat" extension. (e.g., "brush.png"'s data file is the text file "brush.dat", found in the same directory.)
+
+
+
Brush Spacing
+
+
+ You may specify the spacing for brushes — that is, how frequently they are drawn across the length of a line or stroke. By default, the spacing will be the brush's height, divided by 4.
+
+ Add a line containing the line "spacing=N" to the brush's data file, where "N" is the spacing you want for the brush. (The lower the number, the more often the brush is drawn.)
+
+
+
Animated Brushes
+
+
+ Brushes may be animated. As the brush is used, each frame of the animation is drawn in sequence.
+
+ Lay each frame out across a wide PNG image. For example, if the brush is 30x30 and there are 5 frames, the image should be 150x30.
+
+ Add a line containing the line "frames=N" to the brush's data file, where "N" is the number of frames in the brush.
+
+ ⚙Note: If you'd rather the frames be flipped through randomly, rather than sequentially, also add a line containing "random" to the brush's data file.
+
+
+
Directional Brushes
+
+
+ Brushes may be configured to draw a different shape based on the direction of the line or brush stroke. Different shapes will be drawn depending on which of the eight compass directions the brush is moving — up (aka North), up/right (aka Northeast), right (aka East), down/right (aka Southeast), etc.). A ninth "center" shape is used when there's no motion (e.g., simply clicking/tapping and releasing the "Paint" tool, without dragging).
+
+ The directional shapes are divided into a 3x3 square in a PNG image. For example, if your brush is 30x30, the image should be 90x90, and each of the direction's shapes placed in a 3x3 grid.
+
+ Add a line containing the word "directional" to the brush's data file.
+
+
+
Rotating Brushes
+
+
+ Brushes may be configured to rotate based on the angle of the line or brush stroke. (Unlike Directional Brushes, described above, only a single brush shape may be provided.
+
+ Add a line containing the word "rotate" to the brush's data file.
+
+
+
Chaotic Brushes
+
+
+ Brushes may be configured to continuously choose a random direction as you draw with them.
+
+ Add a line containing the word "chaotic" to the brush's data file.
+
+
+
Animated Directional, Rotating, or Chaotic Brushes
+
+
+ You may mix both animated and either directional, rotating, or chaotic features into one brush. Use both options desired ("frames=N" and "directional", "rotate", or "chaotic"), in separate lines in the brush's ".dat" file.
+
+ For directional brushes, lay the brush out so that each 3x3 set of directional shapes are laid out across a wide PNG image. For example, if the brush is 30x30 and there are 5 frames, it would be 450x90. (The leftmost 150x90 pixels of the image represent the 9 direction shapes for the first frame, for example.)
+
+
+
+
+
+ Place the brush image PNGs (and any data text files) in the "brushes" directory.
+
+
+ 💡Note: If your new penslar all come out as solid squares or rectangles, it's because you forgot to use alpha transparency! See the 'PNG documentation' in Tux Paint for more information and tips.
+ All stamp-related files go in the "stamps" directory. It's useful to create subdirectories and sub-subdirectories there to organize the stamps. (For example, you can have a "holidays" folder with "halloween" and "jul" sub-folders.)
+ Rubber Stamps in Tux Paint can be made up of a number of separate files. The one file that is required is, of course, the picture itself.
+
+
+ Stamps may be either PNG bitmap images or SVG vector images. They can be full-color or greyscale. The alpha (transparency) channel of PNGs is used to determine the actual shape of the picture (otherwise you'll stamp a large rectangle on your drawings).
+
+
+ PNGs can be any size, and Tux Paint (by default) provides a set of sizing buttons to let the user scale the stamp up (larger) and down (smaller).
+
+
+ SVGs are vector-based, and will be scaled appropriately for the canvas size being used in Tux Paint.
+
+
+ 💡Note: If your new PNG-based stamps all come out as solid squares or rectangles, it's because you forgot to use alpha transparency! See the 'PNG documentation' in Tux Paint for more information and tips.
+
+
+ 💡Note: If your new SVG stamps seem to have a lot of whitespace, make sure the SVG 'document' is no larger than the shape(s) within. If they are being clipped, make sure the 'document' is large enough to contain the shape(s). See the 'SVG documentation' in Tux Paint for more information and tips.
+
+
+ ⚙Advanced Users: The 'Advanced Stamps How-To' document describes, in detail, how to make PNG images which will scale perfectly when used as stamps in Tux Paint.
+ Tux Paint will display descriptive text when a stamp is selected. These are placed in plain text files with the same name as the PNG or SVG, but with a ".txt" filename extension. (e.g., "stamp.png"'s description is stored in "stamp.txt" in the same directory.)
+
+
+ The first line of the text file will be used as the US English description of the stamp's image. It must be encoded in UTF-8.
+
+
+
Localization Support
+
+
+ Additional lines can be added to the text file to provide translations of the description, to be displayed when Tux Paint is running in a different locale (like French or Spanish).
+
+ The beginning of the line should correspond to the language code of the language in question (e.g., "fr" for French, and "zh_TW" for Traditional Chinese), followed by ".utf8=" and the translated description (Unicode, encoded in UTF-8).
+
+ For Tux Paint developers: There are scripts in the "po" directory for converting the text files to PO format (and back) for easy translation to different languages. Therefore you should never add or change translations in the ".txt" files directly.
+
+ If no translation is available for the language Tux Paint is currently running in, the US English text is used.
+
+
+
Windows Users
+
+
+ Use NotePad or WordPad to edit/create these files. Be sure to save them as plain-text, and make sure they have a ".txt" extension at the end of the filename.
+ Tux Paint can play a sound effect when a stamp is selected. For example, the sound of a duck quaking when selecting a duck, or a brief piece of music when a musical instrument is chosen. Files may be in "WAVE (".wav")" or "OGG Vorbis (".ogg")" formats, and are given same name as the PNG or SVG image. (e.g., "stamp.svg"'s sound effect is the sound file "stamp.ogg" in the same directory.)
+
+
+
Localization Support
+
+
+ For sounds for different locales (e.g., if the sound is someone saying a word, and you want translated versions of the word said), also create WAV or OGG files with the locale's label in the filename, in the form: "stamp_LOKALANPASSNING.EXT"
+
+ The ljudeffekt that will be played when the stamp corresponding to the image file "stamp.png" is selected, and when Tux Paint is using the Spanish locale, would be "stamp_es.wav". Under the French locale, it would be "stamp_fr.wav". Under the Brazilian Portuguese locale, "stamp_pt_BR.wav". And so on...
+
+ If no localized ljudeffekt can be loaded, Tux Paint will attempt to load the 'default' sound file. (e.g., "stamp.wav")
+
+
+
+
+ 💡Note: Also consider using descriptive sounds; see 'Stamp Descriptive Sound', below.
+ Tux Paint can also play a descriptive sound when a stamp is selected. For example, the sound of someone saying the word "duck" when selecting a duck, or the name of a musical instrument when one is chosen. Files may be in "WAVE (".wav")" or "OGG Vorbis (".ogg")" formats, and are given same name as the PNG or SVG image, with "_desc" at the end. (e.g., "stamp.svg"'s descriptive sound is the sound file "stamp_desc.ogg" in the same directory.)
+
+
+
Localization Support
+
+
+ For descriptive sounds for different locales, also create WAV or OGG files with both "_desc" and the locale's label in the filename, in the form: "stamp_desc_LOKALANPASSNING.EXT"
+
+ The beskrivande ljud that will be played when the stamp corresponding to the image file "stamp.png" is selected, and when Tux Paint is using the Spanish locale, would be "stamp_desc_es.wav". Under the French locale, it would be "stamp_desc_fr.wav". Under the Brazilian Portuguese locale, "stamp_desc_pt_BR.wav". And so on...
+
+ If no localized beskrivande ljud can be loaded, Tux Paint will attempt to load the 'default' sound file. (e.g., "stamp_desc.wav")
+ Aside from a graphical shape, a textual description, a sound effect, and a descriptive sound, stamps can also be given other attributes. To do this, you need to create a 'data file' for the stamp.
+
+
+ A stämplar data file is simply a plain ASCII text file containing the options for the stamp.
+
+
+ The file has the same name as the PNG or SVG image, but a ".dat" extension. (e.g., "stamp.png"'s data file is the text file "stamp.dat", found in the same directory.)
+
+
+
Färgade stämplar
+
+
+ Stamps can be made to be either "colorable" or "tintable."
+
+
Färgbar
+
+
+ "Colorable" stamps they work much like brushes - you pick the stamp to get the shape, and then pick the color you want it to be. (Symbol stamps, like the mathematical and musical ones, are an example.)
+
+ Nothing about the original image is used except the transparency (from "alpha" channel). The color of the stamp comes out solid.
+
+
+
+
+ Add a line containing the word "colorable" to the stämplar data file.
+
+
+
Tinted
+
+
+ "Tinted" stamps are similar to "colorable" ones, except the details of the original image are kept. (To put it technically, the original image is used, but its hue is changed, based on the currently-selected color.)
+
+
+
+
+ Add a line containing the word "tintable" to the stämplar data file.
+
+
+
Tinting Options:
+
+
+ Depending on the contents of your stamp, you might want to have Tux Paint use one of a number of methods when tinting it. Add one of the following lines to the stamp's data file:
+
+
+ Normal tinter — "tinter=normal" (the default)
+
+ This is the normal tinting mode. First, the primary hue of the stamp is determined. (For example, a picture of a flower with a stem will have the petal color seen as the primary hue of the overall image.) Next, the most highly saturated part of the picture is found. With "normal tinter", the range of hue used to do this starts out within ±18° of the pimary hue found in step 1. (If none can be found, it widens the range by 50% and tries again.) Finally, the image is tinted. Anything falling within 50% of the range (e.g., ±27°) is altered to have the hue of the color chosen by the user.
+
+ Narrow tinter — "tinter=narrow"
+
+
+ This like the "normal" option described above, but starts a narrower hue range of ±6°. Anything found within 50% of the range (e.g. ±9°) is tinted. If too much of your stamp is being tinted, try this option.
+
+ 'Any hue' tinter — "tinter=anyhue"
+
+
+ This remaps all hues in the stamp. It works similarly to the "anyhue" and "narrow" options described above, but the hue range is ±180°.
+
+ Vector tinter — "tinter=vector"
+
+
+ This maps 'black through white' to 'black through destination'.
+
+
+
+
+
+
Unalterable Stamps
+
+
+ By default, a stamp can be flipped upside down, shown as a mirror image, or both. This is done using the control buttons below the stamp selector, at the lower right side of the screen in Tux Paint.
+
+ Sometimes, it doesn't make sense for a stamp to be flippable or mirrored; for example, stamps of letters or numbers. Sometimes stamps are symmetrical, so letting the user flip or mirror them isn't useful.
+
+ To prevent a stamp from being flipped vertically, add the option "noflip" to the stamp's data file.
+
+ To prevent a stamp from being mirrored horizontally, add the option "nomirror" to the stamp's data file.
+
+
+
Initial Stamp Size
+
+
+ By default, Tux Paint assumes that your stamp is sized appropriately for unscaled display on a 608x472 canvas. This was the original Tux Paint canvas size, provided by a 640x480 screen. Tux Paint will then adjust the stamp according to the current canvas size and, if enabled, the user's stamp size controls.
+
+ If your stamp would be too big or too small, you can specify a scale factor. If your stamp would be 2.5 times as wide (or tall) as it should be, add one of the following options, which represent the same adjustment, to the stamp's data file. (An equals sign, "=", may be included after the word "scale".)
+
+
"scale 40%"
+
"scale 5/2"
+
"scale 2.5"
+
"scale 2:5"
+
+
+
+
Windows Users
+
+
+ Use NotePad or WordPad to edit/create these files. Be sure to save them as plain-text, and make sure they have a ".dat" extension at the end of the filename.
+ In some cases, you may wish to provide a pre-drawn version of a stamp's mirror-image, flipped image, or even both. For example, imagine a picture of a fire truck with the words "Fire Department" written across the side. You probably do not want that text to appear backwards when the image is flipped!
+
+
+ To create a mirrored version of a stamp that you want Tux Paint to use, rather than mirroring one on its own, simply create a second ".png" or ".svg" graphics file with the same name, except with "_mirror" before the filename extension.
+
+
+ For example, for the stamp "stamp.png" you would create another file named "stamp_mirror.png", which will be used when the stamp is mirrored (rather than using a backwards version of "stamp.png").
+
+
+ You may also provide a pre-flipped image with "_flip" in the name, and/or an image that is both mirrored and flipped, by naming it "_mirror_flip".
+
+
+ 💡Note: If the user flips and mirrors an image, and a pre-drawn "_mirror_flip" doesn't exist, but either "_flip" or "_mirror" does, it will be used, and mirrored or flipped, respectively.
+ The fonts used by Tux Paint are TrueType Fonts (TTF).
+
+
+ Simply place them in the "fonts" directory. When using the 'Text' and 'Label' tools, Tux Paint will present the font in the 'Letters' selector at the right, along with options to enable bold and/or italics, and change the size.
+ 'Starter' images appear in the 'New' dialog, along with solid color background choices.
+
+
+ When you use a 'starter' image, make modifications, and save it, the original 'starter' image is not overwritten. Additionally, as you edit your new picture, the contents of the original 'starter' can affect it.
+ The most basic kind of 'starter' is similar to a picture in a coloring book. It's an outline of a shape which you can then color in and add details to. In Tux Paint, as you draw, type text, or stamp stamps, the outline remains 'above' what you draw. You can erase the parts of the drawing you made, but you can't erase the outline.
+
+
+ To create this kind of 'starter' image, simply create an outlined black and white picture in a paint program, and save it as a raster PNG file, or vector SVG. If saving as a PNG, you may optionally render the image as black-and-transparent, rather than black-and-white, although this is not required.
+ Along with the 'coloring-book' style overlay, you can also provide a separate background image as part of a 'starter' picture. The overlay acts the same: it can't be drawn over, erased, or affected by 'Magic' tools. However, the background can be!
+
+
+ When the 'Eraser' tool is used on a picture based on this kind of 'starter' image, rather than turning the canvas to a solid color, such as white, it returns that part of the canvas to the original background picture from the 'starter' image.
+
+
+ By creating both an overlay and a background, you can create a 'starter' which simulates depth. Imagine a background that shows the ocean, and an overlay that's a picture of a reef. You can then draw (or stamp) fish in the picture. They'll appear in the ocean, but never 'in front of' the reef.
+
+
+ To create this kind of 'starter' picture, simply create an overlay (with transparency) and save it as a PNG. Then create another image (without transparency), and save it with the same filename, but with "-back" (short for 'background') appended to the name. (e.g., "starter-back.png" would be the background ocean picture that corresponds to the overlay, or foreground.)
+
+
+
+ For best results, 'starter' images should be at least the same size as Tux Paint's drawing canvas. (See the "Loading Other Pictures into Tux Paint" section of Tux Paint's main documentation (README) for details on sizing.) If they are not, they will be stretched or scaled. This is done without affecting the shape ("aspect ratio"); however some smudging may be applied to the edges.
+
+
+ Place them in the "starters" directory. When the 'New' dialog is accessed in Tux Paint, the 'starter' images will appear in the screen that appears, after the various solid color choices.
+
+
+ 💡Note: "Startbilder" are 'attached' to saved pictures, via a small text file that has the same name as the saved file, but with ".dat" as the extension. This allows it to continue to affect the drawing even after Tux Paint has been quit, or another picture is loaded or a new image is created. (In other words, if you base a drawing on a 'starter' image, it will always be affected by it.)
+ Aside from an image, starters can also be given other attributes. To do this, you need to create a 'data file' for the starter. (Note: Tux Paint prior to version 0.9.29 did not support starter options.)
+
+
+ A starter's data file is simply a plain ASCII text file containing the options for the starter.
+
+
+ The file has the same name as the image, but a ".dat" extension. (e.g., "starter.png"'s data file is the text file "starter.dat", found in the same directory.)
+
+
+
allowscale
+
+
+ When a starter image is a different aspect ratio (width-to-height proportions) than Tux Paint's canvas, by default it will be scaled to fit entirely within the canvas, without stretching the starter (changing its aspect ratio); for example, a square starter on a portrait-shaped canvas will be placed in the center of the canvas. By default, Tux Paint will then take the strip of pixels at the edges of the starter and stretch them to the edges of the canvas, "smearing" it.
+
+
+
+
+
+
+
+ If it's acceptable for the starter image to be cropped in one or both directions, the "allowscale" may be used to tell Tux Paint which behavior to allow:
+
+
+
+ For starters where it's alright to crop the left and right edges, but the top and bottom edges must be retained, use "allowscale=horizontal".
+
+ If the starter's aspect ratio is bredare than that of the canvas, it will be scaled to fit the höjd of the canvas, and the left and right will be cropped.
+
+ If the starter's aspect ratio is taller than that of the canvas, it will be scaled to fit the höjd of the canvas, and no cropping will occur, and the left and right edges will be smeared.
+
+
+
+
+
+
+ For starters where it's alright to crop the top and bottom edges, but the left and right edges must be retained, use "allowscale=vertical".
+
+ If the starter's aspect ratio is taller than that of the canvas, it will be scaled to fit the bredd of the canvas, and the top and bottom will be cropped.
+
+ If the starter's aspect ratio is bredare than that of the canvas, it will be scaled to fit the bredd of the canvas, and no cropping will occur, and the top and bottom edges will be smeared.
+
+
+
+
+
+ If it's acceptable to crop either the top and bottom or the left and right, use "allowscale=both". Contents from starter will always fill the canvas, regardless of how its aspect ratio compares to that of the canvas.
+
+
+ The default behavior is to not allow cropping. This may be specified explicitly with "allowscale=none".
+
+
+
+
bakgrund
+
+
+ This option allows you to specify how Tux Paint should fill the rest of the canvas, when the starter does not fit in one or the other direction. By default, as described above, Tux Paint will "smear" the pixels from the edges of the starter. (This can be specified explicitly with "background=smear".)
+
+ You can instead specify a solid background color (e.g., white for a 'coloring-book' style starter, with "background=#fff").
+
+ Colors may be listed using three decimal numbers (e.g., "255 68 136") or a 6- or 3-digit-long hexadecimal 'triplet' (e.g., "#ff4488" or "#F48").
+ This option allows you to specify how Tux Paint should position a starter, when it is being cropped in one or the other direction. By default, Tux Paint will place the center of the starter within the canvas. (This can be specified explicitly with "gravity=center".)
+
+ For example, if the top center of the starter contains the most important content, you can specify "gravity=top". Or, if the bottom right is important, specify "gravity=bottom-right".
+
+
+ De tillgängliga alternativen är:
+
center — prefer the center (the default)
+
top — prefer the top center
+
bottom — prefer the bottom center
+
left — prefer the left center
+
right — prefer the right center
+
top-left — prefer the top left
+
top-right — prefer the top right
+
bottom-left — prefer the bottom left
+
bottom-right — prefer the bottom right
+
+
+
+
+
+
+
+
+
Focusing on the center of a starter image stretched to fit the bredd of the canvas.
+
+
+
+
+
+
+
+
+
Focusing on the center of a starter image stretched to fit the höjd of the canvas.
+
+
+
+
+
+
+
+
+
Focusing on the top of a starter image stretched to fit the bredd of the canvas.
+
+
+
+
+
+
+
+
+
Focusing on the bottom of a starter image stretched to fit the bredd of the canvas.
+
+
+
+
+
+
+
+
+
Focusing on the right of a starter image stretched to fit the höjd of the canvas.
+
+
+
+
+
+
+
+ 💡Note: Templates (described below) may also have options files, and currently support all of the same options as starters.
+ 'Template' images also appear in the 'New' dialog, along with solid color background choices and 'Starters'.
+
+
+ Unlike pictures drawn in Tux Paint by users and then opened later, opening a 'template' creates a new drawing. When you save, the 'template' image is not overwritten. Unlike 'starters', there is no immutable 'layer' above the canvas. You may draw over any part of it.
+
+
+ When the 'Eraser' tool is used on a picture based on this kind of "mall"-bild, rather than turning the canvas to a solid color, such as white, it returns that part of the canvas to the original background picture from the "mall"-bild.
+
+
+ 'Templates' are simply image files (in PNG, JPEG, SVG, or KPX (KidPix) format). No preparation or conversion should be required.
+
+
+ For best results, "mall"-bilder should be at least the same size as Tux Paint's drawing canvas. (See the "Loading Other Pictures into Tux Paint" section of Tux Paint's main documentation (README) for details on sizing.) If they are not, they will be stretched or scaled. This is done without affecting the shape ("aspect ratio"); however some smudging may be applied to the edges.
+
+
+ Place them in the "templates" directory. When the 'New' dialog is accessed in Tux Paint, the "mall"-bilder will appear in the screen that appears, after the various solid color choices.
+
+
+ 💡Note: 'Templates' are 'attached' to saved pictures, via a small text file that has the same name as the saved file, but with ".dat" as the extension. This allows it to continue to affect the drawing even after Tux Paint has been quit, or another picture is loaded or a new image is created. (In other words, if you base a drawing on a "mall"-bild, it will always be affected by it.)
+ Like 'Starters', a configuration file may be specified that defines how Tux Paint should behave when applying 'template' images to the canvas when they do not have identical proportions (aspect ratio). See "Starter Options", above. (Note: Tux Paint prior to version 0.9.29 did not support starter options.)
+
+
+
+ 💡 It's also possible to create basic Templates (with no options) from existing saved drawings directly within Tux Paint, from the "Open" dialog. They will be placed in the user's personal templates folder. (Note: Tux Paint prior to version 0.9.31 did not support Template creation from the Open dialog.)
+ To translate Tux Paint to a new language, copy the translation template file, "tuxpaint.pot" (found in Tux Paint's source code, in the folder "src/po/"). Rename the copy as a ".po" file, with an appropriate name for the locale you're translating to (e.g., "es.po" for Spanish; or "pt_BR.po" for Brazilian Portuguese, versus "pt.po" or "pt_PT.po" for Portuguese spoken in Portugal.)
+
+
+ Open the newly-created ".po" file — you can edit in a plain text edtior, such as Emacs, Pico or VI on Linux, or NotePad on Windows. The original English text used in Tux Paint is listed in lines starting with "msgid". Enter your translations of each of these pieces of text in the empty "msgstr" lines directly below the corresponding "msgid" lines. (Note: Do not remove the quotes.)
+
+
+ Exempel:
+
+ msgid "Smudge"
+ msgstr "Manchar"
+
+ msgid "Click and drag to draw large bricks."
+ msgstr "Haz clic y arrastra para dibujar ladrillos grandes."
+
+
+
+
+ Various tools exist to manage gettext translation catalogs, so you don't have to edit them by hand in a text editor. Here are a few:
+ 💡Note: It is best to always work off of the latest Tux Paint text catalog template ("tuxpaint.pot"), since new text is added, and old text is occasionally changed. The text catalog for the upcoming, unreleased version of Tux Paint can be found in Tux Paint's Git repository (see: https://tuxpaint.org/download/source/git/), and on the Tux Paint website at https://tuxpaint.org/help/po/.
+
+
+ To edit an existing translation, download the latest ".po" file for that language, and edit it as described above.
+
+
+ You may send new or edited translation files to Bill Kendrick, lead developer of Tux Paint, at: bill@newbreedsoftware.com, or post them to the "tuxpaint-i18n" mailing list (see: https://tuxpaint.org/lists/).
+
+
+ Alternatively, if you have an account with SourceForge.net, you can request to be added to the "tuxpaint" project and receive write-access to the Git source code repository so that you may commit your changes directly.
+
+
+ 💡Note: Support for new locales requires making additions to Tux Paint's source code ("/src/i18n.h" and "/src/i18n.c"), and requires updates to the Makefile, to ensure the ".po" files are compiled into ".mo" files, and available for use at runtime.
+ Tux Paint's 'Text' and 'Label' tools can provide alternative input methods for some languages. For example, when Tux Paint is running with a Japanese locale, the höger [Alt] key can be pressed to cycle between Latin, Romanized Hiragana and Romanized Katakana modes. This allows native characters and words to be entered into the 'Text' and 'Label' tools by typing one or more keys on a keyboard with Latin characters (e.g., a US QWERTY keyboard).
+
+
+ To create an input method for a new locale, create a text file with a name based on the locale (e.g., "ja" for Japanese), with ".im" as the extension (e.g., "ja.im").
+
+
+ The ".im" file can have multiple character mapping sections for different character mapping modes. For example, on a Japanese typing system, typing [K][A] in Hiragana mode generates a different Unicode character ("か") than typing [K][A] in Katakana mode ("カ").
+
+
+ List the character mappings in this file, one per line. Each line should contain (separated by whitespace):
+
+
+
the Unicode value of the character, in hexadecimal (more than one character can be listed, separated by a colon (':'), this allowing some sequences to map to words)
+
+
the keycode sequence (the ASCII characters that must be entered to generate the Unicode character)
+
+
a flag (or "-" if none)
+
+
+
+ Start additional character mapping sections with a line containign the word "section".
+
+
+ Exempel:
+
+ # Hiragana
+ 304B ka -
+ 304C ga -
+ 304D ki -
+ 304E gi -
+ 304D:3083 kya -
+ 3063:305F tta -
+
+ # Katakana
+ section
+ 30AB ka -
+ 30AC ga -
+ 30AD ki -
+ 30AE gi -
+
+
+
+
+ ⚙Note: Blank lines within the ".im" file will be ignored, as will any text following a "#" (pound/hash) character — it can be used to denote comments, as seen in the example above.
+
+
+ 💡Note: Meanings of the flags are locale-specific, and are processed by the language-specific source code in "src/im.c". For example, "b" is used in Korean to handle Batchim, which may carry over to the next character.
+
+
+ 💡Note: Support for new input methods requires making additions to Tux Paint's source code ("/src/im.c"), and requires updates to the Makefile, to ensure the ".im" files are available for use at runtime.
+ Tux Paint's 'Text' and 'Label' tools can present an on-screen keyboard that allows the pointer (via a mouse, touch screen, eye-tracking systems, etc.) to be used to input characters. Files that describe the layout and available keys are stored in Tux Paint "osk" directory. Each keyboard layout is defined by a number of files (some of which may be shared by different layouts).
+
+ We'll use the QWERTY keyboard as an example:
+
+
+
+
+ Layout overview file ("qwerty.layout")
+
+
+
+ This is a text file that specifies the other files used to describe the layout and key mappings.
+ ⚙Note: Blank lines within the ".layout" file will be ignored, as will any text following a "#" (pound/hash) character — it can be used to denote comments, as seen in the example below.
+
+
+ The "keyboardlist" line describes which layouts to switch to, when the user clicks the left and right buttons on the keyboard. (See below.)
+
+
+
+
+
+ Keyboard layout file ("qwerty.h_layout")
+
+
+
+ This describes how big the keyboard is (as a "width × height" grid), and lists each key with its numeric keycode (see the "keymap" file, below), the width it should be drawn at (typically "1.0", to take one space on the keyboard, but in the example below, notice the "TAB" and "SPACE" keys are much wider), the character or text to display on the key, depending on which modifier keys have been pressed (one each for: no modifiers, [Shift], [AltGr], and [Shift] + [AltGr]), and finally whether or not the key is affected by the [CapsLock] key (use "1") or [AltGr] (alternate graphics) key (use "2"), or not at all (use "0").
+
+
+ The "NEWLINE" keyword is used to indicate the end of one row of the keyboard, and thus subsequent key layout descriptions will be beginning on a new row.
+
+
+
+ WIDTH 15
+ HEIGHT 5
+
+ KEY 49 1.0 ` ~ ` ~ 0
+ KEY 10 1.0 1 ! ¡ ¹ 0
+ KEY 11 1.0 2 @ ² ˝ 0
+ KEY 12 1.0 3 # · ³ 0
+ KEY 13 1.0 4 $ ¤ £ 0
+ KEY 14 1.0 5 % € ¸ 0
+ KEY 15 1.0 6 ^ ¼ ^ 0
+ ...
+ KEY 21 1.0 = + × ÷ 0
+ KEY 22 2.0 DELETE DELETE DELETE DELETE 0
+
+ NEWLINE
+
+ KEY 23 1.5 TAB TAB TAB TAB 0
+ KEY 24 1.0 q Q ä Ä 1
+ KEY 25 1.0 w W å Å 1
+ KEY 26 1.0 e E é É 1
+ KEY 27 1.0 r R ® ® 1
+ ...
+
+ NEWLINE
+
+ # Arrow to left will change to the previous keyboard
+ KEY 2 1.0 <- <- <- <- 0
+
+ KEY 133 2.0 Cmp Cmp Cmp Cmp 0
+
+ # The ALT or ALTGR keys are used in 'im' (input methods) to switch the input mode
+ KEY 64 2.0 Alt Alt Alt Alt 0
+
+ # Space
+ KEY 65 5.0 SPACE SPACE SPACE SPACE 0
+
+ # AltGr
+ KEY 108 2.0 AltGr AltGr AltGr AltGr 0
+
+ # Klistra in
+ KEY 143 2.0 Paste Paste Paste Paste 0
+
+ # Arrow to right will change to the next keyboard
+ KEY 1 1.0 -> -> -> -> 0
+
+
+
+
+ Notice here that alphabetic keys ([Q], [W], etc.) will be affected by [CapsLock], while numeric keys ([1], [2], etc.), [Space], and so on, will not.
+
+
+ Keycodes up to "8" are reserved for internal use. The ones currently used are described below.
+ 📜 Starting with Tux Paint 0.9.35, the XF86Paste keysym (value 143) can be used to initiate a copy/paste clipboard buffer "paste" event. See the "Paste" key in the keyboard layout files. (Pasting via a physical keyboard is initiated using the [Control] + [V] key combination.
+
+
+
+
+
+
+ Keymap file ("us-intl-altgr-dead-keys.keymap")
+
+
+
+ This file defines which numeric keycodes (seen in the keyboard layout files, such as "qwerty.h_layout" described above) should be mapped to which actual characters that an application such as Tux Paint expects to receive when keys (e.g., on a real keyboard) are pressed.
+
+
+ If you're using an operating system such as Linux, which runs X-Window and has the "xmodmap" command-line tool available, you can run it with the ("print keymap expressions" option, "-pke", to generate a keymap file.
+
+
+
+ keycode 9 = Escape NoSymbol Escape Escape
+ keycode 10 = 1 exclam exclamdown onesuperior 1 exclam 1
+ exclam NoSymbol onesuperior
+ keycode 11 = 2 at twosuperior dead_doubleacute 2 at 2
+ at onehalf twosuperior
+ keycode 12 = 3 numbersign periodcentered threesuperior
+ dead_macron periodcentered
+ ...
+ keycode 52 = z Z ae AE Arabic_hamzaonyeh asciitilde
+ guillemotright NoSymbol Greek_zeta Greek_ZETA U037D
+ U03FF
+ keycode 53 = x X x X Arabic_hamza Arabic_sukun
+ guillemotleft NoSymbol Greek_chi Greek_CHI rightarrow
+ leftarrow
+ keycode 54 = c C copyright cent Arabic_hamzaonwaw
+ braceright Greek_psi Greek_PSI copyright
+ keycode 55 = v V v V Arabic_ra braceleft Greek_omega
+ Greek_OMEGA U03D6
+ keycode 56 = b B b B UFEFB UFEF5 Greek_beta Greek_BETA
+ U03D0
+ keycode 57 = n N ntilde Ntilde Arabic_alefmaksura
+ Arabic_maddaonalef Greek_nu Greek_NU U0374 U0375
+ keycode 58 = m M mu mu Arabic_tehmarbuta apostrophe
+ Greek_mu Greek_MU U03FB U03FA
+ keycode 59 = comma less ccedilla Ccedilla Arabic_waw
+ comma comma less guillemotleft
+ keycode 60 = period greater dead_abovedot dead_caron
+ Arabic_zain period period greater guillemotright
+ periodcentered
+ keycode 61 = slash question questiondown dead_hook
+ Arabic_zah Arabic_question_mark slash question
+ keycode 62 = Shift_R NoSymbol Shift_R Shift_R
+ ...
+
+
+
+
+
+
+
+ Composemap file ("en_US.UTF-8_Compose")
+
+
+
+ This file describes single characters that can be composed by multiple inputs. For example, "[Compose]" followed by "[A]" and "[E]" can be used to create the "æ" character.
+ This file (which is a C programming language header file) is also from the X Window System. It defines the Unicode values of each keycap (e.g., "XK_equal" corresponds to "U+003D", for the character "=" ("EQUALS SIGN").
+
+
+ 💡Note: This file is not compiled into Tux Paint, but is read and parsed at runtime.
+
+
+ It is unlikely that any modification will be required of this file.
+ Tux Paint's Magic tools are pieces of software, external to the main Tux Paint application, that are loaded as "plugins" at runtime, and interact with the program using a defined Application Programming Interface (API). The plugins that ship with Tux Paint (as well as Tux Paint itself) are written in the C programming language.
+ The TrueType Font you're using might have the wrong encoding. If it's 'custom' encoded, for example, you can try running it through FontForge (http://fontforge.sourceforge.net/) to convert it to an ISO-8859 format. (Email us if you need help with special fonts.)
+
+
+ The Rubber Stamp tool is greyed out!
+
+
+
+ This means that Tux Paint either couldn't find any stamp images, or was asked not to load them.
+
+
+ If you installed Tux Paint, but did not install the separate, optional "Stamps" collection, quit Tux Paint and install it now. It should be available from the same place you got the main Tux Paint program. (Note: Tux Paint ships with a very small collection of example stamps.)
+
+
+ If you don't want to install the default collection of stamps, you can just create your own. See the "Extending Tux Paint" documentation for more on creating PNG and SVG image files, TXT text description files, Ogg Vorbis, MP3 or WAV sound files, and DAT text data files that make up stamps.
+
+
+ Finally, if you installed stamps, and think they should be loading, check to see that the "nostamps" option isn't being set. (Either via a "--nostamps" option to Tux Paint's command line, or "nostamps=yes" in the configuration file.)
+
+
+ Either change/remove the "nostamps" option, or you can override it with "--stamps" on the command line or either "nostamps=no" or "stamps=yes" in a configuration file.
+
+
+
+ Stamp outlines are always rectangles
+
+
+
+ Tux Paint was built with low-quality (but faster) stamp outlines.
+
+
+ To change this, you must rebuild Tux Paint from source. Be sure to remove or comment out any line that says:
+
+
+
+ #define LOW_QUALITY_STAMP_OUTLINE
+
+
+
+
+ in the "tuxpaint.c" file in the "src" directory.
+ Tux Paint was probably compiled with the faster, lower quality thumbnail code enabled. Run the command: "tuxpaint --verbose-version" from a command line. If, amongst the other output, you see the text: "Low Quality Thumbnails enabled", then this is what's happening.
+
+
+ To change this, you must rebuild Tux Paint from source. Be sure to remove or comment out any line that says:
+
+
+
+ #define LOW_QUALITY_THUMBNAILS
+
+
+
+
+ in the "tuxpaint.c" file in the "src" directory.
+
+
+
+ Pictures in the 'Open' dialog look bad
+
+
+ "Low Quality Thumbnails" is probably enabled. See: "Stamp thumbnails in the Stamp Selector look bad", above.
+
+
+ All text är skriven med versaler!
+
+
+
+ The "uppercase" option is on.
+
+
+ Either change/remove the "uppercase" option, or you can override it with "--mixedcase" on the command line or either "uppercase=no" or "mixedcase=yes" in a configuration file.
+
+
+ Tux Paint is in a different language
+
+
+ Make sure your locale setting is correct. See "Tux Paint won't switch to my language", below.
+
+
+ Tux Paint won't switch to my language
+
+
+
+
+ Linux and Unix users: Make sure the locale is available
+
+ Make sure the locale you want is available. Check your "/etc/locale.gen" file. See the "Options Documentation" for the locales Tux Paint uses (especially when using the "--lang" option).
+
+
+ Note: Debian and derivative (e.g., Ubuntu) users can simply run "dpkg-reconfigure locales" if the locales are managed by "dpkg".
+
+
+
If you're using the "--lang" command-line option
+ Try using the "--locale" command-line option, or your operating system's locale settings (e.g., the "$LANG" environment variable), and please e-mail us regarding your trouble.
+
+
+
If you're using the "--locale" command-line option
+ If this doesn't work, please e-mail us regarding your trouble.
+
+
+
If you're trying to use your Operating System's locale
+ If this doesn't work, please e-mail us regarding your trouble.
+
+
+
Make sure you have the necessary font
+ Some translations require their own font. Chinese and Korean, for example, need Chinese and Korean TrueType Fonts installed and placed in the proper location, respectively.
+
+
+ The appropriate fonts for such locales can be downloaded from the Tux Paint website:
+ Tux Paint won't print, gives an error, or prints garbage (Unix/Linux)
+
+
+
+ Tux Paint prints by creating a PostScript rendition of the picture and sending it to an external command. By default, this command is the "lpr" printing tool.
+
+
+ If that program is not available (for example, you're using CUPS, the Common Unix Printing System, and do not have "cups-lpr" installed), you will need to specify an appropriate command using the "printcommand" option in Tux Paint's configuration file. (See the "Options Documentation".)
+
+
+
+ I get the message "You can't print yet!" when I go to print
+
+
+
+ The "print delay" option is on. You can only print once every X seconds.
+
+
+ If you're running Tux Paint from a command-line, make sure you're not giving it a "--printdelay=..." option.
+
+
+ If you're running Tux Paint by double-clicking an icon, check the properties of the icon to see if "--printdelay=..." is listed as a command-line argument.
+
+
+ If a "--printdelay=..." option isn't being sent on the command line, check Tux Paint's configuration file for a line reading: "printdelay=...".
+
+
+ Either remove that line, set the delay value to 0 (no delay), or decrease the delay to a value you prefer. (See the "Options Documentation".)
+
+
+ Or, you can simply run Tux Paint with the command-line argument: "--printdelay=0", which will override the configuration file's setting, and allow unlimited printing. (You won't have to wait between prints.)
+
+
+
+ I simply can't print! The button is greyed out!
+
+
+
+ The "no print" option is on.
+
+
+ If you're running Tux Paint from a command-line, make sure you're not giving it a "--noprint" option.
+
+
+ If you're running Tux Paint by double-clicking an icon, check the properties of the icon to see if "--noprint" is listed as a command-line argument.
+
+
+ If a "--noprint" option isn't being sent on the command line, check Tux Paint's configuration file for a line reading: "noprint=yes".
+
+
+ Either remove that line, or simply run Tux Paint with the command-line argument: "--print", which will override the configuration file's setting.
+
+
+ Or use Tux Paint Config. and make sure "Allow Printing" (under "Printing") is checked.
+ Unless you asked Tux Paint to save into a specific location (using the "savedir" option), Tux Paint saves into a standard location on your local drive:
+
+
+
+ Windows Windows 8, Windows 10, Windows 11
+
+
+
+ In the user's "AppData" folder: e.g., "C:\Users\användarnamn\AppData\Roaming\TuxPaint\saved\"
+
+ (Note: The "AppData" folder is hidden (not visible) by default. You can enter the path manually in the location bar of your file browser (e.g., File Explorer).)
+
+ You can use the %APPDATA% variable as a shorthand, i.e. "%APPDATA%\Tuxpaint\Saved".
+
+ You can use the [⊞ (Windows)] + [R] key combination to bring up the Run command window, and then type the path and hit [Enter / Return].
+
+
+ macOS
+
+
+
+ In the user's "Application Support" folder: e.g., "/Användare/användarnamn/Bibliotek/Application Support/TuxPaint/saved/"
+
+
+ Linux / Unix
+
+
+
+ In the user's "home directory" folder: e.g., "/home/användarnamn/.tuxpaint/saved/"
+
+ (Note: The ".tuxpaint" folder is hidden (not visible) by default. You can enter the path manually in the location bar of your file browser (e.g., GNOME-filer eller Dolphin).)
+
+ You can use the $HOME variable as a shorthand, i.e. "$HOME/.tuxpaint/saved".
+
+
+ Haiku
+
+
+
+ In the user's "settings" folder: e.g., "/boot/home/config/settings/TuxPaint/saved/"
+
+
+
+ The images are stored as PNG bitmaps, which most modern programs should be able to load (image editors, word processors, web browsers, etc.)
+
+
+
+ Tux Paint always saves over my old picture
+
+
+
+ The "save over" option is enabled. (This disables the prompt that would appear when you click 'Save.')
+
+
+ If you're running Tux Paint from a command-line, make sure you're not giving it a "--saveover" option.
+
+
+ If you're running Tux Paint by double-clicking an icon, check the properties of the icon to see if "--saveover" is listed as a command-line argument.
+
+
+ If a "--saveover" option isn't being sent on the command line, check Tux Paint's configuration file for a line reading: "saveover=yes".
+
+
+ Either remove that line, or simply run Tux Paint with the command-line argument: "--saveoverask", which will override the configuration file's setting.
+
+
+ Or use Tux Paint Config. and make sure "Ask Before Overwriting" (under "Saving") is checked.
+
+
+ Also, see "Tux Paint always saves a new picture!", below.
+
+
+
+ Tux Paint always saves a new picture!
+
+
+
+ The "never save over" option is enabled. (This disables the prompt that would appear when you click 'Save.')
+
+
+ If you're running Tux Paint from a command-line, make sure you're not giving it a "--saveovernew" option.
+
+
+ If you're running Tux Paint by double-clicking an icon, check the properties of the icon to see if "--saveovernew" is listed as a command-line argument.
+
+
+ If a "--saveovernew" option isn't being sent on the command line, check Tux Paint's configuration file for a line reading: "saveover=new".
+
+
+ Either remove that line, or simply run Tux Paint with the command-line argument: "--saveoverask", which will override the configuration file's setting.
+
+
+ Or use Tux Paint Config. and make sure "Ask Before Overwriting" (under "Saving") is checked.
+
+
+ Also, see "Tux Paint always saves over my old picture!", above.
Is the volume turned up in your Operating System's "mixer?"
+
+
Are you certain you're using a computer with a sound card?
+
+
Are any other programs running that use sound? (They may be 'blocking' Tux Paint from accessing your sound device)
+
+
(Unix/Linux) Are you using a sound system, such as aRts, ESD or GStreamer? If so, try setting the "SDL_AUDIODRIVER" environment variable before running Tux Paint (e.g., "export SDL_AUDIODRIVER=arts"). Or, run Tux Paint through the system's rerouter (e.g., run "artsdsp tuxpaint" or "esddsp tuxpaint", instead of simply "tuxpaint").
+
+
+
+
+ Is sound disabled in Tux Paint?
+
+ If sound seems to work otherwise (and you're sure no other program is "blocking" the sound device), then Tux Paint may be running with a "no sound" option.
+
+
+ If you're running Tux Paint from a command-line, make sure you're not giving it a "--nosound" option.
+
+
+ If you're running Tux Paint by double-clicking an icon, check the properties of the icon to see if "--nosound" is listed as a command-line argument.
+
+ If a "--nosound" option isn't being sent on the command line, check Tux Paint's configuration file for a line reading: "nosound=yes".
+
+
+ Either remove that line, or simply run Tux Paint with the command-line argument: "--sound", which will override the configuration file's setting.
+
+
+ Or, you can simply run Tux Paint with the command-line argument: "Aktivera ljudeffekter", which will override the configuration file's setting, and allow unlimited printing. (You won't have to wait between prints.)
+
+
+
+ Were sounds temporarily disabled?
+
+ Even if sounds are enabled in Tux Paint, it is possible to disable and re-enable them temporarily using the [Alt] + [S] key sequence. Try pressing those keys to see if sounds begin working again.
+
+
+
+ Was Tux Paint built without sound support?
+
+ Tux Paint may have been compiled with sound support disabled. To test whether sound support was enabled when Tux Paint was compiled, run Tux Paint from a command line, like so:
+
+
+
+ tuxpaint --verbose-version
+
+
+
+
+ If, amongst the other information, you see "Sound disabled", then the version of Tux Paint you're running has sound disabled. Recompile Tux Paint, and be sure NOT to build the "nosound" target. (i.e., don't run "make nosound") Be sure the SDL_mixer library and its development headers are available!
+
+
+
+
+
+ Tux Paint makes too much noise! Can I turn them off?
+
+
+
+ Yes, there are a number of ways to disable sounds in Tux Paint:
+
+
+
Press [Alt] + [S] while in Tux Paint to temporarily disable sounds. (Press that key sequence again to re-enable sounds.)
+
+
Run Tux Paint with the "no sound" option:
+
Run "tuxpaint --nosound" from the command line or shortcut or desktop icon.
+
+
Edit Tux Paint's configuration file (see "Options Documentation" for details) and add a line containing "nosound=yes".
+
+
+ Or use Tux Paint Config. and make sure "Aktivera ljudeffekter" (under "Video & Sound") is not checked.
+
+
+ Alternatively, recompile Tux Paint with sound support disabled. (See above, and the 'Install' documentation.)
+
+
+
+
+
+
+ The stereo panning of sound effects is bothersome; can sound effects be monophonic?
+
+
+
+ Run Tux Paint with the "no stereo" option:
+
+
+
Run "tuxpaint --nostereo" from the command line or shortcut or desktop icon.
+
+
Edit Tux Paint's configuration file (see "Options Documentation" for details) and add a line containing "nostereo=yes".
+
+
+ Or use Tux Paint Config. and make sure "Aktivera stereoeffekter" (under "Video & Sound") is not checked.
+
+
+
+
+ The sound effects sound strange
+
+
+
+ This could have to do with how SDL and SDL_mixer were initialized. (The buffer size chosen.)
+
+
+ Please e-mail us with details about your computer system. (Operating system and version, sound card, which version of Tux Paint you're running (run "tuxpaint --version" to verify), and so on.)
+ When I run Tux Paint full-screen and [Alt] + [Tab] out, the window turns black!
+
+
+ This is apparently a bug in the SDL library. Sorry.
+
+
+ When I run Tux Paint full-screen, it has large borders around it
+
+
+
+ Linux users - Your X-Window server is probably not set with the ability to switch to the desired resolution: 800×600. (or whatever resolution you have Tux Paint set to run at.) (This is typically done manually under the X-Window server by pressing [Kontroll] + [Alt] + [Keypad Plus (+)] and [Kontroll] + [Alt] + [Keypad Minus (-)].)
+
+
+ For this to work, your monitor must support that resolution, and you need to have it listed in your X server configuration.
+
+
+ Check the "Display" subsection of the "Screen" section of your XFree86 or X.org configuration file (typically "/etc/X11/XF86Config-4" or "/etc/X11/XF86Config", depending on the version of XFree86 you're using; 3.x or 4.x, respectively, or "/etc/X11/xorg.conf" for X.org).
+
+
+ Add "800x600" (or whatever resolution(s) you want) to the appropriate "Modes" line. (e.g., in the "Display" subsection that contains 24-bit color depth ("Depth 24"), which is what Tux Paint tries to use.)
+ Note that some Linux distributions have tools that can make these changes for you. Debian users can run the command "dpkg-reconfigure xserver-xfree86" as root, for example.
+
+
+
+ Tux Paint keeps running in Full Screen mode - I want it windowed!
+
+
+
+ The "fullscreen" option is set.
+
+
+ If you're running Tux Paint from a command-line, make sure you're not giving it a "--fullscreen=..." option.
+
+
+ If you're running Tux Paint by double-clicking an icon, check the properties of the icon to see if "--fullscreen=yes" or "--fullscreen=native" is listed as a command-line argument.
+
+
+ If "--fullscreen=yes" or "--fullscreen=native" options aren't being sent on the command line, check Tux Paint's configuration file for a line reading: "fullscreen=yes" or "fullscreen=native".
+
+
+ Either remove that line, or simply run Tux Paint with the command-line argument: "--windowed" or "--fullscreen=no", which will override the configuration file's setting.
+
+
+ Or use Tux Paint Config. and make sure "Helskärm" (under "Video & Sound") is not checked.
+
+
+
+ How do I access other applications when Tux Paint is running in Full Screen?
+
+
+
+
+ Windows and Linux users, try the [Alt] + [Tab] key combination to switch between applications.
+
+ macOS users, switch to other applications using [Kontroll] + [Left Arrow], then back to Tux Paint using [Kontroll] + [Pil höger].
+ If Tux Paint aborts with the message: "You're already running a copy of Tux Paint!", this means it has been launched in the last 30 seconds. (On Unix/Linux, this message would appear in a terminal console if you ran Tux Paint from a command-line. On Windows, this message would appear in a file named "stdout.txt" in the same folder where TuxPaint.exe resides (e.g., in "C:\Program Files\TuxPaint\").
+
+
+ A lockfile (e.g., "/home/användarnamn/.tuxpaint/lockfile.dat" on Linux and Unix, "userdata\lockfile.dat" on Windows) is used to make sure Tux Paint isn't run too many times at once (e.g., due to a child impatiently clicking its icon more than once).
+
+
+ Even if the lockfile exists, it contains the 'time' Tux Paint was last run. If it's been more than 30 seconds, Tux Paint should run fine, and simply update the lockfile with the current time.
+
+
+ If multiple users are sharing the directory where this file is stored (e.g., on a shared network drive), then you'll need to disable this feature.
+
+
+ To disable the lockfile, add the "--nolockfile" argument to Tux Paint's command-line, or "nolockfile=yes" to the configuration file.
+
+
+
+ Tux Paint launches very slowly
+
+
+
+ The first time Tux Paint is launched (for a particular user), it may take a minute or more to respond. The font system used by Tux Paint (FontConfig, via Pango) is creating a 'cache' of information about the fonts on your system. Subsequent launches of Tux Paint should be fast.
+
+
+ While the font cache is generated behind the scenes, Tux Paint should remain interactive (showing an animated 'please wait' animation) as this process runs.
+
+
+ If this delay persists or reoccurs, it could be that the cache is being deleted — for example, in an environment (such as a school computer lab) where a system is returned into a default state when a user finishes using the program. Some versions of Tux Paint ship with a file, "fonts.conf" (documented at freedesktop.org), which can be modified to have FontConfig store the file elsewhere, e.g.:
+ <cachedir>C:\Documents and Settings\All Users\Application Data\fontconfig\cache</cachedir>
+
+
+
+
+
+ I can't quit Tux Paint
+
+
+
+ The "no quit" option is set. This disables the "Quit" button in Tux Paint's toolbar (greying it out), and prevents Tux Paint from being exited via the [Escape] key.
+
+
+ If Tux Paint is not in fullscreen mode, simply click the window close button on Tux Paint's title bar. (i.e., the "ⓧ" at the upper right.)
+
+
+ If Tux Paint is in fullscreen mode, you will need to use the [Shift] + [Kontroll] + [Escape] sequence on the keyboard to quit Tux Paint.
+
+
+ (Note: with or without "no quit" set, you can always use the [Alt] + [F4] combination on your keyboard to quit Tux Paint.)
+
+
+
+ I don't want "no quit" mode enabled!
+
+
+
+ If you're running Tux Paint from a command-line, make sure you're not giving it a "--noquit" option.
+
+
+ If you're running Tux Paint by double-clicking an icon, check the properties of the icon to see if "--noquit" is listed as a command-line argument.
+
+
+ If a "--noquit" option isn't being sent on the command line, check Tux Paint's configuration file for a line reading: "noquit=yes".
+
+
+ Either remove that line, or simply run Tux Paint with the command-line argument: "--quit", which will override the configuration file's setting.
+
+
+ Or use Tux Paint Config. and make sure "Disable Quit Button and [Escape] Key" (under "Simplification") is not checked.
+
+
+
+ Tux Paint keeps writing weird messages to the screen / to a text file
+
+
+
+ A few messages are normal, but if Tux Paint is being extremely verbose (like listing the name of every rubber-stamp image it finds while loading them), then it was probably compiled with debugging output turned on.
+
+
+ To change this, you must rebuild Tux Paint from source. Be sure to remove or comment out any line that says:
+
+
+
+ #define DEBUG
+
+
+
+
+ in the "tuxpaint.c" file in the "src" directory.
+
+
+
+ Tux Paint is using options I didn't specify!
+
+
+
+ By default, Tux Paint first looks at configuration files for options.
+
+
+
+
+ Windows
+
+ Under Windows, it first examines the system-wide configuration file, located here:
+
+
+
+ C:\Program Files\TuxPaint\tuxpaint.cfg
+
+
+
+ It then examines the user's personal configuration file:
+ Finally, any options sent as command-line arguments are used.
+
+
+
+
+ This means that if anything is set in a configuration file that you don't want set, you'll need to either change the config. file (if you can), or override the option on the command-line.
+
+
+ For example, on Linux and Unix, if "/etc/tuxpaint/tuxpaint.conf" includes this option to disable sound...
+
+
+
+ nosound=yes
+
+
+
+
+ ...then you can reenable sound by either adding this option to your own "/home/användarnamn/.tuxpaintrc" file:
+
+
+
+ sound=yes
+
+
+
+
+ ...or by using this command-line argument:
+
+
+
+ --sound
+
+
+
+
+ On platforms where Tux Paint offers a system-wide configuration file, the settings in that file may be skipped (so only the user configuration file and other command-line arguments will be used) by including the following command-line argument:
+
+
+
+ --nosysconfig
+
+
+
+
+
+ I need to deploy Tux Paint on many Windows systems at once
+
+
+ The installers for both Tux Paint (plus Tux Paint Config.) (tuxpaint-X.Y.Z-windows-ARCH-installer.exe) and Tux Paint Stamps (tuxpaint-stamps-YYYY.MM.DD-windows-installer.exe) accept the command-line options "/SILENT" ("silent") or "/VERYSILENT" ("very silent") which can be used to install and uninstall their component without use of an interactive set-up window. This can be useful for automating installation on a collection of PCs, for example using Microsoft Intune cloud-based endpoint management solution (see https://learn.microsoft.com/mem/intune/).
+ Tux Paint requires the Simple DirectMedia Layer Library (libSDL), an Open Source multimedia programming library available under the GNU Lesser General Public License (LGPL).
+
+
+ Along with libSDL, Tux Paint depends on a number of other SDL 'helper' libraries: SDL_Image (for graphics files), SDL_gfx (for some graphical functions, like rotation), SDL_TTF and SDL2_Pango (for True Type Font support) and, optionally, SDL_Mixer (for sound effects).
+
+
+ The SDL libraries are available as source-code, or as RPM or Debian packages for various distributions of Linux. They can be downloaded from:
+ They are also typically available along with your Linux distribution (e.g. on an installation media, or available via package maintainance software like Debian's "apt").
+
+
+ 💡Note: When installing libraries from packages, be sure to ALSO install the development versions of the packages. (For example, install both "SDL2-2.24.0.rpm" and "SDL2-devel-2.24.0.rpm".)
+ Tux Paint also takes advantage of a number of other free, LGPL'd libraries. Under Linux, just like SDL, they should either already be installed, or are readily available for installation as part of your Linux distribution.
+
+
+
libPNG
+
+
+ Tux Paint uses PNG (Portable Network Graphics) format for its data files. SDL_image will require libPNG be installed.
+ Tux Paint uses your system's locale settings along with the "gettext" library to support various languages (e.g., Spanish). You'll need the gettext library installed.
+ Tux Paint can load SVG (Scalable Vector Graphics) images as stamps. Two sets of libraries are supported, and SVG support can be completely disabled (via "make SVG_LIB:=")
NetPBM Tools (valfritt) No longer used, by default
+
+
+ 📜 Under Linux and Unix, earlier versions of Tux Paint used the NetPBM tools to assist with printing. (A PNG is generated by Tux Paint, and converted into a PostScript using the 'pngtopnm' and 'pnmtops' NetPBM command-line tools.)
+ Tux Paint is released under the GNU General Public License (GPL) (see "COPYING.txt" for details), and therefore the 'source code' to the program is available freely.
+ Many tools and libraries are required to build Tux Paint. The package management system "pacman" helps you install them automatically solving complicated dependencies.
+
+
+
+
MYSYS2
+
+
+
+ Download the latest MSYS2 environment from https://www.msys2.org/ and install it where you'd like (the default is "C:\msys64")
+
+ Open the MSYS2 shell from the "Start Menu" → "MSYS2 64bit" → "MSYS2 MSYS" and execute following command:
+
+ $ yes "" | pacman -Syu
+
+
+
+
+
+ This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process.
+
+ $ yes "" | pacman -Syu
+
+
+
+
+
+ Within the MSYS2 shell, run the following command to install basic development tools:
+
+ $ yes "" | pacman -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix
+
+
+ "ntldd" is a small tool which examine windows executable files to list Dynamic Link Library (.dll) files they depends on. Tux Paint's packaging process for binary distribution uses it to find required .dll files.
+
+
+
+
+
+ 64bit (x86_64) dependency libraries for Tux Paint and Tux Paint Config
+
+
+
+ You can install tools and libraries required for compiling Tux Paint and Tux Paint Config on MSYS2/MINGW using "pacman" except for SDL2_Pango and libunibreak.
+
+ FLTK is a cross-platform GUI toolkit used by "Tux Paint Config". You can skip installing it if you are only building "Tux Paint".
+ "ntldd" is a small tool which examine windows executable files to list Dynamic Link Library (.dll) files they depends on. Tux Paint's packaging process for binary distribution uses it to find required .dll files.
+
+
+
+
+
+ 32bit (i686) dependency libraries for Tux Paint and Tux Paint Config
+
+
+
+ You can install tools and libraries required for compiling Tux Paint and Tux Paint Config on MSYS2/MINGW using "pacman" except for SDL2_Pango and libunibreak.
+
+ FLTK is a cross-platform GUI toolkit used by "Tux Paint Config". You can skip installing it if you are only building "Tux Paint".
+ ImageMagick is a compilation of command line tools to create, edit, compose, or convert bitmap images supporting quite a large number of image formats. Tux Paint uses two functions ("convert" and "composite") in it to generate thumbnails for startar images and templates during the build process.
+
+ Using official binary release available from "Windows Binary Release" is recommended, due to the commands installed with "pacman" on MinGW/MSYS not working as expected!
+
+ Do not forget to enable "Install legacy utilities (e.g. convert)" while installing it, because Tux Paint's build process uses them.
+
+ Add the path to the directory in which ImageMagick is installed at the top of your "PATH" environment variable. For example:
+ You can make this permanent by adding the above to your the BASH shell configuration file, "~/.bash_profile".
+
+
+
+
+
Tux Paint & Tux Paint Config.
+
+
+
+ You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively.
+
+
+ Select "MSYS2 64bit" → "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell.
+
+ Select "MSYS2 64bit" → "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell.
+
+
+
+
+
Tux Paint Config.
+
+
+ "Tux Paint Config" is a useful graphical tool for tweaking Tux Paint's behavior. You have to build this component before compiling Tux Paint if you want to have it included in your package.
+
+ You can use either (a) a stable tar-ball release, or (b) the developing source tree.
+ All the files needed for starting Tux Paint (and Tux Paint Config.) are collected in the directory for binary distribution "bdist" directory under "win32". You can start them by double-clicking their executable (.exe) files in the "bdist" directory.
+
+
+
+
+
+ Building the Tux Paint Windows Installer
+
+
+
+ Inno Setup is used to build executable installer for Tux Paint. Therefore you have to install it in the first place.
+
+ Inno Setup officially supports translations for only about 20 languages. However, one of the great points of Tux Paint is it supports so many languages. Therefore, the set up script "tuxpaint.iss" to build the installer is written to use much more translations including unofficial one which are available on "Inno Setup Translations". You have to download translation files (.isl) required and put them in "Languages" directory under the directory in which Inno Setup is installed.
+
+ Before building an installer, edit the "tuxpaint.iss" file and enable one of the lines starting with "#define BuildTarget=", depending on the architecture of the installer you want to create.
+
+ Then, you can easily build an executable installer by right-clicking on the "tuxpaint.iss" icon in the "win32" directory and selecting "Compile" on the list. It will run for a while, and eventually you will find a "tuxpaint-X.Y.Z-windows-<arch>-installer.exe" file in the same directory.
+
+
+
+
+
+ Running the Tux Paint Windows Installer
+
+
+
+ Double-click the Tux Paint installer executable (.EXE file) and follow the instructions.
+
+
+ First, you will be asked to read the license. (It is the GNU General Public License (GPL), which is also available as "COPYING.txt".)
+
+
+ You will then be asked whether you want to install shortcuts to Tux Paint in your Windows Start Menu and on your Windows Desktop. (Both options are set by default.)
+
+
+ Then you will be asked where you wish to install Tux Paint. The default should be suitable, as long as there is space available. Otherwise, pick a different location.
+
+
+ At this point, you can click 'Install' to install Tux Paint!
+
+
+ 💡 The installers for both Tux Paint (plus Tux Paint Config.) (tuxpaint-X.Y.Z-windows-ARCH-installer.exe) and Tux Paint Stamps (tuxpaint-stamps-YYYY.MM.DD-windows-installer.exe) accept the command-line options "/SILENT" ("silent") or "/VERYSILENT" ("very silent") which can be used to install and uninstall their component without use of an interactive set-up window. This can be useful for automating installation on a collection of PCs, for example using Microsoft Intune cloud-based endpoint management solution (see https://learn.microsoft.com/mem/intune/).
+
+
+
+
+
+ Changing the Settings Using the Shortcut
+
+
+
+ To change program settings, right-click on the TuxPaint shortcut and select 'Properties' (at the bottom).
+
+
+ Make sure the 'Shortcut' tab is selected in the window that appears, and examine the 'Target:' field. You should see something like this:
+
+
+ "C:\Program Files\TuxPaint\TuxPaint.exe"
+
+
+ You can now add command-line options which will be enabled when you double-click the icon.
+
+
+ For example, to make the game run in fullscreen mode, with simple shapes (no rotation option) and in French, add the options (after 'TuxPaint.exe'), like so:
+
+
+ "C:\Program Files\TuxPaint\TuxPaint.exe" -f -s --lang french
+
+
+ (See the main documentation for a full list of available command-line options.)
+
+
+ If you make a mistake or it all disappears use [Kontroll] + [Z] to undo or just hit the [Esc] key and the box will close with no changes made (unless you pushed the "Apply" button!).
+
+
+ When you have finished, click "OK."
+
+
+
+
+
+ If Something Goes Wrong
+
+
+
+ If, when you double-click on the shortcut to run Tux Paint, nothing happens, it is probably because some of these command-line options are wrong. Open an Explorer, and look for a file called "stderr.txt" in your personal saving folder for TuxPaint which is normaly "C:\Users\användarnamn\AppData\Roaming\TuxPaint\".
+
+
+ It will contain a description of what was wrong. Usually it will just be due to incorrect character-case (capital 'Z' instead of lowercase 'z') or a missing (or extra) '-' (dash).
+ 💡Note: Tux Paint does not use autoconf/automake, so there is no "./configure" script to run. Compiling should be straight-forward though, assuming everything Tux Paint needs is installed.
+
+
+ To compile the program from source, simply run the following command from a shell prompt (e.g., "$"):
+
+
+
+ $ make
+
+
+
+
+
+
+
+ Disabling SVG support (and hence Cairo, libSVG och svg-cairo dependencies):
+
+
+
+ To disable SVG support (e.g., if your system is not currently supported by the Cairo library or other SVG-related dependencies), you can run "make" with "SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG" added:
+
+
+ $ make SVG_LIB= SVG_CFLAGS=
+
+
+
+
+
+
+
+ Disabling Sound at Compile-time
+
+
+
+ If you don't have a sound card, or would prefer to build the program with no sound support (and therefore without a the SDL_mixer dependency), you can run "make" with "SDL_MIXER_LIB=" added:
+
+
+ $ make SDL_MIXER_LIB=
+
+
+
+
+
+
+
+ Other options
+
+
+
+ Various other options (e.g., installation paths) may be overridden; see them in "Makefile" for further details.
+
+
+
+
+
+ If you get errors
+
+
+
+ If you receive any errors during compile-time, make sure you have the appropriate libraries installed (see above). If using packaged versions of the libraries (e.g., RPMs under RedHat or DEBs under Debian), be sure to get the corresponding "-dev" or "-devel" packages as well, otherwise you won't be able to compile Tux Paint (and other programs) from source!
+
+
+
+
+
+ Installng
+
+
+
+ Assuming no fatal errors occured, you can now install the program so that it can be run by users on the system. By default, this must be done by the "root" user ('superuser'). Switch to "root" by typing the command:
+
+
+
+ $ su
+
+
+
+
+ Enter "root"'s password at the prompt. You should now be "root" (with a prompt like "#"). To install the program and its data files, type:
+
+
+
+ # make install
+
+
+
+
+ Finally, you can switch back to your regular user by exiting superuser mode:
+
+
+
+ # exit
+
+
+
+
+ Alternatively, you may be able to simply use the "sudo" command (e.g., on Ubuntu Linux):
+
+
+
+ $ sudo make install
+
+
+
+
+ 💡Note: By default, "tuxpaint", the executable program, is placed in "/usr/local/bin/". The data files (images, sounds, etc.) are placed in "/usr/local/share/tuxpaint/".
+
+
+
+
+ Changing Where Things Go
+
+
+
+ You can change where things will go by setting "Makefile"variables on the command line. "DESTDIR" is used to place output in a staging area for package creation. "PREFIX" is the basis of where all other files go, and is, by default, set to "/usr/local".
+
+
+ Other variables are:
+
+
BIN_PREFIX
+
+ Where the "tuxpaint" binary will be installed. (Set to "$(PREFIX)/bin" by default - e.g., "/usr/local/bin")
+
+
DATA_PREFIX
+
+ Where the data files (sound, graphics, brushes, stamps, fonts) will go, and where Tux Paint will look for them when it's run. (Set to "$(PREFIX)/share/tuxpaint")
+
+
DOC_PREFIX
+
+ Where the documentation text files (the "docs" directory) will go. (Set to "$(PREFIX)/share/doc/tuxpaint")
+
+
MAN_PREFIX
+
+ Where the manual page for Tux Paint will go. (Set to "$(PREFIX)/share/man")
+ Where the icons and launchers (for GNOME and KDE) will go.
+
+
LOCALE_PREFIX
+
+ Where the translation files for Tux Paint will go, and where Tux Paint will look for them. (Set to "$(PREFIX)/share/locale/") (Final location of a translation file will be under the locale's directory (e.g., "es" for Spanish), within the "LC_MESSAGES" subdirectory.)
+
+
+
+ 💡Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a complete list.
+ Starting with Tux Paint 0.9.23, Tux Paint for macOS is built as though it were a Linux application.
+
+
+
+
+ Prerequisites
+
+
+
+ Although Tux Paint is built without the Xcode IDE, Xcode itself is still required to build Tux Paint. Download it from the App Store, and launch it once to accept its license agreements. You may also need to install the Xcode command line tools using the command:
+
+ $ xcode-select --install
+
+
+
+
+
+ Building Tux Paint also requires various libraries. We install them from MacPorts where possible, source code otherwise. Install MacPorts to the default /opt/local path according to the instructions found on their website: https://www.macports.org/
+
ImageMagick
+
cairo
+
fribidi
+
lbzip2
+
libimagequant*
+
libpaper
+
libpng
+
librsvg
+
libsdl2
+
libsdl2_image
+
libsdl2_mixer
+
libsdl2_pango*
+
libsdl2_ttf
+
libsdl2_gfx
+
pkgconfig
+
zlib
+
+ ... but you should install any package that is required by the latest version of Tux Paint.
+
+ * Not available from MacPorts as of this writing, see below.
+
+
+
+
+ libimagequant
+
+
+
+
+ libimagequant is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to /opt/local (same as MacPorts) for the library to be included in TuxPaint.dmg.
+
+ $ sudo port install rust cargo
+ $ git clone https://github.com/ImageOptim/libimagequant.git
+ $ cd libimagequant/imagequant-sys
+ $ cargo build --release # Must use cargo from MacPorts
+ $ sudo make PREFIX=/opt/local install
+
+
+
+
+
+
+
+
+ sdl2_pango
+
+
+
+
+ sdl2_pango is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to /opt/local (same as MacPorts) for the library to be included in TuxPaint.dmg.
+
+ $ git clone https://github.com/markuskimius/SDL2_Pango.git
+ $ cd SDL2_Pango
+ $ export MACOSX_DEPLOYMENT_TARGET=11.0# on Apple Silicon CPU; use "10.10" on Intel CPU
+ $ ./configure --prefix=/opt/local && make && sudo make install
+
+
+
+
+
+
+ WARNING: Having any UNIX-like toolset installed on your Mac besides MacPorts and Xcode, such as Fink or Brew, will prevent your app bundle from being portable. Be sure Fink and Brew are not accessible from your build environment.
+
+
+
+
+
+ Hur man bygger
+
+
+
+ Simply, run:
+
+ % make
+ % make install
+
+
+ ... to create the TuxPaint.app application bundle that can be run in-place or copied to /Applications. To create the DMG file for distribution, use 'make TuxPaint.dmg'.
+
+
+ Additional steps are required when building a Unviersal Binary. See "Building a Universal Binary" below.
+
+
+
+
+
+ Kända problem
+
+
+
+
+ A macOS binary built on a specific version of macOS only runs on that version of macOS or later. To ensure Tux Paint can run on the oldest version of macOS possible, build it on the oldest version of macOS available. As of this writing we know Tux Paint cannot be built to run on macOS 10.7 or earlier.
+
+ See "Old Versions of macOS" below for best-effort instructions on how to obtain, install, and build Tux Paint on an old version of macOS.
+
+ Alternatively, Tux Paint and all of its library dependencies may be compiled with appropriate options to be runnable on older versions of macOS. These options are already set on Tux Paint, so only its dependencies (from MacPorts) need to be recompiled. See "Recompiling MacPorts" below for the instructions.
+ macOS for Intel CPU does allow dual booting of multiple versions of the OS, but it's safer and easier to install the old macOS onto a flash drive. Wherever you're installing it, the target drive's partitioniong scheme and partition type must match what the old macOS expects, so use the Disk Utility to partition and format the flash drive accordingly.
+
+
+ Dual booting multiple versions of macOS for Apple Silicon has been so far unsuccessful. Instead of installing an older version of macOS for Apple Silicon to build Tux Paint to run on the old version of macOS for Apple Silicon, use the instructions found in the "Recompiling MacPorts" section to build Tux Paint to run on older versions of macOS for Apple Silicon.
+
+
+ As of this writing, the oldest version of macOS available on Apple's support site is Yosemite 10.10, which expects "GPT (GUID Partition Table)" partitioning scheme instead of the older MBR scheme, and "Mac OS Extended (Journaled)" as the partition type instead of the newer APFS partition type.
+
+
+ Upon launching the installer, if you get a popup about macOS being too old or new to be installed, a bootable installer can be created using the instructions found here: https://support.apple.com/en-mide/HT201372
+
+
+ Once the old macOS is installed, you may find the Xcode on the App Store is too new to run on the version of the old macOS. Old versions of Xcode can be downloaded from Apple's Developer site in an area accessible with free registration: https://developer.apple.com/download/more/
+ And because Xcode is being installed manually, you can skip the step to install the Xcode command line tools (do not run "xcode-select --install") but otherwise build Tux Paint using the same steps described in the earlier part of this document.
+
+
+
+
+
+ Recompiling MacPorts
+
+
+
+ To recompile MacPorts to be usable on older versions of macOS, set the following options in /opt/local/etc/macports/macports.conf:
+ Then reinstall all MacPorts packages needed by Tux Paint. Also rebuild libimagequant using the updated Cargo package from MacPorts.
+
+
+ As of this writing, all libraries Tux Paint requires from MacPorts can be recompiled in this manner to run on macOS 10.10 Yosemite and later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple Silicon. Unfortunately, although MacPorts has the option to enable the building of universal libraries, several libraries Tux Paint require cannot be built as universal libraries so they can only be built to run natively on the hardware on which they were built. See "Building a Universal Binary" below for instructions on how to build Tux Paint as a Universal Binary.
+
+
+
+
+
+ Building a Universal Binary
+
+
+
+ To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided build-universal.sh script to combine the two application bundles as below. The DMG file can be built afterwards:
+
+ $ macos/build-universal.sh
+ $ make TuxPaint.dmg
+
+
+
+ mars 29, 2023 Pere Pujal i Carabantes <perepujal@gmail.com>
+ (Edited by Bill Kendrick)
+
+
+
+
+
+ As of March 2023, the Android build of Tux Paint is maintained in a separate code repository at GitHub: https://github.com/tux4kids/Tuxpaint-Android. Detailed instructions are there; this acts as an overview.
+ To compile the latest Tux Paint, one has to sync the main SourceForge project's tuxpaint Git repository with the GitHub project's TuxPaint-Android Git repository. (Pere uses a shell script that backs up the app/src/main/jni/tuxpaint directory in the Tuxpaint-Android GitHub repo and makes a build of SourceForge's tuxpaint to generate translations and other things that are not autogenerated in the Android builds, and then copies the SourceForge tuxpaint back to Tuxpaint-Android.) (FIXME: It should be checked-in somewhere. For now, see https://sourceforge.net/p/tuxpaint/feature-requests/224/)
+
+
+ For it to run you need the tuxpaint and Tuxpaint-Android sources one next to one another, and the script in the directory containing both.
+
+
+ Fill the app/src/main/assets directory by running cd app/src/main/jni/tuxpaint && ./mkzip_assets.sh
+
+
+
+
+
+ Building
+
+
+
+ The Gradle build generates some variants: PlayStore, debugPlayStore, offPlayStore and debugoffPlayStore. You must sign the non-debug ones to be able to install them. (FIXME: Link to info on how to sign.) (Note: "playStore" ones are intended to be uploaded to Google Play; this is currently managed by Terrence Sheflin —March 2023. "offPlayStore" is the flavor that we distribute as APK files on the Tux Paint website and SourceForge file hosting, and is the variant built by the F-Droid app. repository.)
+
+
+ To trigger a build from F-droid, it suffices to tag a commit and push it to GitHub. That doesn't guarantee the build will succeed though, so Pere usually runs a local F-droid server to test the build and eventually adapt the F-droid's build receipt before pushing the tag to GitHub.
+
+
+ The builds Pere distributes are all made with that local F-droid server. It has the advantage of packing the sources and logs, and signing the APK. Most importantly, it uses the same tools F-Droid will use to build Tux Paint, so you can detect problems beforehand.
+
+
+ The receipt Pere uses for F-Droid builds is in the metadata dir of https://gitlab.com/fdroid/fdroiddata. The F-Droid server code is at https://gitlab.com/fdroid/fdroidserver. To generate the server you will need 1GB free on disk. Run the makebuildserver tool they provide, then, from the root of fdroiddata, run ../fdroidserver/fdroid build --server org.tuxpaint:NNNN (NNNN = version, e.g. 9288)
+ ⚙ Debugging output — to "STDOUT" on Linux and Unix, to a "stdout.txt" file on Windows, and to the file "/tmp/tuxpaint.log" on macOS — can be enabled by setting "DEBUG" (and, if verbose logging is wanted, "VERBOSE") #defines in "src/debug.h" and (re)compiling Tux Paint.
+ If you installed the Start Menu shortcuts (the default), then go to the TuxPaint folder and select "Uninstall". A box will be displayed that will confirm that you are about to uninstall Tux Paint and, if you are certain that you want to permanently remove Tux Paint, click on the 'Uninstall' button.
+
+
+ When it has finished, click on the close button.
+
+
+
+
+
+ Använda kontrollpanelen
+
+
+
+ It is also possible to use the entry "TuxPaint (remove only)" in the Control Panel Add/Remove programs section.
+ Delete "TuxPaint.app" from the "/Applications" folder. Data files, including the configuration files, stamps, and saved pictures, may be found in "/Bibliotek/Application Support/TuxPaint/" (all users) and "/Användare/användarnamn/Bibliotek/Application Support/TuxPaint/" (individual users).
+ Within the Tux Paint source directory (where you compiled Tux Paint), you can use the "make uninstall" target to uninstall Tux Paint. By default, this must be done by the "root" user ('superuser'), but if you installed Tux Paint somewhere else (e.g., using a "PREFIX=..." setting to "make" and "make install"), you may not, and will want to provide those same settings here. (See the installation instructions above for further information.)
+ Tux Paint's 'Magic' tools come as a set of 'plugins' which are loaded when Tux Paint starts up.
+
+
+ This division allows more rapid development of 'Magic' tools, and allows programmers to create and test new tools without needing to integrate them within the main Tux Paint source code. (Users of more professional graphics tools, such as GIMP, should be familiar with this plugin concept.)
+
+
+
+
+
+
+
+ Förutsättningar
+
+
+
+ Tux Paint is written in the C programming language, and uses the Simple DirectMedia Layer library ('libSDL', or simply 'SDL'; available from https://www.libsdl.org/). Therefore, for the moment at least, one must understand the C language and how to compile C-based programs. Familiarity with the SDL API is highly recommended, but some basic SDL concepts will be covered in this document.
+
+
+
+
+
+
+
+ Interfaces
+
+
+
+ Those who create 'Magic' tool plugins for Tux Paint must provide some interfaces (C functions) that Tux Paint may invoke.
+
+
+ Tux Paint utilizes SDL's "SDL_LoadObject()" and "SDL_LoadFunction()" routines to load plugins (shared objects files; e.g., ".so" files on Linux or ".dll" files on Windows) and find the functions within.
+
+
+ In turn, Tux Paint provides a number of helper functions that the plugin may (or sometimes is required to) use. This is exposed as a C structure (or "struct") which contains pointers to functions and other data inside Tux Paint. A pointer to this structure gets passed along to the plugin's functions as an argument when Tux Paint invokes them.
+
+
+ Plugins should #include the C header file "tp_magic_api.h", which exposes the 'Magic' tool plugin API. Also, when you run the C compiler to build a plugin, you should use the command-line tool "tp-magic-config" to get the appropriate compiler flags (such as where the compiler can find the Tux Paint plugin header file, as well as SDL's header files) for building a plugin. (See "Compiling", below.)
+
+
+ The C header file and command-line tool mentioned above are included with Tux Paint — or in some cases, as part of a "Tux Paint 'Magic' Tool Plugin Development package".
+
+
+
+
+ 'Magic' tool plugin functions
+
+
+
+ 'Magic' tool plugins must contain the functions listed below. Note: To avoid 'namespace' collisions, each function's name must start with the shared object's filename (e.g., "blur.so" or "blur.dll" would have functions whose names begin with "blur_"). This includes private functions (ones not used by Tux Paint directly), unless you declare those as 'static'.
+
+
+
+
+ Common arguments to plugin functions
+
+
+
+ Here is a description of arguments that many of your plugin's functions will need to accept.
+
+
+
magic_api * api
+
+
+ Pointer to a C structure containing pointers to Tux Paint functions and other data that the plugin can (and sometimes should) use. The contents of this struct are described below.
+
+ Note: The magic_api struct is defined in the C header file "tp_magic_api.h", which you should include at the top of your plugin's C source file:
+ #include "tp_magic_api.h"
+
+
+
+
+
int which
+
+ An index the plugin should use to differentiate different 'Magic' tools, if the plugin provides more than one. (If not, "which" will always be 0.) See "Creating plugins with multiple effects", below.
+
+
SDL_Surface * snapshot
+
+ A snapshot of the previous Tux Paint canvas, taken when the the mouse was first clicked to activate the current magic tool. If you don't continuously affect the image during one hold of the mouse button, you should base your effects off the contents of this canvas. (That is, read from "snapshot" and write to "canvas", below.)
+
+
SDL_Surface * canvas
+
+ The current Tux Paint drawing canvas. Your magical effects should end up here!
+
+
SDL_Rect * update_rect
+
+ A pointer to an SDL 'rectangle' structure that you use to tell Tux Paint what part of the canvas has been updated. If your effect affects a 32x32 area centered around the mouse pointer, you would fill the SDL_Rect as follows:
+ Note: "update_rect" is a C pointer (an "SDL_Rect *" rather than just an "SDL_Rect") because you need to fill in its contents. Since it is a pointer, you access its elements via "->" (arrow) rather than "." (dot).
+
+
+
+
+
+
+ Required Plugin Functions
+
+
+
+ Your plugin is required to contain, at the least, all of the following functions.
+
+
+ Note: Remember, your plugin's function names must be preceded by your plugin's filename. That is, if your plugin is called "zoom.so" (on Linux) or "zoom.dll" (on Windows), then the names of your functions must begin with "zoom_" (e.g., "zoom_get_name(...)").
+
+
+
+
+ Plugin "housekeeping" functions
+
+
+
+
Uint32 api_version(void)
+
+
+ The plugin should return an integer value representing the version of the Tux Paint 'Magic' tool plugin API the plugin was built against. The safest thing to do is return the value of TP_MAGIC_API_VERSION, which is defined in "tp_magic_api.h". If Tux Paint deems your plugin to be compatible, it will go ahead and use it.
+
+ Note: Called once by Tux Paint, at startup. It is called first.
+
+
+
int init(magic_api * api, Uint8 disabled_features, Uint8 complexity_level)
+
+
+ The plugin should do any initialization here. Return '1' if initialization was successful, or '0' if not (and Tux Paint will not present any 'Magic' tools from the plugin).
+
+ Note: Called once by Tux Paint, at startup. It is called after "api_version()", if Tux Paint believes your plugin to be compatible.
+
+ The disabled_features value contains bits set for any Tux Paint features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h:
+
+ MAGIC_FEATURE_CONTROL: Magic tool controls (paint vs fullscreen) (--nomagiccontrols)
+ Your Magic tool(s) may wish to react differently depending on whether one or more features have been disabled. (For example, the "Brick" Magic tool always offered two tool variations: large and small. With the addition of the size feature, only one tool is necessary. However, with the size option disabled, the plugin is able to revert back to providing two separate tools.)
+
+ The complexity_level variable contains the "complexity level" that Tux Paint magic tools may offer — that is, the expertise level of the user. The levels are defined in tp_magic_api.h:
+ Your Magic tool(s) may wish to react differently depending on the expertise level of the user, either simplifying how each tool works, or excluding one or all of them entirely. (For example, the 1-, 2-, and 3-point perspective toolsets are totally inactive when in "novice" mode. In "beginner" mode, the drawing tools are available, but the tools to edit the vanishing point positions are disabled; the default vanishing points are used. In fact, in "beginner" mode, an additional 3-point perspective drawing tool appears, with alternative vanishing points.)
+
+ Note: Changed most recently in Tux Paint 0.9.32; Magic API version 0x00000009.
+
+
+
int get_tool_count(magic_api * api)
+
+
+ This should return the number of Magic tools this plugin provides to Tux Paint.
+
+ Note: Called once by Tux Paint, at startup. It is called after your "init()", if it succeeded.
+
+ Note: You may wish to resond differently, based on whether certain features have been disabled (e.g., 'paint' versus 'entire picture' controls, or 'Magic sizes' controls).
+
+
+
int modes(magic_api * api, int which)
+
+
+ This lets you tell Tux Paint what modes your tool can be used in; either as a tool the user can paint with, or a tool that affects the entire drawing at once.
+
+ You must return a value that's some combination of one or more of available modes:
+
+ MODE_PAINT - freehand paint (click and drag)
+
+ MODE_FULLSCREEN - applies to full image with one click
+
+ MODE_PAINT_WITH_PREVIEW - freehand paint, with preview (click and drag)
+
+ MODE_ONECLICK - applies to an area around the mouse, with one click
+
+ e.g., if your tool is only one that the user can paint with, return "MODE_PAINT". If the user can do both, return "MODE_PAINT | MODE_FULLSCREEN" to tell Tux Paint it can do both.
+
+ Note: Called once for each Magic tool your plugin claims to contain (by your "get_tool_count()").
+
+ Note: Added to Tux Paint 0.9.21; Magic API version 0x00000002.
+
+
+
char * get_name(magic_api * api, int which)
+
+
+ This should return a string containing the name of a magic tool. This will appear on the button in the 'Magic' selector within Tux Paint.
+
+ Tux Paint will free() the string upon exit, so you should wrap it in a C strdup() call.
+
+ Note: Called once for each Magic tool your plugin claims to contain (by your "get_tool_count()").
+
+
+
int get_group(magic_api * api, int which)
+
+
+ Use this to group tools together within sections of the 'Magic' selector. A number of groups are pre-defined within an enum found in "tp_magic_api.h":
+
+ MAGIC_TYPE_DISTORTS — Tools that distort the shape of the image, like Blur, Emboss, and Ripples
+
+ MAGIC_TYPE_COLOR_FILTERS — Tools that mostly affect the colors of the image without distortion, like Darken, Negative, and Tint
+
+ MAGIC_TYPE_PICTURE_WARPS — Tools that warp or move the entire picture, like Shift, Flip, and Waves
+
+ MAGIC_TYPE_PAINTING — Tools that generally paint new content at the cursor position, like Grass, Bricks, and Rails
+
+ MAGIC_TYPE_PATTERN_PAINTING — Tools that paint in multiple places at once, like Kaleidoscope and the Symmetry tools
+
+ MAGIC_TYPE_PICTURE_DECORATIONS — Tools that apply decorations to the entire picture, like Blinds and Checkboard
+
+ MAGIC_TYPE_ARTISTIC — Special-purpose artistic tools, like Flower, the String tools, and the Rainbow-arc-drawing tools.
+
+
+
+ Note: Called once for each Magic tool your plugin claims to contain (by your "get_tool_count()").
+
+ Note: Added to Tux Paint 0.9.27; Magic API version 0x00000005.
+
+
+
SDL_Surface * get_icon(magic_api * api, int which)
+
+
+ This should return an SDL_Surface containing the icon representing the tool. (A greyscale image with alpha, no larger than 40x40.) This will appear on the button in the 'Magic' selector within Tux Paint.
+
+ Tux Paint will free ("SDL_FreeSurface()") the surface upon exit.
+
+ Note: Called once for each Magic tool your plugin claims to contain (by your "get_tool_count()").
+
+
+
char * get_description(magic_api * api, int which, int mode)
+
+
+ This should return a string containing the description of how to use a particular magic tool. This will appear as a help tip, explained by Tux the Penguin, within Tux Paint.
+
+ Tux Paint will free() the string upon exit, so you should wrap it in a C strdup() call.
+
+ Note: For each Magic tool your plugin claims to contain (reported by your "get_tool_count()" function), this function will be called for each mode the tool claims to support (reported by your "modes()" function).
+
+ In other words, if your plugin contains two tools, one which works in paint mode only, and the other that works in both paint mode and full-image mode, your plugin's "get_description()" will be called three times.
+
+
+
int requires_colors(magic_api * api, int which)
+
+
+ Return a '1' if the 'Magic' tool accepts colors (the 'Colors' palette in Tux Paint will be available), or '0' if not.
+
+ Note: Called once for each Magic tool your plugin claims to contain (by your "get_tool_count()").
+
+
+
Uint8 accepted_sizes(magic_api * api, int which, int mode)
+
+
+ Return how many size variations the 'Magic' tool accepts, in the given mode (i.e., 'MODE_PAINT' or 'MODE_FULLSCREEN). Return a '0' if the 'Magic' tool should not offer sizing options. Returning '1' is the same as returning '0'.
+
+ Note: For each Magic tool your plugin claims to contain (reported by your "get_tool_count()" function), this function will be called for each mode the tool claims to support (reported by your "modes()" function).
+
+ Note: Added to Tux Paint 0.9.30; Magic API version 0x00000008.
+
+
+
Uint8 default_size(magic_api * api, int which, int mode)
+
+
+ Return the default size the 'Magic' tool should start out with, in the given mode. This will be the default setting for the tool the first time it is used during a Tux Paint session. If Tux Paint is being invoked with the sizing option disabled, this will be the only size requested by Tux Paint. Return a number between '1' and the amount you returned in accepted_sizes().
+
+ Note: For each Magic tool your plugin claims to contain (reported by your "get_tool_count()" function), this function will be called for each mode the tool claims to support (reported by your "modes()" function).
+
+ Note: Added to Tux Paint 0.9.30; Magic API version 0x00000008.
+
+
+
void shutdown(magic_api * api)
+
+
+ The plugin should do any cleanup here. If you allocated any memory or used SDL_Mixer to load any sounds during init(), for example, you should free() the allocated memory and Mix_FreeChunk() the sounds here.
+
+ Note: This function is called once, when Tux Paint exits.
+
+
+
+
+
+
+
+ Plugin event functions
+
+
+
+
+ void switchin(magic_api * api, int which, int mode, SDL_Surface * snapshot, SDL_Surface * canvas)
+ void switchout(magic_api * api, int which, int mode, SDL_Surface * snapshot, SDL_Surface * canvas)
+
+
+
+ switchin() is called whenever one of the plugin's Magic tools becomes active, and switchout() is called whenever one becomes inactive. This can be because the user just clicked a specific Magic tool (the current one is switched-out, and a new one is switched-in).
+
+ It can also happen when user leaves/returns from the selection of "Magic" tools when doing some other activity (i.e., using a different tool, such as "Text" or "Brush", activating a momentary tool, such as "Undo" and "Redo", or returning from a dialog — possibly with a new picture when it switches back — such as "Open", "New" or "Quit"). In this case, the same Magic tool is first 'switched-out', and then 'switched-back-in', usually moments later.
+
+ Finally, it can also happen when the user changes the 'mode' of a tool (i.e., from paint mode to full-image mode). First switchout() is called for the old mode, then switchin() is called for the new mode.
+
+ These functions allow users to interact in complicated was with Magic tools (for example, a tool that lets the user draw multiple freehand strokes, and then uses that as input such as handwriting — normally, the user could click somewhere in the canvas to tell the Magic tool they are 'finished', but if they switch to another tool, the Magic tool may want to undo any temporary changes to the canvas).
+
+ These functions could also be used to streamline certain effects; a behind-the-scenes copy of the entire canvas could be altered in some way when the user first switches to the canvas, and then pieces of that copy could be drawn on the canvas when they draw with the Magic tool.
+
+ Note: Added to Tux Paint 0.9.21; Magic API version 0x00000002.
+ Tux Paint will call this function to inform the plugin of the RGB values of the currently-selected color in Tux Paint's 'Colors' palette. (It will be called whenever one of the plugin's Magic tools that accept colors becomes active, and whenever the user picks a new color while such a tool is currently active.)
+
+ Generally, Magic tools will not alter the canvas in any way when receiving an updated color, but it is possible. (For example, the "Zoom" and "Perspective" tools apply effects which uses the current color choice as a solid background. The effects may be adjusted with subsequent click/drag operations, but you may also adjust the background color, without altering the zoom level or perspective, by simply picking a new color.)
+
+ Note: Changed most recently in Tux Paint 0.9.29; Magic API version 0x00000007.
+
+
+
void set_size(magic_api * api, int which, int mode, SDL_Surface * canvas, SDL_Surface * last, Uint8 size, SDL_Rect * update_rect)
+
+
+ Tux Paint will call this function to inform the plugin of the 'Magic' tool size option chosen. (It will be called whenever one of the plugin's Magic tools that accept sizes becomes active, and whenever the user picks a new size while such a tool is currently active.)
+
+ Generally, Magic tools will not alter the canvas in any way when receiving an updated size, but it is possible.
+
+ Note: Added to Tux Paint 0.9.30; Magic API version 0x00000008.
+
+
+
void click(magic_api * api, int which, int mode, SDL_Surface * snapshot, SDL_Surface * canvas, int x, int y, SDL_Rect * update_rect)
+
+
+ The plugin should apply the appropriate 'Magic' tool on the 'canvas' surface. The (x,y) coordinates are where the mouse was (within the canvas) when the mouse button was clicked, and you are told which 'mode' your tool is in (i.e., 'MODE_PAINT' or 'MODE_FULLSCREEN).
+
+ The plugin should report back what part of the canvas was affected, by filling in the (x,y) and (w,h) elements of 'update_rect'.
+
+ The contents of the drawing canvas immediately prior to the mouse button click is stored within the 'snapshot' canvas.
+
+
+
void drag(magic_api * api, int which, SDL_Surface * snapshot, SDL_Surface * canvas, int ox, int oy, int x, int y, SDL_Rect * update_rect)
+
+
+ The plugin should apply the appropriate 'Magic' tool on the 'canvas' surface. The (ox,oy) and (x,y) coordinates are the location of the mouse at the beginning and end of the stroke.
+
+ Typically, plugins that let the user "draw" effects onto the canvas utilize Tux Paint's "line()" 'Magic' tool plugin helper function to calculate the points of the line between (ox,oy) and (x,y), and call another function within the plugin to apply the effect at each point. (See "Tux Paint Functions and Data," below).
+
+ The plugin should report back what part of the canvas was affected, by filling in the (x,y) and (w,h) elements of 'update_rect'.
+
+ Note: The contents of the drawing canvas immediately prior to the mouse button click remains as it was (when the plugin's "click()" function was called), and is still available in the 'snapshot' canvas.
+
+
+
void release(magic_api * api, int which, SDL_Surface * snapshot, SDL_Surface * canvas, int x, int y, SDL_Rect * update_rect)
+
+
+ The plugin should apply the appropriate 'Magic' tool on the 'canvas' surface. The (x,y) coordinates are where the mouse was (within the canvas) when the mouse button was released.
+
+ The plugin should report back what part of the canvas was affected, by filling in the (x,y) and (w,h) elements of 'update_rect'.
+
+ Note: The contents of the drawing canvas immediately prior to the mouse button click remains as it was (when the plugin's "click()" function was called), and is still available in the 'snapshot' canvas.
+
+
+
+
+
+
+
+
+
+ Tux Paint Functions and Data
+
+
+
+ Tux Paint provides a number of helper functions that plugins may access via the "magic_api" structure, sent to all of the plugin's functions. (See "Required Plugin Functions," above.)
+
+
+
+
+ Pixel Manipulations
+
+
+
+
Uint32 getpixel(SDL_Surface * surf, int x, int y)
+
+ Retreives the pixel value from the (x,y) coordinates of an SDL_Surface. (You can use SDL's "SDL_GetRGB()" function to convert the Uint32 'pixel' to a set of Uint8 RGB values.)
+
+
void putpixel(SDL_Surface * surf, int x, int y, Uint32 pixel)
+
+ Sets the pixel value at position (x,y) of an SDL_Surface. (You can use SDL's "SDL_MapRGB()" function to convert a set of Uint8 RGB values to a Uint32 'pixel' value appropriate to the destination surface.)
+
+
Uint32 xorpixel(SDL_Surface * surf, int x, int y)
+
+ Applies an XOR (exclusive-or) operation to the pixel at coordinates (x,y) of the SDL_Surface. Applying an XOR again at the same position will return the pixel to the original value. Useful for displaying temporary 'rubberband' lines, outlines, and crosshairs, while utilizing a Magic Tool.
+
+
SDL_Surface * scale(SDL_Surface * surf, int w, int h, int keep_aspect)
+
+
+ This accepts an existing SDL surface and creates a new one scaled to an arbitrary size. (The original surface remains untouched.)
+
+ The "keep_aspect" flag can be set to '1' to force the new surface to stay the same shape (aspect ratio) as the original, meaning it may not be the same width and height you requested. (Check the "->w" and "->h" elements of the output "SDL_Surface *" to determine the actual size.)
+
+
+
+
+
+
+
+ Helper Functions
+
+
+
+
int in_circle(int x, int y, int radius)
+
+ Returns '1' if the (x,y) location is within a circle of a particular radius (centered around the origin: (0,0)). Returns '0' otherwise. Useful to create 'Magic' tools that affect the canvas with a circular brush shape.
+
+
void line(void * api, int which, SDL_Surface * canvas, SDL_Surface * snapshot, int x1, int y1, int x2, int y2, int step, FUNC callback)
+
+
+ This function calculates all points on a line between the coordinates (x1,y1) and (x2,y2). Every 'step' iterations, it calls the 'callback' function.
+
+ It sends the 'callback' function the (x,y) coordinates on the line, Tux Paint's "magic_api" struct (as a "void *" pointer which you need to send to it), a 'which' value, represening which of the plugin's 'Magic' tool is being used, and the current and snapshot canvases.
+
+ Example prototype of a callback function that may be sent to Tux Paint's "line()" 'Magic' tool plugin helper function:
+ void exampleCallBack(void * ptr_to_api, int which_tool, SDL_Surface * canvas, SDL_Surface * snapshot, int x, int y);
+
+
+
+ Example use of the "line()" helper (e.g., within a plugin's draw() function):
+ api->line((void *) api, which, canvas, snapshot, ox, oy, x, y, 1, exampleCallBack);
+
+
+
+
+
Uint8 touched(int x, int y)
+
+
+ This function allows you to avoid re-processing the same pixels multiple times when the user drags the mouse across an area of the canvas, thus increasing Tux Paint's response time, especially with math-heavy effects.
+
+ If your effect's "click()", "drag()" and/or "release()" functions take the contents of the source surface ("snapshot") and always create the same results in the desintation surface ("canvas"), you should wrap the effect in a call to "api->touched()".
+
+ This function simply returns whether or not it had already been called for the same (x,y) coordinates, since the user first clicked the mouse. In other words, the first time you call it for a particular (x,y) coordinate, it returns '0'. Future calls will return '1' until the user releases the mouse button.
+
+ Note: Magic effects that continuously affect the destination surface ("canvas") (ignoring the "snapshot surface) have no reason to use this function. The "Blur" and "Smudge" tools that ship with Tux Paint are examples of such effects.
+
+
+
+
+
+
+
+ Informational
+
+
+
+
char * tp_version
+
+ A string containing the version of Tux Paint that's running (e.g., "0.9.35").
+
+
+ int canvas_w
+ int canvas_h
+
+
+ Returns the width (canvas_w) and height (canvas_h) of the drawing canvas (in pixels).
+
+
int button_down(void)
+
+ A '1' is returned if the mouse button is down; '0' otherwise.
+
+
char * data_directory
+
+
+ This string contains the directory where Tux Paint's data files are stored. For example, on Linux, this may be "/usr/share/tuxpaint/".
+
+ Magic tools should include an icon (see "get_icon()", above) and are encouraged to include sound effects, it's useful for plugins to know where such things are located.
+
+ When compiling and installing a plugin, the "tp-magic-config" command-line tool should be used to determine where such data should be placed for the installed version of Tux Paint to find them. (See "Installing," below.)
+
+ Note: If your plugin is installed locally (e.g., in your "~/.tuxpaint/plugins/" directory), rather than globally (system-wide), the "data_directory" value will be different. (e.g., "/home/username/.tuxpaint/plugins/data/").
+
+
+
+
+
+
+
+ Sound Functions
+
+
+
+
void playsound(Mix_Chunk * snd, int pan, int dist)
+
+
+ This function plays a sound (one loaded by the SDL helper library "SDL_mixer"). It uses SDL_mixer's "Mix_SetPanning()" to set the volume of the sound on the left and right speakers, based on the 'pan' and 'dist' values sent to it.
+
+ A 'pan' of 128 causes the sound to be played at equal volume on the left and right speakers. A 'pan' of 0 causes it to be played completely on the left, and 255 completely on the right.
+
+ The 'dist' value affects overall volume. 255 is loudest, and 0 is silent.
+
+ The 'pan' and 'dist' values can be used to simulate location and distance of the 'Magic' tool effect.
+
+
+
void stopsound(void)
+
+ This function stops playing a sound played by playsound(). It is useful to silence effects when the user stops using the tool (in your 'release' function).
+
+
int playingsound(void)
+
+
+ Call this function to determine whether a magic tool sound effect is still currently playing. Can be used by magic tools that pause and unpause their sounds (see below) to determine whether it's time to start a new sound — call playsound() instead of unpausesound(). A '1' is returned if a sound is playing; '0' otherwise.
+
+ Note: Added to Tux Paint 0.9.34; Magic API version 0x0000000B.
+
+
+
void pausesound(void)
+
+
+ Pauses the magic tool sound effect; it may be unpaused to resume playing. Useful when a magic tool sound is very long; avoid repeatedly playing just a short clip of the beginning when the user draws small strokes by starting (playsound()) and stopping (stopsound()) the sound. Use playingsound() to determine whether you can unpause or must play from the start.
+
+ Note: Added to Tux Paint 0.9.34; Magic API version 0x0000000B.
+
+
+
void unpausesound(void)
+
+
+ Resumes a paused magic tool sound effect, if one was playing.
+
+ Note: Added to Tux Paint 0.9.34; Magic API version 0x0000000B.
+
+
+
+
+
+
+
+ Tux Paint System Calls
+
+
+
+
void update_progress_bar(void)
+
+ Asks Tux Paint to animate and draw one frame of its progress bar (at the bottom of the screen). Useful for routines that may take a long time, to provide feedback to the user that Tux Paint has not crashed or frozen.
+
+
void special_notify(int flag)
+
+ This function notifies Tux Paint of special events. Various values defined in "tp_magic_api.h" can be 'or'ed together (using C's boolean 'or': "|") and sent to this function.
+
SPECIAL_FLIP
+
+
+ The contents of the canvas has been flipped vertically.
+
+ If a 'Starter' image was used as the basis of this image, it should be flipped too, and a record of the flip should be stored as part of Tux Paint's undo buffer stack. Additionally, the fact that the starter has been flipped (or unflipped) should be recorded on disk when the current drawing is saved.
+
+
SPECIAL_MIRROR
+
+ Similar to SPECIAL_FLIP, but for magic tools that mirror the contents of the canvas horizontally.
+
+
+
+
void retract_undo(void)
+
+
+ Each time the user clicks in the canvas while using your Magic tool, a new snapshot of the canvas is added to the "Undo" history. This allows the user to click "Undo" to return the image to the state it was in just before they clicked with your Magic tool. They may click "Redo" to bring the change back.
+
+ However, some more sophisticated Magic tools require one or more steps to take place before the final "effect" is reached. For example, "Filled Polygon" requires placing at least three connected points, then connecting the first and last point together, to create a shape that gets added to the canvas. In the meantime, an interactive preview of the shape — an outline with large dots representing each point — is drawn onto the canvas. (The points may be moved, or even removed, prior to finishing the shape.)
+
+ The retract_undo() API function may be used by a Magic tool to tell it to discard the "Undo" snapshot it just took, as a way to prevent previews shown during multi-step actions from appearing on the canvas when using the "Undo" and "Redo" commands.
+
+ 💡 This is an advanced feature.
+
+ Note: Added to Tux Paint 0.9.33; Magic API version 0x0000000A.
+
+
+
+
+
+
+
+ Color Conversions
+
+
+
+
float sRGB_to_linear(Uint8 srbg)
+
+ Converts an 8-bit sRGB value (one between 0 and 255) to a linear floating point value (between 0.0 and 1.0).
+
+
uint8 linear_to_sRGB(float linear)
+
+ Converts a linear floating point value (one between 0.0 and 1.0) to an 8-bit sRGB value (between 0 and 255).
+ Converts 8-bit sRGB values (between 0 and 255) to floating-point HSV (Hue, Saturation and Value) values (Hue between 0.0 and 360.0, and Saturation and Value between 0.0 and 1.0).
+ Converts floating-point HSV (Hue, Saturation and Value) values (Hue between 0.0 and 360.0, and Saturation and Value between 0.0 and 1.0) to 8-bit sRGB values (between 0 and 255).
+ Along with the "magic_api" C structure containing functions and data described above, the tp_magic_api.h C header file also contains some helper macros that you may use.
+
+
+
+ min(x, y)
+ max(x, y)
+
+
+ The minimum (min) or maxinum (max) of 'x' and 'y'. For example, min() will return the value of 'x' if it is less than or equal to 'y', otherwise it will return 'y'.
+
+
clamp(lo, value, hi)
+
+
+ A value, clamped to be no smaller than 'lo', and no higher than 'hi'. (That is, if 'value' is less than 'lo', then 'lo' will be used; if 'value' is greater than 'hi', then 'hi' will be used; otherwise, 'value' will be used.)
+
+ Example:red = clamp(0, n, 255); will set the variable 'red' to be the value of the variable 'n', but without allowing it to become less than 0 or greater than 255.
+
+ Note: This macro is simply a #define of: "(min(max(value,lo),hi))".
+
+
+
+
+
+
+
+ Constant Definitions in "tp_magic_api.h"
+
+
+
+ The following is a summary of constant values that are set (via "#define") within the 'Magic' tool API header file.
+
+
+
TP_MAGIC_API_VERSION
+
+
+ This integer value represents which version of the Tux Paint 'Magic' tool API the header corresponds to.
+
+ It should be referenced by your magic tool's "api_version()" function, to inform the running copy of Tux Paint whether or not your plugin is compatible.
+
+ Note: This version number does not correspond to Tux Paint's own release number (e.g., "0.9.35"). The API will not change every time a new version of Tux Paint is released, which means plugins compiled for earlier versions of Tux Paint will often run under newer versions.
+
+
+
+ SPECIAL_MIRROR
+ SPECIAL_FLIP
+
+
+ These are flags for Tux Paint's "special_notify()" helper function. They are described above.
+
+
+
+
+
+
+
+
+ Compiling
+
+
+
+
+
+ Linux and other Unix-like Platforms
+
+
+
+ Use the C compiler's "-shared" command-line option to generate a shared object file (".so") based on your 'Magic' tool plugin's C source code.
+
+ Use the "tp-magic-config --cflags" command, supplied as part of Tux Paint — or in some cases, as part of a "Tux Paint 'Magic' Tool Plugin Development package" — to provide additional command-line flags to your C compiler that will help it build your plugin.
+
+
+
+
+ Command-Line Example
+
+
+
+ As a stand-alone command, using the GNU C Compiler and BASH shell, for example:
+
+ Note: The characters around the "tp-magic-config" command are a grave/backtick/backquote ("`"), and not an apostrophe/single-quote ("'"). They tell the shell to execute the command within (in this case, "tp-magic-config ..."), and use its output as an argument to the command being executed (in this case, "gcc ...").
+
+
+
+
+
+ Makefile Example
+
+
+
+ A snippet from a Makefile to compile a Tux Paint "Magic" tool plugin might look like this:
+
+ The first line sets up Makefile variable ("CFLAGS") that contains flags for the compiler. "-Wall" asks for all compiler warnings to be shown. "-O2" asks for level 2 optimization. "($shell tp-magic-config --cflags)" runs "tp-magic-config" to retrieve additional compiler flags that "Magic" tool plugins require. (The "$(shell ...)" directive is similar to the ` ("grave") character in the BASH shell examples, above.)
+
+
+ The next line defines a Makefile target, "my_plugin.so", and states that it depends on the C source file "my_plugin.c". (Any time the C file changes, "make" will know to recompile it and produce an updated ".so" file. If the C file hadn't changed, it won't bother recompiling.)
+
+
+ The last line defines the command "make" should run when it determines that it needs to (re)compile the ".so" file. Here, we're using "gcc", with "-shared and "$(CFLAGS)" command-line arguments, like above. "-o my_plugin.so" tells the C compiler that the output file should be "my_plugin.so". The last argument is the C file to compile, in this case "my_plugin.c".
+
+
+ Note: Commands listed below a Makefile target should be intented using a single tab character.
+
+
+
+
+
+ Advanced Makefile
+
+
+
+ An even more generalized Makefile might look like this:
+ As before, there are lines that define the command "make" should run when it determines that it needs to (re)compile the ".so" file(s). However, more general terms are used...
+
+
+ "$(CC)" gets expanded to your default C compiler (e.g., "gcc"). "-shared" and "$(CFLAGS)" are command-line arguments to the compiler, like above. "-o $@" tells the C compiler what the output file should be; "make" replaces "$@" with the name of the target, in this case "my_plugin_1.so" or "my_plugin_2.so". And finally, the last argument is the C file to compile; "make" replaces "$<" with the target's dependency, in this case "my_plugin_1.c" or "my_plugin_2.c".
+
+
+
+
+
+
+ Windows
+
+
+
TBD
+
+
+
+
+
+ macOS
+
+
+
TBD
+
+
+
+
+
+
+
+ Installing
+
+
+
+
+
+ Linux and other Unix-like Platforms
+
+
+
+ Use the "tp-magic-config" command-line tool, supplied as part of Tux Paint — or in some cases, as part of a "Tux Paint 'Magic' Tool Plugin Development package" — to determine where your plugins' files should go.
+
+
+
+
+ Delat objekt
+
+
+
+ Use "tp-magic-config --pluginprefix" to determine where the plugin shared object (".so") files should be installed. The value returned by this command will be the global location where the installed copy of Tux Paint looks for plugins (e.g., "/usr/lib/tuxpaint/plugins").
+
+
+ Alternatively, you may use "tp-magic-config --localpluginprefix" to find out where Tux Paint expects to find local plugins for the current user (e.g., "/home/username/.tuxpaint/plugins").
+
+
+ As stand-alone commands, using the BASH shell, for example:
+
+ Use the "tp-magic-config --plugindocprefix" command to determine where documentation for your "Magic" tools should go. The value returned by this command will be the location where the documentation to the installed copy of Tux Paint is stored. The main documentation includes a link to a folder where "Magic" tools' documentation is expected to be installed
(e.g., "/usr/share/doc/tuxpaint/magic-docs").
+
+
+ Note: It's best to include both HTML and plain-text versions of your documentation. An "html" subdirectory exists within the "magic-docs" directory, and is where the HTML versions should go.
+
+
+ As stand-alone commands, using the BASH shell, for example:
+ Note: Currently, there is no "--localplugindocprefix" option.
+
+
+
+
+
+ Icons, Sounds and other Data Files
+
+
+
+ Use the "tp-magic-config --dataprefix" command, supplied as part of Tux Paint, to determine where data files (PNG icon, Ogg Vorbis sound effects, etc.) should be installed. The value returned by this command will be the same as the value of the "data_directory" string stored within the "magic_api" structure that your plugin's functions receive (e.g., "/usr/share/tuxpaint/").
+
+
+ For locally-installed plugins (for the current user only), use "tp-magic-config --localdataprefix". It will return the value of "data_directory" string that locally-installed plugins will see within their "magic_api" structure (e.g., "/home/username/.tuxpaint/plugins/data/").
+
+
+ Note: Tux Paint's default Magic tool plugins install their data within "magic" subdirectories of Tux Paint's "images" and "sounds" data directories (e.g., "/usr/share/tuxpaint/images/magic/"). You are encouraged to do the same.
+
+
+ As stand-alone commands, using the BASH shell, for example:
+ The first three lines set up Makefile variables that contain the paths returned by the "tp-magic-config" command-line tool. (The "$(shell ...)" directive is similar to the ` ("grave") character in the BASH shell examples, above.)
+
+
+ Below that is an "install" target in the Makefile. (Invoked by, for example, "$ sudo make install" or "# make install".)
+
+
+ The "install" target uses "mkdir -p" to make sure that the plugin directory exists, then uses "cp" to copy all plugin (".so") files into it, and invokes "chmod" to make sure they are readable.
+
+
+ It then does a similar series of commands to install icon files (".png" images) and sound effects (".ogg" files) into subdirectories within Tux Paint's data directory, and to install documentation (".html" and ".txt" files) within Tux Paint's documentation directory.
+
+
+ Note: The above Makefile example assumes the user will have priveleges to install Tux Paint plugins system-wide.
+
+
+
+
+
+
+ Windows
+
+
+
TBD
+
+
+
+
+
+ macOS
+
+
+
TBD
+
+
+
+
+
+
+
+ Creating plugins with multiple effects
+
+
+
+ Plugins for Tux Paint may contain more than one effect. If you have multiple effects that are similar, it may make sense to place them in one plugin file, to reduce overhead and share code.
+
+
+ These following suggestions can help you create plugins that contain multiple effects:
+
+
+ Use a C "enum" to enumerate the effects, and count them.
+ Return the value of "NUM_TOOLS" when "get_tool_count()" is called, and compare "which" values sent to other functions with the other enumerated values.
+
+
+ Create arrays of "NUM_TOOLS" length to contain effect-specific data.
+ Use a C "for"-loop to load or create the effect-specific data (such as loading sound effects during your "init()").
+ int i;
+ char fname[1024];
+
+ for (i = 0; i < NUM_TOOLS; i++)
+ {
+ /* Becomes, for example, "/usr/share/tuxpaint/sounds/magic/one.ogg" */
+
+ snprintf(fname, sizeof(fname), "%s/sounds/magic/%s",
+ api->data_prefix, my_plugin_snd_filenames[i]);
+
+ my_plugin_snds[i] = Mix_LoadWAV(fname);
+ }
+
+
+
+
+ Similarly, do the same to free them later (such as freeing sound effects during your "shutdown()").
+ int i;
+
+ for (i = 0; i < NUM_TOOLS; i++)
+ Mix_FreeChunk(my_plugin_snds[i]);
+
+
+
+
+ Use "which" values sent to your functions as an index into those arrays (e.g., for playing the appropriate sound effect for a tool).
+
+
+
+
+ Note: Even if your plugin currently contains only one effect, it may be useful to follow the steps above so that you can add a new variation of an effect with little effort. ("NUM_TOOLS" will simply be '1', your arrays will be of length '1', etc.)
+
+
+
+
+
+
+
+ Example Code
+
+
+
+ The C source file "tp_magic_example.c" contains a complete example of a plugin with multiple simple effects.
+
+ Additionally, other Tux Paint developers and users can be found on the "tuxpaint-devel" and "tuxpaint-users" mailing lists: https://tuxpaint.org/lists/.
+
+
+
+
+
+
+
+ Ordlista
+
+
+
+
&
+
+ See "ampersand"
+
*
+
+ See "star"
+
->
+
+ See "pil"
+
.
+
+ See "dot"
+
`
+
+ See "grave"
+
alpha
+
+ See "RGBA"
+
ampersand (bitwise operator)
+
+ "&". A symbol in C that acts as a bitwise "and" operator. Only bits set in both values will be returned. For example, "11 & 6" compares the binary values '1011' to '0110'. Only the bit in the 2's place is set, so the result is 2 ('0010').
+See also: "bit"
+
ampersand (pointers)
+
+ "&". A symbol in C that allows you to refer to the memory address of a variable; that is, a pointer. (For example, consider "int i;". Later, "&i" refers to the memory where "i" is stored, not the value of "i" itself; it is a 'pointer to "i"'.)
+See also: "star"
+
API
+
+ Application Programming Interface. Definitionen har ännu inte presenterats.
+
argument
+
+ A value sent to a function.
+
backquote / backtick
+
+ See "grave"
+
BASH
+
+ The "Bourne Again Shell", a Unix shell and command language.
+
bit
+
+ "Binary digit." Bits are the basic storage unit in a computer's memory, disk, networking, etc. They represent either 0 or 1. (Compared to a decimal digit, which can be anything between 0 and 9.) Just as a series of decimal digits can represent a larger number (e.g., "1" and "5" is fifteen (15)), so can bits (e.g., "1" and "0", is two). In decimal, we go from right to left: ones place, tens place, hundreds place, thousands place, etc. In binary, it is: ones place, twos place, fours place, eights place, etc.
+See also: "byte"
+
blå
+
+ See "RGBA"
+
boolean 'or'
+
+ A mathematical operation that results in a true value if either operand is true. ("1 | 0", "0 | 1" and "1 | 1" all result in "1". "0 | 0" results in "0".)
+See also: "bit"
+
byte
+
+ A unit of memory made up of 8 bits. As a signed value, it can represent -128 through 127. As an unsigned value, it can represent 0 through 255. As a series of bits, for example, the byte "00001100" represents the decimal value 12.
+See also: "bit"
+
C enumeration
+
+ A construct in C that allows you to label numeric values (usually starting at 0 and incrementing by one). (e.g., "enum { ONE, TWO, THREE };"
+
C function / C function prototype / C header file
+
+ Definitionen har ännu inte presenterats.
+See also: "C function prototype"
+
C pointer
+
+ A variable that contains the location of a piece of memory; usually used to 'point' to another variable. Since C functions can only return one value as a result, pointers are often sent to functions to allow the function to change the values of multiple variables. (For example, Tux Paint's "rgbtohsv()" and "hsvtorgb()".)
+
C structure
+
+ A construct in C that allows you to declare a new variable 'type' which may contain other types within. For example, SDL's "SDL_Rect" contains four integer values, the coordinates of the rectangle (X,Y), and its dimensions (width and height).
+
callback / channel
+
+ Definitionen har ännu inte presenterats.
+
click
+
+ The action of pressing a button on a mouse, tapping a touchscreen, or pressing a stylus to a tablet.
+See also:
+
+
drag
release
+
+
colorspace
+
+ Definitionen har ännu inte presenterats.
+See also:
+
+
RGBA
HSV
+
+
#define
+
+ A C statement that defines a substitution that can occur later in the code. Generally used for constant values (e.g., "#define RADIUS 16"; all instances of "RADIUS" will be replaced with "16"), but can also be used to create macros. Typically placed within C header files.
+
delat objekt
+
+ A piece of code that's compiled separately from the main application, and loaded dynamically, at runtime.
+
dimensioner
+
+ The size of an object, in terms of its width (left to right) and height (top to bottom).
+
.dll
+
+ See "Shared Object"
+
dot
+
+ ".". A symbol in C that references an element within a struct.
+See also:
+
+
C structure
pil
+
+
drag
+
+ The action of moving a mouse while the button remains held, or moving a finger or stylus across a screen or tablet, without removing it.
+See also:
+
+
click
release
+
+
element
+
+ A variable stored within a C structure. (Example: "w" and "h" elements of SDL_Surface store the surface's width and height, respectively.)
+See also:
+
+
C structure
dot
pil
+
+
enum
+
+ See "C enumeration"
+
float
+
+ See "floating point"
+
floating point
+
+ Definitionen har ännu inte presenterats.
+See also: "integer"
+
format
+
+ An SDL_Surface element (a pointer to an SDL_PixelFormat structure) that contains information about a surface; for example, the number of bits used to represent each pixel). Refer to the "SDL_PixelFormat(3)" man page.
+
free()
+
+ A C function that frees (deallocates) memory allocated by other C functions (such as "strdup()"). Refer to the "malloc(3)" man page.
+
function
+
+ See "C function"
+
gcc
+
+ See "GNU C Compiler"
+
GIMP
+
+ GNU Image Manipulation Program, an Open Source image manipulation and paint program.
+See also: "Krita"
+
GNU C Compiler
+
+ The GNU C compiler, a portable Open Source package for compiling and linking programs written in the C programming language. Refer to the "gcc(1)" man page.
+
grave
+
+ The "`" character; used by the BASH shell to use the output of a command as the command-line arguments to another.
+
grön
+
+ See "RGBA"
+
.h / header / header file
+
+ See "C header file"
+
HSV
+
+ Hue, Saturation and Value.Definitionen har ännu inte presenterats.
+See also:
+
+
RGBA
colorspace
+
+
IMG_Load()
+
+ An SDL_image function that loads an image file (e.g., a PNG) and returns it as an "SDL_Surface *".
+
#include
+
+ A C statement that asks the compiler to read the contents of another file (usually a header file).
+
instick
+
+ Definitionen har ännu inte presenterats.
+
int
+
+ See "integer"
+
integer
+
+ Definitionen har ännu inte presenterats.
+See also: "floating point"
+
koordinater
+
+ A set of numbers corresponding to a physical position; for example, in a two-dimensional (2D) image, "X" and "Y" coordinates specify the position across (left-to-right) and down the image, respectively. In SDL, the coordinates (0,0) is the top-leftmost pixel of a surface.
+
Krita
+
+ An Open Source image manipulation and paint program.
+See also: "GIMP"
+
libSDL
+
+ See "Simple DirectMedia Layer"
+
linear
+
+ Definitionen har ännu inte presenterats.
+
Magic tool
+
+ One of a number of effects or drawing tools in Tux Paint, made available via the "Magic" tool button.
+
magic_api
+
+ A C structure that is passed along to a plugin's functions that exposes data and functions within the running copy of Tux Paint.
+
make
+
+ A utility that automatically determines which pieces of a larger program need to be recompiled, and issues the commands to recompile them.
+See also: "Makefile"
+
Makefile
+
+ A text file used by the "make" utility; it describes the relationships among files in your program, and the commands for updating each file. (For example, to compile a human-readable source-code file into a computer-readable executable program file.)
+
makro
+
+ A C construct that looks similar to a C function, but is simply a #define that is expanded 'inline'. For example, if you declared the macro "#define ADD(A,B) ((A)+(B))", and then used it with "c = ADD(1,2);", that line of code would literally expand to "c = ((1) + (2));", or more simply, "c = 1 + 2;".
+
Mix_Chunk *
+
+ (A pointer to) a C structure defined by SDL_mixer that contains a sound.
+
Mix_FreeChunk()
+
+ An SDL_mixer function that frees (deallocates) memory allocated for an SDL_mixer sound 'chunk' ("Mix_Chunk *").
+
Mix_LoadWAV()
+
+ An SDL_mixer function that loads a sound file (WAV, Ogg Vorbis, etc.) and returns it as a "Mix_Chunk *".
+
namespace
+
+ Definitionen har ännu inte presenterats.
+
nyans
+
+ See "HSV"
+
.ogg
+
+ See "Ogg Vorbis"
+
Ogg Vorbis
+
+ Definitionen har ännu inte presenterats.
+See also: "WAVE"
+
pil
+
+ "->". A symbol in C that references an element within a pointer to a struct.
+
.png
+
+ See "Portable Network Graphics"
+
pointer
+
+ See "C pointer"
+
Portable Network Graphics
+
+ Portable Network Graphics. An extensible file format for the lossless, portable, well-compressed storage of raster images. It's the file format Tux Paint uses to save images, and for its brushes and stamps. It's an easy way to store 32bpp RGBA images (24bpp true color with full 8bpp alpha transparency), excellent for use in graphics programs like Tux Paint. Refer to the "png(5)" man page.
+See also: "Scalable Vector Graphic"
+
prototyp
+
+ See "C function prototype"
+
red
+
+ See "RGBA"
+
release
+
+ The action of releasing a mouse button, or removing a finger or stylus from a screen or tablet.
+See also:
+
+
click
drag
+
+
RGB
+
+ See "RGBA"
+
RGBA
+
+ Red, Green, Blue, and Alpha.Definitionen har ännu inte presenterats.
+See also:
+
+
HSV
colorspace
+
+
saturation
+
+ See "HSV"
+
SDL
+
+ See "Simple DirectMedia Layer"
+
SDL_FreeSurface()
+
+ A libSDL function that frees (deallocates) memory allocated for an SDL surface ("SDL_Surface *").
+
SDL_GetRGB()
+
+ A libSDL function that, given a Uint32 pixel value (e.g., one returned from the Tux Paint's Magic tool API helper function "getpixel()"), the format of the surface the pixel was taken from, and pointers to three Uint8 variables, will place the Red, Green and Blue (RGB) values of the pixel into the three Uint8 variables. (Example: "SDL_GetRGB(getpixel(surf, x, y), surf->format, &r, &g, &b);".) Refer to the "SDL_GetRGB(3)" man page.
+See also:
+
+
SDL_MapRGB()
RGBA
+
+
SDL_image
+
+ A library on top of libSDL that can load various kinds of image files (e.g., PNG) and return them as an "SDL_Surface *".
+
SDL_MapRGB()
+
+ A libSDL function that, given the format of a surface and Uint8 values representing Red, Green and Blue values for a pixel, returns a Uint32 pixel value that can be placed in the surface (e.g., using Tux Paint's Magic tool API helper function "putpixel()"). (Example: "putpixel(surf, x, y, SDL_MapRGB(surf->format, r, g, b));".) Refer to the "SDL_MapRGB(3)" man page.
+See also:
+
+
SDL_GetRGB()
RGBA
+
+
SDL_mixer
+
+ A library on top of libSDL that can load various kinds of sound files (WAV, Ogg Vorbis, etc.) and play back multiple sounds at once (mix them).
+
SDL_Rect
+
+ A C structure defined by libSDL that represents a rectangular area. It contains elements representing the coordinates of the top left corner of the rectange (x,y) and the dimensions of the rectangle (w,h). Refer to the "SDL_Rect(3)" man page.
+
SDL_Surface *
+
+ (A pointer to) a C structure defined by libSDL that contains a drawing surface. Refer to the "SDL_Surface(3)" man page.
+
Simple DirectMedia Layer
+
+ The Simple DirectMedia Layer (libSDL) is a programming library that provides portable low-level access to a video framebuffer, audio output, and mouse and keyboard input. (See: http://www.libsdl.org/)
+
skal
+
+ See "BASH"
+
snprintf()
+
+ A C function, related to "printf()", which takes a 'format' string and one or more additional arguments, and puts them together. "snprintf()" takes the resulting output and stores it into a string, making sure not to go beyond the string's buffer size (which must also be supplied). For example, assume a string "char str[20];" has been declared; "snprintf(str, 20, "Name: %s, Age: %d", "Bill", 32);" will store "Name: Bill, Age: 32" into 'str'. Refer to the "sprintf(3)" man page.
+
.so
+
+ See "delat objekt"
+
sRGB
+
+ See "RGBA"
+
star
+
+ "*". A symbol in C that, when used in the declaration of variables (e.g., arguments to a function), denotes that the variable is a pointer. (For example, "int * p;" means that "p" is a pointer to an integer.) When used next to a pointer, it 'dereferences' the variable. (For example, later "*p = 50;" assigns the value of 50 to the memory that "p" points to; it does not change the value of "p", which is still a pointer to an integer. In essence, it changed the integer that's being pointed to.)
+See also: "ampersand"
+
strdup()
+
+ A C function that allocates enough memory to store a copy of a string, copies the string to it, and returns a "char *" pointer to the new copy. Refer to the "strdup(3)" man page.
+
struct
+
+ See "C structure"
+
tap
+
+ See "click"
+
tp-magic-config
+
+ A command-line program that provides information about the installed version of Tux Paint to plugin developers (such as what C compiler flags they should compile with, and where plugin shared objects and data files should be installed). Refer to the "tp-magic-config(3)" man page.
+
tp_magic_api.h
+
+ A header file that defines Tux Paint's Magic tool API. Plugins must '#include' it.
+
Uint32
+
+ A 32-bit, unsigned integer (defined by libSDL). In other words, four bytes that can represent 0 through 4,294,967,295. (Typically used to hold enough information to store three or four bytes representing a pixel's color; i.e., RBGA value).
+See also:
+
+
Uint8
integer
unsigned
+
+
Uint8
+
+ An 8-bit, unsigned integer (defined by libSDL). In other words, a byte that can represent 0 through 255.
+See also:
+
+
Uint32
integer
unsigned
+
+
unsigned
+
+ In C, a variable that can store a numeric value can be declared as either "signed" (the default), or "unsigned". In the former case, one bit of the value is used to denote the sign of the value (either positive or negative). In the latter case, the value can only be positive, but benefits from one extra bit of storage for the number. A signed byte (8 bits), for example, can represent any number between -128 and 127. An unsigned byte can go up to 255, but it cannot go below 0. For the purposes of graphics in SDL, unsigned values should be used for RGB values, since each channel (red, green and blue) may be between 0 (off) and 255 (brightest).
+See also:
+
+
Uint8
Uint32
integer
+
+
variable
+
+ A construct in computer programming that contains a value which can be referenced again later by referring to the variable's name, and typically changed later. For example, a variable to hold someone's age could be declared as an integer: "int age;". It can be examined later — e.g., "if (age >= 18) { /* they are an adult */ } else { /* they are not an adult */ }" — as well as modified later — e.g., age = 32; /* set age to 32 */
+
värde
+
+ See "HSV"
+
(w,h)
+
+ See "dimensioner"
+
.wav
+
+ See "WAVE"
+
WAVE
+
+ Waveform Audio File Format (WAVE, or WAV). Definitionen har ännu inte presenterats.
+See also: "Ogg Vorbis"
+ A graphical tool is available that allows you to change Tux Paint's behavior. However, if you'd rather not install and use this tool, or want a better understanding of the available options, please continue reading.
+
+
+
+
+
+
+
+ Configuration File
+
+
+
+ You can create a simple configuration file for Tux Paint, which it will read each time you start it up.
+
+
+
+ The file is simply a plain text file containing the options you want enabled:
+
+
+
+
+
+ Linux- och Unix-användare
+
+
+
+ /home/användarnamn/.tuxpaintrc
+
+
+
+
+
+ System-Wide Configuration File
+
+
+
+ Before this file is read, a system-wide configuration file is read. (By default, this configuration has no settings enabled.) It is normally located at:
+ Before this file is read, a system-wide configuration file is read. (By default, this configuration has no settings enabled.) It is normally located at:
+ You can use NotePad or WordPad to create this file. Be sure to save it as Plain Text, and make sure the filename doesn't have ".txt" at the end...
+
+
+
+
+ System-Wide Configuration File
+
+
+
+ Before this file is read, a system-wide configuration file is read. (By default, this configuration has no settings enabled.) It is normally located at:
+ ⚙ You can disable reading of this file altogether, leaving the settings as defaults (which can then be overridden by your personal config. file and/or command-line arguments) by using the command-line option "--nosysconfig".
+
+
+
+
+
+
+ Available Options
+
+
+
+ The following settings can be set in the configuration file. (Command-line settings will override these. See the "Command-Line Options" section, below.)
+
+
+
+
Video/Sound
+
+
+
+
+
Video
+
+
+
+
+ fullscreen=yes
+
+
+
+
+ Run the program in full screen mode, rather than in a window.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "fullscreen=no". In both cases, may be overridden by the command-line option "--windowed".
+
+
+
+ fullscreen=native
+
+
+
+
+ Run the program in full screen mode. Additionally, assume the screen's current resolution (set by the operating system).
+
+
+
+ windowsize=SIZE
+
+
+
+
+ Run the program at a different size (in windowed mode) or at a different screen resolution (in fullscreen mode), rather than the default (usually 800x600).
+
+
+ The SIZE value should be presented in pixels, in 'width-by-height' format, with an "x" (lowercase X) between the values. The size can be anything that's at least 640 wide, and at least 480 tall.
+
+
+ Några exempel:
+
+
+
640x480
+
+
+
1024x768
+
+
+
768x1024
+
+
+
1600x1200
+
+
+
+
+ 💡 If only one display is available, and Tux Paint is being run in windowed (not fullscreen) mode, and the chosen window size exceeds the capabilities of the display, Tux Paint will fall back to the display's dimensions.
+
+
+
+ orient=portrait
+
+
+
+
+ Swaps the width/height options given to Tux Paint, useful for rotating the window on portait displays, such as a tablet PC that's in tablet orientation.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "orient=landscape". In both cases, may be overridden by the command-line option "--orient=landscape".
+
+
+
+ native=yes
+
+
+
+
+ When running Tux Paint in fullscreen mode, this assumes the screen's current resolution (overriding any "windowsize" option), as set by the operating system.
+
+
+
+ allowscreensaver=yes
+
+
+
+
+ By default, Tux Paint prevents your system's screensaver from starting up. You can override this by using the "allowscreensaver" option. (You can also do this by setting the "SDL_VIDEO_ALLOW_SCREENSAVER" environment variable on your system to "1".)
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "allowscreensaver=no" or "disablescreensaver=yes". In both cases, may be overridden by the command-line option "--disablescreensaver".
+
+
+
+
+
+
+
Ljud
+
+
+
+
+ nosound=yes
+
+
+
+
+ Disable sound effects. (Note: Pressing [Alt] + [S] cannot be used to reenable sounds if they were disabled using this option.)
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nosound=no" or "sound=yes". In both cases, may be overridden by the command-line option "--sound".
+
+
+
+ nostereo=yes
+
+
+
+
+ Disable stereo panning support. (Useful for users with hearing impairment in one ear, or places where a single speaker or headphone is being used.)
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nostereo=no" or "stereo=yes". In both cases, may be overridden by the command-line option "--stereo".
+
+
+
+
+
+
+
Interface Size
+
+
+
+
+ buttonsize=SIZE
+
+
+
+
+ Set the pixel size of buttons in Tux Paint's user interface (overriding the default of "48"). Useful when using very high-density displays or coarse input devices, such as eye gaze trackers.
+
+
+ The SIZE value should be presented in pixels, and can be anything between 24 and 192, inclusive. Most buttons are square, and this will affect their width and height.
+
+
+ A value of "auto" may be provided, and Tux Paint will choose a suitable button size based on the size of Tux Paint's window (or fullscreen display). (For the default screen size of 800x600, it will be the default button size: "48".)
+
+
+ 💡Note: If the chosen button size would cause the buttons to be too large for all required UI elements to appear under Tux Paint's chosen window size, the largest possible button size will be used. (A note will appear in stderr.)
+
+
+
+ colorsrows=ROWS
+
+
+
+
+ How many rows of color palette buttons to show; useful when using a large color palette (see "colorfile", above), and/or for use with coarse input devices (like eyegaze trackers). "ROWS" may be between "1" (the default) and "3".
+
+
+
+
+
+
Mouse/Keyboard
+
+
+
+
+
Markör
+
+
+
+
+ nofancycursors=yes
+
+
+
+
+ This disables the fancy mouse pointer shapes in Tux Paint, and uses your environment's normal mouse pointer.
+
+
+ In some enviornments, the fancy cursors cause problems. Use this option to avoid them.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nofancycursors=no" or "fancycursors=yes". In both cases, may be overridden by the command-line option "--fancycursors".
+
+
+
+ hidecursor=yes
+
+
+
+
+ This completely hides the mouse pointer shapes in Tux Paint.
+
+
+ This is useful for touchscreen devices, such as tablet PCs.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "hidecursor=no" or "showcursor=yes". In both cases, may be overridden by the command-line option "--showcursor".
+
+
+
+
+
+
+
Keyboard
+
+
+
+
+ noshortcuts=yes
+
+
+
+
+ This disable keyboard shortcuts (e.g., [Ctrl]-[S] for save, [Ctrl]-[N] for a new image, etc.)
+
+
+ This is useful to prevent unwanted commands from being activated by children who aren't experienced with keyboards.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "noshortcuts=no" or "shortcuts=yes". In both cases, may be overridden by the command-line option "--shortcuts".
+
+
+
+
+
+
+
Mus
+
+
+
+
+ grab=yes
+
+
+
+
+ Tux Paint will attempt to 'grab' the mouse and keyboard, so that the mouse is confined to Tux Paint's window, and nearly all keyboard input is passed directly to it.
+
+
+ This is useful to disable operating system actions that could get the user out of Tux Paint [Alt]-[Tab] window cycling, [Ctrl]-[Escape], etc. This is especially useful in fullscreen mode.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "grab=no" or "dontgrab=yes". In both cases, may be overridden by the command-line option "--dontgrab".
+
+
+
+ nowheelmouse=yes
+
+
+
+
+ This disables support for the wheel on mice that have it. (Normally, the wheel will scroll the selector menu on the right.)
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nowheelmouse=no" or "wheelmouse=yes". In both cases, may be overridden by the command-line option "--wheelmouse".
+
+
+
+ nobuttondistinction=yes
+
+
+
+
+ For children who have trouble with the mouse, this distinction between the two or three buttons on a mouse may be disabled by using this option.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nobuttondistinction=no" or "buttondistinction=yes". In both cases, may be overridden by the command-line option "--buttondistinction".
+
+
+
+
+
+
Simplification
+
+
+
+
+
Interface Simplification
+
+
+
+
+ simpleshapes=yes
+
+
+
+
+ Disable the rotation step of the 'Shape' tool. Click, drag and release is all that will be needed to draw a shape.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "simpleshapes=no" or "complexshapes=yes". In both cases, may be overridden by the command-line option "--complexshapes".
+
+
+
+ nooutlines=yes
+
+
+
+
+ In this mode, much simpler outlines and 'rubber-band' lines are displayed when using the Lines, Shapes, Stamps and Eraser tools.
+
+
+ This can help when Tux Paint is run on very slow computers, or displayed on a remote X-Window display.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nooutlines=no" or "outlines=yes". In both cases, may be overridden by the command-line option "--outlines".
+
+
+
+ uppercase=yes
+
+
+
+
+ All text will be rendered only in uppercase (e.g., "Brush" will be "BRUSH"). Useful for children who can read, but who have only learned uppercase letters so far.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "uppercase=no" or "mixedcase=yes". In both cases, may be overridden by the command-line option "--mixedcase".
+
+
+
+
+
+
+
Initial Stamp Size
+
+
+
+
+ stampsize=SIZE
+
+
+
+
+ Use this option to force Tux Paint to set the starting size of all stamps. The SIZE value should be between 0 (smallest) and 10 (largest). The size is relative to the available sizes of the stamp, which depends on the stamp itself, and Tux Paint's current canvas size.
+
+
+ Specify "default" to let Tux Paint decide (its standard behavior).
+
+
+
+
+
+
+
Control Simplification
+
+
+
+
+ noquit=yes
+
+
+
+
+ Disable the on-screen "Quit" button and prevent the [Escape] key from quitting Tux Paint.
+
+
+ Using the [Alt] + [F4] keyboard combination or clicking the window's close button (assuming you're not in fullscreen mode) still works to quit Tux Paint.
+
+
+ You can also use the following keyboard combination to quit: [Shift] + [Kontroll] + [Escape].
+
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "noquit=no" or "quit=yes". In both cases, may be overridden by the command-line option "--quit".
+
+
+
+ nostamps=yes
+
+
+
+
+ This option tells Tux Paint to not load any rubber stamp images, which in turn ends up disabling the Stamps tool.
+
+
+ This can speed up Tux Paint when it first loads up, and reduce memory usage while it's running. Of course, no stamps will be available at all.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nostamps=no" or "stamps=yes". In both cases, may be overridden by the command-line option "--stamps".
+
+
+
+ nostampcontrols=yes
+
+
+
+
+ Some images in the Stamps tool can be mirrored, flipped, and/or have their size changed. This option disables the controls, and only provides the basic stamps.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nostampcontrols=no" or "stampcontrols=yes". In both cases, may be overridden by the command-line option "--stampcontrols".
+
+
+
+ nostamprotation=yes
+
+
+
+
+ This disables the rotation step of the Stamps tool, immediately placing the stamp in its regular orientation (with any flipping or mirroring applied) on the first click.
+
+ 📜Note: The stamp rotation feature was added to Tux Paint in version 0.9.29.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nostamprotation=no" or "stamprotation=yes". In both cases, may be overridden by the command-line option "--stamprotation".
+
+
+
+ nomagiccontrols=yes
+
+
+
+
+ Some Magic tools have the option of acting like a paintbrush, or affecting the entire canvas at once. This option disables the controls, and only provides the default functionality (usually paint-mode).
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nomagiccontrols=no" or "magiccontrols=yes". In both cases, may be overridden by the command-line option "--magiccontrols".
+
+
+
+ nomagicsizes=yes
+
+
+
+
+ Some Magic tools offer various size settings. This option disables the sizing control, and only provides the tools' default sizes. (Some plugins may offer additional variations of a Magic tool, to make a few sizes possible, e.g. "Bricks" and "Googly Eyes".)
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nomagicsizes=no" or "magicsizes=yes". In both cases, may be overridden by the command-line option "--magicsizes".
+
+
+
+ ungroupmagictools=yes
+
+
+
+
+ By default, the Magic tools in Tux Paint are organized into groups of similar tools (e.g., all of the color, saturation, darken/lighten tools together). This option removes the grouping, and places all of the tools in one long list.
+
+ 📜Note: Magic tool groups were added in Tux Paint 0.9.27. The option to disable grouping was added to Tux Paint in version 0.9.33.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "ungroupmagictools=no" or "groupmagictools=yes". In both cases, may be overridden by the command-line option "--groupmagictools".
+
+
+
+ noshapecontrols=yes
+
+
+
+
+ Disable the control buttons shown when using the Shapes tool that allow changing how shapes are drawn — centered around the initial mouse click, or with a corner at the initial mouse click.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "noshapecontrols=no" or "shapecontrols=yes". In both cases, may be overridden by the command-line option "--shapecontrols".
+
+
+
+ nolabel=yes
+
+
+
+
+ Disables the Label tool: the tool that allows text entry which can be edited later.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nolabel=no" or "label=yes". In both cases, may be overridden by the command-line option "--label".
+
+
+
+ nobrushspacing=yes
+
+
+
+
+ Disables the brush spacing option of the Paint and Lines tools. The brushes' default spacings will be used.
+
+ 📜Note: The brush spacing option was added to Tux Paint's user interface in version 0.9.28. For more information on brush spacing, see EXTENDING.html
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nobrushspacing=no" or "brushspacing=yes". In both cases, may be overridden by the command-line option "--brushspacing".
+
+
+
+ complexity=COMPLEXITY
+
+
+
+
+ Sets the complexity (expertise) level of Tux Paint, which can either disable some Magic tools, or cause them to operate differently. (For example, the "Clone" tool is not available in novice mode, and the 1-, 2-, and 3-point perspective tools do not allow vanishing points to be edited in beginner mode.)
+
+ The COMPLEXITY value may be one of:
+
advanced (the default)
+
"Advanced" — For users familiar with Tux Paint and who can operate more complex tools.
+
beginner
+
"Beginner" — For users comfortable with Tux Paint, but where complex tools may cause confusion or frustration.
+
novice
+
"Novice" — For first-time Tux Paint users, users inexperienced with computers, or those with special accessibility needs.
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "complexity=advanced". In both cases, may be overridden by the command-line option "--complexity=advanced".
+
+
+
+ notemplateexport=yes
+
+
+
+
+ Disables the ability to create a new Template image (based on a saved drawing) from within the Open dialog.
+
+ 📜Note: The Template creation feature was added to Tux Paint in version 0.9.31.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "notemplateexport=no" or "templateexport=yes". In both cases, may be overridden by the command-line option "--templateexport".
+
+
+
+ noerase=yes
+
+
+
+
+ Disables the ability to erase saved drawings via the "Erase" button on the Open dialog, or exported Template images (based on a saved drawing) via the "Erase" button on the New dialog. Useful to prevent users from erasing work, especially combined with the --saveovernew option.
+
+ 📜Note: This option was added to Tux Paint in version 0.9.31.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "noerase=no" or "erase=yes". In both cases, may be overridden by the command-line option "--erase".
+
+
+
+
+
+
Languages
+
+
+
+
+
Language
+
+
+
+
+ lang=LANGUAGE
+
+
+
+
+ Run Tux Paint in one of the supported languages. Possible choices for LANGUAGE currently include:
+ Run Tux Paint in one of the support languages. See the "Choosing a Different Language" section below for the locale strings (e.g., "de_DE" for German) to use.
+
+
+ (If your locale is already set, e.g. with the "$LANG" environment variable, this option is not necessary, since Tux Paint honors your environment's setting, if possible.)
+
+
+
+ mirrorstamps=yes
+
+
+
+
+ For stamps that can be mirrored, this option sets them to their mirrored shape by default.
+
+
+ This can be useful for people who prefer things right-to-left, rather than left-to-right.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "mirrorstamps=no" or "dontmirrorstamps=yes". In both cases, may be overridden by the command-line option "--dontmirrorstamps".
+
+
+
+
+
+
+
Fonts
+
+
+
+
+ sysfonts=yes
+
+
+
+
+ This option causes Tux Paint to attempt to load fonts (for use in the Text tool) from your operating system. Normally, Tux Paint will only load the ones that came bundled with Tux Paint.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "sysfonts=no" or "nosysfonts=yes". In both cases, may be overridden by the command-line option "--nosysfonts".
+
+
+
+ alllocalefonts=yes
+
+
+
+
+ Prior to version 0.9.21, Tux Paint loaded all fonts in its own fonts directory, including locale-specific ones (e.g., the one for Tibetan, which had no latin characters). As of 0.9.21, the only font loaded from the locale-specific subdirectory, if any, is one matching the locale Tux Paint is running on.
+
+
+ To load all locale-specific fonts (the old behavior), set this option.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "alllocalefonts=no" or "currentlocalefont=yes". In both cases, may be overridden by the command-line option "--currentlocalefont".
+
+
+
+ uifont=TYPSNITTSNAMN
+
+
+
+
+ This option causes Tux Paint to attempt to load fonts (for use in the Text tool) from your operating system. Normally, Tux Paint will only load the ones that came bundled with Tux Paint.
+
+
+ Specify "default" to let Tux Paint use its default font, "DejaVu Sans" (its standard behavior).
+
+
+
+
+
+
Printing
+
+
+
+
+
Print Permissions
+
+
+
+
+ noprint=yes
+
+
+
+
+ Disable the printing feature.
+
+
+
+ printdelay=SECONDS
+
+
+
+
+ Restrict printing so that printing can occur only once every SECONDS seconds.
+
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "printdelay=0". In both cases, may be overridden by the command-line option "--printdelay=0".
+
+
+
+
+
+
+
Show Printer Dialog
+
+
+
+
+ altprint=always
+
+
+
+
+ This causes Tux Paint to always show the printer dialog (or, on Linux/Unix, run the "altprintcommand") when the 'Print' button is clicked. In other words, it's like clicking 'Print' while holding [Alt], except you don't need to hold [Alt] every time.
+
+
+
+ altprint=never
+
+
+
+
+ This prevents Tux Paint from ever showing the printer dialog (or, on Linux/Unix, run the "altprintcommand") when the 'Print' button is clicked. In other words, it makes the [Alt] key have no effect when clicking the 'Print' button.
+
+
+
+ altprint=mod
+
+
+
+
+ This is the normal, default behavior. Tux Paint shows a printer dialog (or, on Linux/Unix, runs the "altprintcommand"), when the [Alt] key is pressed while the 'Print' button is clicked. Clicking 'Print' without holding [Alt] prints without showing a dialog.
+
+
+
+
+
+
+ Save Printer Configuration
+
+
+
+
+ printcfg=yes
+
+
+
+
+ (Endast Windows och macOS)
+
+
+
+ Tux Paint will use a printer configuration file when printing. Push the [Alt] key while clicking the 'Print' button in Tux Paint to cause a Windows print dialog window to appear.
+
+
+ Any configuration changes made in this dialog will be saved to the file "userdata/print.cfg" , and used again, as long as the "printcfg" option is set.
+
+
+ 💡Note: This only works when not running Tux Paint in fullscreen mode.
+
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "printcfg=no" or "noprintcfg=yes". In both cases, may be overridden by the command-line option "--noprintcfg".
+
+
+
+
+
+
+
+
Print Commands
+
+
+
+
+ printcommand=KOMMANDO
+
+
+
+
+ (Linux and Unix only)
+
+
+
+ Use the command KOMMANDO to print a PostScript format file when the 'Print' button is clicked. If this option is not specifically not set, the default command is:
+
+
+ lpr
+
+
+
+
+ altprintcommand=KOMMANDO
+
+
+
+
+ (Linux and Unix only)
+
+
+
+ Use the command KOMMANDO to print a PostScript format file when the 'Print' button is clicked while the [Alt] modifier key is being held. (This is typically used for providing a print dialog, similar to when pressing [Alt]+'Print' in Windows and macOS.)
+
+
+ If this option is not specifically not set, the default command is KDE's graphical print dialog:
+
+
+ kprinter
+
+
+
+
+
+
+
+
+
Pappersstorlek
+
+
+
+
+ papersize=PAPPERSSTORLEK
+
+
+
+
+ (Platforms that use Tux Paint's internal PostScript generator — not Windows, macOS, BeOS, or Haiku.)
+
+
+
+ Tell Tux Paint what size PostScript to generate. If none is specified, Tux Paint first checks your $PAPER environment variable, then the file /etc/papersize, then uses the the 'libpaper' library's default paper size.
+ This disables the "Save over the old version...?" prompt when saving an existing file. With this option, the older version will always be replaced by the new version, automatically.
+
+
+
+ saveover=new
+
+
+
+
+ This also disables the "Save over the old version...?" prompt when saving an existing file. This option, however, will always save a new file, rather than overwrite the older version.
+
+
+
+ saveover=ask
+
+
+
+
+ (This option is redundant, since this is the default.)
+ When saving an existing drawing, you will be first asked whether to save over the older version or not.
+
+
+
+
+
+
+
Starting Out
+
+
+
+
+ startblank=yes
+
+
+
+
+ This causes Tux Paint to display a blank canvas when it first starts up, rather than loading the last image that was being edited.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "startblank=no" or "startlast=yes". In both cases, may be overridden by the command-line option "--startlast".
+
+
+
+ newcolorslast=yes
+
+
+
+
+ Places the blank color options in the New dialog at the end, so that any Starters and/or Templates are shown first.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "newcolorslast=no" or "newcolorsfirst=yes". In both cases, may be overridden by the command-line option "--newcolorsfirst".
+
+
+
+
+
+
+
+
Save and Export Directories
+
+
+
+
+ savedir=KATALOG
+
+
+
+
+ Use this option to change where Tux Paint's "saved" directory/folder is located, which is where Tux Paint saves and opens pictures.
+
+
+ If you do not override it, the default location is:
+
+
+
Linux / Unix
+
+ Under a hidden directory in your home directory:
+ /home/användarnamn/.tuxpaint/saved/
+ 💡Note: When specifying a Windows drive (e.g., "H:\"), you must also specify a subdirectory.
+
+
+ 📜Note: Prior to version 0.9.18, Tux Paint would also use the setting or default for "savedir" as the place to search for personal data files (brushes, stamps, starters and fonts). As of version 0.9.18, they may be specified separately (see the "datadir" option, below).
+
+
+ Exempel: savedir=Z:\tuxpaint\
+
+
+
+ exportdir=KATALOG
+
+
+
+
+ Use this option to change where Tux Paint exports files — single images, or animated GIF slideshows — for external use.
+
+
+ If you do not override it, the default location is:
+
+
+
Linux & Unix — If available, wherever your desktop environment is configured for pictures to be stored, based on your XDG (X Desktop Group) configuration. (Try running the command-line "xdg-user-dir PICTURES" to find out.)
+ Typically (in an English locale), this will be a "Bilder" subdirectory in your home directory (i.e., "/home/användarnamn/Bilder").
+ Tux Paint will fall back to using that typical directory, if no XDG configuration can be read, or nothing is set for "XDG_PICTURES_DIR".
+
Windows - "My Pictures" directory for each user (normaly "C:\Users\användarnamn\My Pictures") You can directly open the folder as follows:
+
Press "[Windows]+[R]" key to open "Kör ..." dialogue.
+
Enter "Shell:My Pictures" in the text box and push [OK].
+
+
+
+
macOS — TBD!
+
+
+
+
+ 💡Note: When the defaults are used, a new "TuxPaint" subdirectory will be created and used. (e.g., "/home/användarnamn/Bilder/TuxPaint") When the "--exportdir" option is used, the exact path specified will be used (no "TuxPaint" subdirectory is created).
+
+ The directory itself (e.g., "/home/användarnamn/Bilder/TuxPaint") will be created, if it doesn't exist.
+
+ If the parent directory (e.g., "/home/användarnamn/Bilder") also does not exist, Tux Paint will attempt to create it as well (but not any directories higher than that).
+ This disables Tux Paint's ability to save files (and therefore disables the on-screen "Save" button). It can be used in situations where the program is only being used for fun, or in a test environment.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nosave=no" or "save=yes". In both cases, may be overridden by the command-line option "--save".
+
+
+
+ autosave=yes
+
+
+
+
+ This prevents Tux Paint from asking whether you want to save the current picture when quitting, and assumes you do.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "autosave=no" or "noautosave=yes". In both cases, may be overridden by the command-line option "--noautosave".
+
+
+
+ reversesort=yes
+
+
+
+
+ This reverses the sorting of the Open and Slideshow dialogs, placing the newest images at the top of the list.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "reversesort=no" or "noreversesort=yes". In both cases, may be overridden by the command-line option "--noreversesort".
+
+
+
+
+
+
+
Data
+
+
+
+
+
Låsfil
+
+
+
+
+ nolockfile=yes
+
+
+
+
+ By default, Tux Paint uses what's known as a 'lockfile' to prevent it from being launched more than once in 30 seconds. (This is to avoid accidentally running multiple copies; for example, by double-clicking a single-click launcher, or simply impatiently clicking the icon multiple times.)
+
+
+ To make Tux Paint ignore the lockfile, allowing it to run again, even if it was just launched less than 30 seconds ago, enable this setting in the configuration file, or run Tux Paint with the --nolockfile option on the command-line.
+
+
+ By default, the lockfile is stored in "~/.tuxpaint/" under Linux and Unix, and "userdata\" under Windows.
+
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "nolockfile=no" or "lockfile=yes". In both cases, may be overridden by the command-line option "--lockfile".
+
+
+
+
+
+
+
+
Data Directory
+
+
+
+
+ datadir=KATALOG
+
+
+
+
+ Use this option to change where Tux Paint looks for personal data files (brushes, stamps, starters, templates, and fonts specific to the current user).
+
+
+ Tux Paint will search for subdirectories/subfolders named "brushes", "stamps", "starters", "templates", and "fonts" under the specified data directory.
+
+
+ If you do not override it, the default location is:
+ 📜Note: Prior to version 0.9.18, Tux Paint would use the same setting or default as for "savedir" to search for data files. As of version 0.9.18, they may be specified separately.
+
+
+ 💡Note: When specifying a Windows drive (e.g., "H:\"), you must also specify a subdirectory.
+
+
+ Exempel: datadir=/home/johnny/tuxpaint-data/
+
+
+
+
+
+
+
+
Color Palette File
+
+
+
+
+ colorfile=FILNAMN
+
+
+
+
+ You may override Tux Paint's default color palette by creating a plain ASCII text file that describes the colors you want, and pointing to that file using the "colorfile" option.
+
+
+ The file should list one color per line. Colors are defined in terms of their Red, Green and Blue values, each from 0 (off) to 255 (brightest). (For more information, try Wikipedia's "RGB color model" article.)
+
+
+ Colors may be listed using three decimal numbers (e.g., "255 68 136") or a 6- or 3-digit-long hexadecimal 'triplet' (e.g., "#ff4488" or "#F48").
+
+
+ After the color definition (on the same line) you may enter text to describe the color. Tux will display this text when the color is clicked. (For example, "#FFF White as snow.")
+
+
+ As an example, you can see the default colors currently used in Tux Paint in: "default_colors.txt".
+
+
+ NOTES: You must separate decimal values with spaces, and begin hexadecimal values with a pound/number-sign character ("#"). In 3-digit hexadecimal, each digit is used for both the high and low halves of the byte, so "#FFF" is the same as "#FFFFFF", not "#F0F0F0".
+
+
+
+
+
+
Hjälpmedel
+
+
+
+
+
Mus
+
+
+
+
+ mouse-accessibility=yes
+
+
+
+
+ In this mode, instead of clicking, dragging and releasing (e.g., to draw), you click, move, and click again to end the motion.
+
+
+
+
+
+
+
Keyboard
+
+
+
+
+ keyboard=yes
+
+
+
+
+ This allows the keyboard arrow keys to be used to control the mouse pointer. (e.g., for mouseless environments, or handicapped/accessibility purposes)
+
+
+ Features:
+
+
+
Fine movement within canvas, or coarse movement if Shift is held.
[Space]/[5]: Click mouse (except when using "Text" or "Label" tools)
+
+
[Insert]/[F5]: Click mouse (always)
+
+
[F4] jump mouse between "Tools", "Colors" and canvas areas
+
+
If mouse is within "Tools" section on the left, or "Colors" section at the bottom:
+
[F7], [F8]: Move down/up between buttons, respectively (Tools section, only)
+
+
[F11], [F12]: Move to previous/next button, respectively
+
+
+
+
+
+
To click-and-drag, hold one of the 'click' keys (e.g., [Insert]), and use the movement keys (e.g., [Left]).
+ 💡Note: The "mouse accessibility" feature works with the keyboard mouse controls. With both options enabled, painting tools can be used to draw by pressing a 'click' key to start clicking, movement keys to move around (which will draw), and another 'click' key to end the click (stop drawing).
+
+
+
A regular mouse and/or joystick may still be used (so you can, e.g., move with the mouse, and click with the keyboard, or vice-versa)
+
+
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "keyboard=no" or "mouse=yes". In both cases, may be overridden by the command-line option "--mouse".
+
+
+
+
+
+
+
Onscreen Keyboard
+
+
+
+
+ onscreen-keyboard=yes
+
+
+
+
+ Presents a clickable on-screen keyboard when using the Text and Label tools.
+
+
+
+ onscreen-keyboard-layout=LAYOUTNAME
+
+
+
+
+ Selects the initial layout for the on-screen keyboard when using the Text and Label tools.
+ Note: Using this option implies automatically onscreen-keyboard=yes, so setting both is redundant.
+
+
+
+ onscreen-keyboard-disable-change=yes
+
+
+
+
+ Disables the possibility for changing the layout of the on-screen keyboard when using the Text and Label tools, useful for simplifying things for the small children.
+ Note: Using this option implies automatically onscreen-keyboard=yes, so setting both is redundant.
+
+ ⚙Note: If used in a system-wide configuration file, may be overridden by the user's configuration file using "onscreen-keyboard-disable-change=no". In both cases, may be overridden by the command-line option "--onscreen-keyboard-disable-change=no".
+
+
+
+
+
+
Joystick
+
+
+
+
+
Huvudenhet
+
+
+
+
+ joystick-dev=N
+
+
+
+
+ Specify which joystick device should be used by Tux Paint. Default value is 0 (the first joystick).
+
+
+
+ joystick-slowness=HASTIGHET
+
+
+
+
+ Sets a delay at each axis motion, allowing to slow the joystick. Allowed values are from 0 to 500. Default value is 15.
+
+
+
+ joystick-threshold=THRESHOLD
+
+
+
+
+ Sets the minimum level of axis motion to start moving the pointer. Allowed values are from 0 to 32766. Default value is 3200.
+
+
+
+ joystick-maxsteps=STEG
+
+
+
+
+ Sets the maximum pixels the pointer will move at once. Allowed values are from 1 to 7. Default value is 7.
+
+
+
+
+
+
+
+
Hat
+
+
+
+
+ joystick-hat-slowness=HASTIGHET
+
+
+
+
+ Sets a delay at each automatic motion, allowing to slow the speed of the hat. Allowed values are from 0 to 500. Default value is 15.
+
+
+
+ joystick-hat-timeout=MILLISEKUNDER
+
+
+
+
+ Sets the delay after wich the pointer will start moving automatically if the hat is keeped pushed. Allowed values are from 0 to 3000. Default value is 1000.
+
+
+
+
+
+
+
Buttons to Disable
+
+
+
+
+ joystick-buttons-ignore=BUTTON1,BUTTON2,...
+
+
+
+
+ A set of joystick button numbers, as seen by SDL, that should be ignored. Otherwise, unless they are used by one of the "joystick-btn-" options above, buttons will be seen as a mouse left-click.
+
+
+
+
+
+ Button Shortcuts
+
+
+
+
+ joystick-btn-escape=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be used to generate a escape event. Useful to dismiss dialogs and quit.
+
+
+
+ joystick-btn-brush=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to select the brush tool.
+
+
+
+ joystick-btn-stamp=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to select the stamp tool.
+
+
+
+ joystick-btn-lines=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to select the lines tool.
+
+
+
+ joystick-btn-shapes=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to select the shapes tool.
+
+
+
+ joystick-btn-text=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to select the text tool.
+
+
+
+ joystick-btn-label=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to select the label tool.
+
+
+
+ joystick-btn-fill=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to select the fill tool.
+
+
+
+ joystick-btn-magic=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to select the magic tool.
+
+
+
+ joystick-btn-undo=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to invoke the undo tool.
+
+
+
+ joystick-btn-redo=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to select redo tool.
+
+
+
+ joystick-btn-eraser=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to select eraser tool.
+
+
+
+ joystick-btn-new=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to launch the dialog for creating a new drawing.
+
+
+
+ joystick-btn-open=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to launch the dialog for opening an existing drawing.
+
+
+
+ joystick-btn-save=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to save the drawing.
+
+
+
+ joystick-btn-pgsetup=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to launch the page setup dialog for printing.
+
+
+
+ joystick-btn-print=BUTTON NUMBER
+
+
+
+
+ Selects the joystick button number, as seen by SDL, that will be a shortcut to print.
+
+
+
+
+
+
+
+
+
+ Overriding System Config. Options
+
+
+
+ If any of the above options are set in a system-wide configuration file (e.g. "/etc/tuxpaint/tuxpaint.conf" on Linux), you may override them in your own personal configuration file (e.g. "/home/användarnamn/.tuxpaintrc")
+
+
+ For true/false options, like "noprint" and "grab", you can simply say they equal 'no' in your personal configuration file:
+
+
+ noprint=no
+ uppercase=no
+
+
+
+ Or, you can use options similar to the command-line override options described below. For example:
+
+
+ print=yes
+ mixedcase=yes
+
+
+
+
+
+
+ Command-Line Options
+
+
+
+ Options may also be issued on the command-line when you go to launch Tux Paint.
+ These options can be used to override any settings made in the configuration file. (If the option isn't set in the configuration file(s), no overriding option is necessary.)
+
+
+
+ --nosysconfig
+
+
+
+
+ This prevents the system-wide configuration file (e.g. "/etc/tuxpaint/tuxpaint.conf" on Linux), from being read.
+
+
+ Only your own configuration file (e.g. "/home/användarnamn/.tuxpaintrc" on Linux) — if it exists — will be used.
+
+
+
+
+
+
+ Command-Line Informational Options
+
+
+
+ The following options display some informative text on the screen. Tux Paint doesn't actually start up and run afterwards, however.
+
+
+
+ --version
+ --verbose-version
+
+
+
+
+ Display the version number and date of the copy of Tux Paint you are running. The "--verbose-version" also lists what compile-time options were set. (See INSTALL and FAQ).
+
+
+
+ --copying
+
+
+
+
+ Show brief license information about copying Tux Paint.
+
+
+
+ --usage
+
+
+
+
+ Display the list of available command-line options.
+
+
+
+ --help
+
+
+
+
+ Display brief help on using Tux Paint.
+
+
+
+ --lang help
+
+
+
+
+ Display a list of available languages in Tux Paint.
+
+
+
+ --joystick-dev list
+
+
+
+
+ Display list of attached joysticks available to Tux Paint.
+
+
+
+
+
+
+
+
+ Choosing a Different Language
+
+
+
+ Tux Paint has been translated into a number of languages. To access the translations, you can use the "--lang" option on the command-line to set the language (e.g. "--lang spanish") or use the "lang=" setting in the configuration file (e.g., "lang=spanish").
+
+
+ Tux Paint also honors your environment's current locale. (You can override it on the command-line using the "--locale" option; see above.)
+
+
+ Use the option "--lang help" to list the language options available.
+
+
+
+
+ Available Languages
+
+
+
+
+
Lokalanpassningskod
+
Language (native name)
+
Language (English name)
+
Input Method Cycle Key Combination
+
+
+
+
C
+
+
English
+
+
+
+
ach_UG
+
Acoli
+
Acholi
+
+
+
+
af_ZA
+
+
Afrikaans
+
+
+
+
ak_GH
+
+
Akan
+
+
+
+
am_ET
+
+
Amharic
+
+
+
+
an_ES
+
+
Aragones
+
+
+
+
ar_SA
+
+
Arabic
+
+
+
+
as_IN
+
+
Assamese
+
+
+
+
ast_ES
+
+
Asturian
+
+
+
+
az_AZ
+
+
Azerbaijani
+
+
+
+
bm_ML
+
+
Bambara
+
+
+
+
bn_IN
+
+
Bengali
+
+
+
+
be_BY
+
Bielaruskaja
+
Belarusian
+
+
+
+
bg_BG
+
+
Bulgarian
+
+
+
+
bo_CN (*)
+
+
Tibetan
+
+
+
+
br_FR
+
Brezhoneg
+
Breton
+
+
+
+
brx_IN
+
+
Bodo
+
+
+
+
bs_BA
+
+
Bosnian
+
+
+
+
ca_ES
+
Català
+
Catalan
+
+
+
+
ca_ES@valencia
+
Valencia
+
Valencian
+
+
+
+
cgg_UG
+
Chiga
+
Kiga
+
+
+
+
cs_CZ
+
Cesky
+
Czech
+
+
+
+
cy_GB
+
Cymraeg
+
Welsh
+
+
+
+
da_DK
+
Dansk
+
Danish
+
+
+
+
de_DE
+
Deutsch
+
German
+
+
+
+
doi_IN
+
+
Dogri
+
+
+
+
et_EE
+
+
Estonian
+
+
+
+
el_GR (*)
+
+
Greek
+
+
+
+
en_AU
+
+
Australian English
+
+
+
+
en_CA
+
+
Canadian English
+
+
+
+
en_GB
+
+
British English
+
+
+
+
en_ZA
+
+
South African English
+
+
+
+
eo
+
+
Esperanto
+
+
+
+
es_ES
+
Español
+
Spanish
+
+
+
+
es_MX
+
Español-Mejicano
+
Mexican Spanish
+
+
+
+
eu_ES
+
Euskara
+
Basque
+
+
+
+
fa_IR
+
+
Persian
+
+
+
+
ff_SN
+
Fulah
+
Fula
+
+
+
+
fi_FI
+
Suomi
+
Finnish
+
+
+
+
fo_FO
+
+
Faroese
+
+
+
+
fr_FR
+
Français
+
French
+
+
+
+
ga_IE
+
Gàidhlig
+
Irish Gaelic
+
+
+
+
gd_GB
+
Ghaidhlig
+
Scottish Gaelic
+
+
+
+
gl_ES
+
Galego
+
Galician
+
+
+
+
gos_NL
+
Zudelk Veenkelonioals
+
Gronings
+
+
+
+
gu_IN
+
+
Gujarati
+
+
+
+
he_IL (*)
+
+
Hebrew
+
+
+
+
hi_IN (*)
+
+
Hindi
+
+
+
+
hr_HR
+
Hrvatski
+
Croatian
+
+
+
+
hu_HU
+
Magyar
+
Hungarian
+
+
+
+
hy_AM
+
Hayeren
+
Armenian
+
+
+
+
id_ID
+
Bahasa Indonesia
+
Indonesian
+
+
+
+
is_IS
+
Íslenska
+
Icelandic
+
+
+
+
it_IT
+
Italiano
+
Italian
+
+
+
+
iu_CA
+
+
Inuktitut
+
+
+
+
ja_JP (*)
+
+
Japanese
+
right [Alt] or left [Alt]
+
+
+
ka_GE
+
+
Georgian
+
+
+
+
kab
+
+
Kabyle
+
+
+
+
km_KH
+
+
Khmer
+
+
+
+
kn_IN
+
+
Kannada
+
+
+
+
ko_KR (*)
+
+
Korean
+
right [Alt] or left [Alt]
+
+
+
kok_IN
+
+
Konkani (Devanagari)
+
+
+
+
kok@roman
+
+
Konkani (Roman)
+
+
+
+
ks_IN@devanagari
+
+
Kashmiri (Devanagari)
+
+
+
+
ks_IN
+
+
Kashmiri (Perso-Arabic)
+
+
+
+
ku_TR
+
+
Kurdish
+
+
+
+
lb_LU
+
Letzebuergesch
+
Luxembourgish
+
+
+
+
lg_UG
+
+
Luganda
+
+
+
+
lt_LT
+
Lietuviu
+
Lithuanian
+
+
+
+
lv_LV
+
+
Latvian
+
+
+
+
mk_MK
+
+
Macedonian
+
+
+
+
mai_IN
+
+
Maithili
+
+
+
+
ml_IN
+
+
Malayalam
+
+
+
+
mn_MN
+
+
Mongolian
+
+
+
+
mni_IN
+
+
Manipuri (Bengali)
+
+
+
+
mni@meiteimayek
+
+
Manipuri (Meitei Mayek)
+
+
+
+
mr_IN
+
+
Marathi
+
+
+
+
ms_MY
+
+
Malay
+
+
+
+
nb_NO
+
Norsk (bokmål)
+
Norwegian Bokmål
+
+
+
+
ne_NP
+
Nepali
+
+
+
+
+
nl_NL
+
+
Dutch
+
+
+
+
nn_NO
+
Norsk (nynorsk)
+
Norwegian Nynorsk
+
+
+
+
nr_ZA
+
+
Ndebele
+
+
+
+
nso_ZA
+
Sesotho sa Leboa
+
Northern Sotho
+
+
+
+
oc_FR
+
+
Occitan
+
+
+
+
oj_CA
+
Ojibwe
+
Ojibway
+
+
+
+
pa_IN
+
+
Punjabi
+
+
+
+
or_IN
+
Odia
+
Oriya
+
+
+
+
pl_PL
+
Polski
+
Polish
+
+
+
+
pt_BR
+
Portugês Brazileiro
+
Brazilian Portuguese
+
+
+
+
pt_PT
+
Portugês
+
Portuguese
+
+
+
+
ro_RO
+
+
Romanian
+
+
+
+
ru_RU
+
Russkiy
+
Russian
+
+
+
+
rw_RW
+
+
Kinyarwanda
+
+
+
+
sa_IN
+
+
Sanskrit
+
+
+
+
sat_IN
+
+
Santali (Devanagari)
+
+
+
+
sat@olchiki
+
+
Santali (Ol-Chikii)
+
+
+
+
shs_CA
+
Secwepemctin
+
Shuswap
+
+
+
+
si_LK
+
+
Sinhala
+
+
+
+
sd_IN@devanagari
+
+
Sindhi (Devanagari)
+
+
+
+
sd_IN
+
+
Sindhi
+
+
+
+
sk_SK
+
+
Slovak
+
+
+
+
sl_SI
+
+
Slovenian
+
+
+
+
son
+
+
Songhay
+
+
+
+
sq_AL
+
+
Albanian
+
+
+
+
sr_YU
+
+
Serbian (cyrillic)
+
+
+
+
sr_RS@latin
+
+
Serbian (latin)
+
+
+
+
su_ID
+
+
Sundanese
+
+
+
+
sv_SE
+
Svenska
+
Swedish
+
+
+
+
sw_TZ
+
+
Swahili
+
+
+
+
ta_IN (*)
+
+
Tamil
+
+
+
+
te_IN (*)
+
+
Telugu
+
+
+
+
th_TH (*)
+
+
Thai
+
+
+
+
tl_PH (*)
+
+
Tagalog
+
+
+
+
tlh
+
tlhIngan
+
Klingon
+
+
+
+
tr_TR
+
+
Turkish
+
+
+
+
tw_GH
+
+
Twi
+
+
+
+
uk_UA
+
+
Ukrainian
+
+
+
+
ur_IN
+
+
Urdu
+
+
+
+
ve_ZA
+
+
Venda
+
+
+
+
vec
+
Venèto
+
Venetian
+
+
+
+
vi_VN
+
+
Vietnamese
+
+
+
+
wa_BE
+
+
Walloon
+
+
+
+
wo_SN
+
+
Wolof
+
+
+
+
xh_ZA
+
+
Xhosa
+
+
+
+
zh_CN (*)
+
+
Chinese (Simplified)
+
+
+
+
zh_TW (*)
+
+
Chinese (Traditional)
+
+
+
+
zam
+
+
Zapotec (Miahuatlan)
+
+
+
+
zu_ZA
+
+
Zulu
+
+
+
+
+
+ (*) - These languages require their own fonts, since they are not represented using a Latin character set, like the others. See the "Special Fonts" section, below.
+
+
+ 💡Note: Tux Paint provides an alternative input method for entering characters with the Text tool in some locales. The key comibation(s) listed can be used to cycle through the supported input methods while the Text tool is active.
+
+
+
+
+
+ Setting Your Environment's Locale
+
+
+
+ Changing your locale will affect much of your environment.
+
+
+ As stated above, along with letting you choose the language at runtime using command-line options ("--lang" and "--locale"), Tux Paint honors the global locale setting in your environment.
+
+
+ If you haven't already set your environment's locale, the following will briefly explain how:
+
+
+
+
Linux/Unix Users
+
+
+
+ First, be sure the locale you want to use is enabled by editing the file "/etc/locale.gen" on your system and then running the program "locale-gen" as root.
+
+
+ 💡Note: Debian users may be able to simply run the command "dpkg-reconfigure locales" as root to bring up a configuration dialog. Ubuntu users may be able to run "sudo dpkg-reconfigure localeconf" (the "localeconf" package may need to be installed first), or you may need to edit the file "/var/lib/locales/supported.d/local" first, and add locales they want, from the list found in "/usr/share/i18n/SUPPORTED".
+
+
+ Then, before running Tux Paint, set your "$LANG" environment variable to one of the locales listed above. (If you want all programs that can be translated to be, you may wish to place the following in your login script; e.g. "~/.profile", "~/.bashrc", "~/.cshrc", etc.)
+
+
+ For example, in a Bourne Shell (like BASH):
+
+
+ export LANG=es_ES ; \
+ tuxpaint
+
+
+
+ And in a C Shell (like TCSH):
+
+
+ setenv LANG es_ES ; \
+ tuxpaint
+
+
+
+
+
+
+ Windows Users
+
+
+
+ Tux Paint will recognize the current locale and use the appropriate files by default. So this section is only for people trying different languages.
+
+
+ The simplest thing to do is to use the "--lang" switch in the shortcut (see "INSTALL"). However, by using an MSDOS Prompt window, it is also possible to issue a command like this:
+
+
+ set LANG=es_ES
+
+
+
+ ...which will set the language for the lifetime of that DOS window.
+
+
+ For something more permanent, you can set an 'environment variable' using the "System properties" dialogue as follows:
+
+
Press the "[Windows]+[R]" key combination to open the "Kör ..." dialogue.
+
Enter "sysdm.cpl" in the text box and click the "[OK]" button to open the "System properties" dialogue.
+
Select the "Avancerat" tab.
+
Click the "Miljövariabler..." button.
+
Edit the value of the parameter "LANG" (create it, if it doesn't exists).
+
+
+
+
+
+
+
+ Special Fonts
+
+
+
+ Some languages require special fonts be installed. These font files (which are in TrueType format (TTF)), are much too large to include with the Tux Paint download, and are available separately. (See the table above, under the "Choosing a Different Language" section.)
+
+
+ 📜Note: As of version 0.9.18, Tux Paint uses the "SDL_Pango" library, which utilizes the "Pango" library to render text in the user interface, rather than using "SDL_ttf" directly. Unless your copy of Tux Paint was built without Pango support, special fonts should no longer be necessary.
+
+
+ When running Tux Paint in a language that requires its own font, Tux Paint will try to load the font file from its system-wide "fonts" directory (under a "locale" subdirectory). The name of the file corresponds to the first two letters in the 'locale' code of the language (e.g., "ko" for Korean, "ja" for Japanese, "zh_tw" for Traditional Chinese).
+
+
+ For example, under Linux or Unix, when Tux Paint is run in Korean (e.g., with the option "--lang korean"), Tux Paint will attempt to load the following font file:
+
+
+
+ /usr/share/tuxpaint/fonts/locale/ko.ttf
+
+
+
+
+ You can download fonts for supported languages from Tux Paint's website, https://tuxpaint.org/. (Look in the 'Fonts' section under 'Download.')
+
+
+ Under Unix and Linux, you can use the Makefile that comes with the font to install the font in the appropriate location.
+ PNG is the Portable Network Graphic format. It is an open standard, not burdened by patents (like GIFs). It is a highly compressed format (though not "lossy" like JPEGs - lossiness allows files to be much smaller, but introduces 'mistakes' in the image when saved), and supports 24-bit color (16.7 million colors) as well as a full "alpha channel" - that is, each pixel can have a varying degree of transparency.
+ These features (openness, losslessness, compression, transparency/alpha) make it the best choice for Tux Paint. (Tux Paint's support for the PNG format comes from the Open Source SDL_Image library, which in turn gets it from the libPNG library.)
+
+
+ Support for many colors allows photo-quality "rubber stamp" images to be used in Tux Paint, and alpha transparency allows for high-quality brushes.
+
+
+
+
+
Hur man skapar PNG-filer
+
+
+
The following is a very brief list of ways to create PNGs or convert existing images into PNGs.
+
+
GIMP & Krita
+
+
+ Excellent tools with which to create PNG images for use in Tux Paint are GIMP and Krita, both high-quality Open Source interactive drawing and photo editing programs.
+
+
+ It is likely that one or both are already installed on your system. If not, they should be readily available from your Linux distribution's software repository. If not, or to learn more, visit http://www.gimp.org/ and http://www.krita.org/, respectively.
+
+
+
Command-line Tools
+
+
+
NetPBM
+
+
+ The Portable Bitmap tools (collectively known as "NetPBM") is a collection of Open Source command-line tools which convert to and from various formats, including GIF, TIFF, BMP, PNG, and many more.
+
+
+ It is possible that it's already installed on your system. If not, they it be readily available from your Linux distribution's software repository. If not, or to learn more, visit http://netpbm.sourceforge.net/.
+
+
+
cjpeg/djpeg
+
+
+ The "cjpeg" and "djpeg" command-line programs convert between the NetPBM Portable Any Map (PNM) format and JPEGs.
+ It is possible that it's already installed on your system. If not, they it be readily available from your Linux distribution's software repository. If not, or to learn more, visit https://jpegclub.org/.
+ Tux Paint is a free drawing program designed for young children (kids ages 3 and up). It has a simple, easy-to-use interface, fun sound effects, and an encouraging cartoon mascot who helps guide children as they use the program. It provides a blank canvas and a variety of drawing tools to help your child be creative.
+
+
+
+
+
+ B. Objectives
+
+
+
+
+
+ Enkelt och roligt
+
+
+
+ Tux Paint is meant to be a simple drawing program for young children. It is not meant as a general-purpose drawing tool. It is meant to be fun and easy to use. Sound effects and a cartoon character help let the user know what's going on, and keeps them entertained. There are also extra-large cartoon-style mouse pointer shapes.
+
+
+
+
+ Extensibility
+
+
+
+ Tux Paint is extensible. Brushes and 'rubber stamp' shapes can be dropped in and pulled out. For example, a teacher can drop in a collection of animal shapes and ask their students to draw an ecosystem. Each shape can have a sound which is played, and textual facts which are displayed, when the child selects the shape.
+
+
+
+
+ Portability
+
+
+
+ Tux Paint is portable among various computer platforms: Windows, Macintosh, Linux, etc. The interface looks the same among them all. Tux Paint runs suitably well on older systems, and can be built to run better on slow systems.
+
+
+
+
+ Enkelhet
+
+
+
+ There is no direct access to the computer's underlying intricacies. The current image is kept when the program quits, and reappears when it is restarted. Saving images requires no need to create filenames or use the keyboard. Opening an image is done by selecting it from a collection of thumbnails. Access to other files on the computer is restricted.
+
+
+
+
+ Hjälpmedel
+
+
+
+ Tux Paint offers a number of accessibility options, including increasing the size of control buttons, changing the UI font, options to control the cursor (mouse pointer) using the keyboard or other input devices (joystick, gamepad, etc.), an on-screen keyboard, and "stick" mouse clicks.
+
+
+
+
+
+
+
+ C. Licens
+
+
+
+ Tux Paint is an Open Source project, Free Software released under the GNU General Public License (GPL). It is free, and the 'source code' behind the program is available. (This allows others to add features, fix bugs, and use parts of the program in their own GPL'd software.)
+
+
+ See COPYING.txt for the full text of the GPL license.
+
+
+
+
+
+ D. What's New in Tux Paint version 0.9.35?
+
+
+
+
Improved color picker
+
Better behavior when clicking/tapping and dragging hue/saturation box and value slider.
+
+
Text clipboard paste support
+
The "Text" and "Label" tools support pasting the copy/paste clipboard.
+
+
"Hjärtan" Magiskt verktyg
+
Draw a trail of floating hearts.
+
+
"Sparkles" Magic tool
+
Draw a trail of falling sparkles.
+
+
"Stjärnor" Magiskt verktyg
+
Draw a trail of stars.
+
+
+
+ See CHANGES.txt for the complete list of changes.
+
+
+
+
+
+
+
+
+ II. Använda Rita med Tux
+
+
+
+
+
+ A. Launching Tux Paint
+
+
+
+
+
+ 1. Linux/Unix Users
+
+
+
+ Tux Paint should have placed a launcher icon in your KDE and/or GNOME menus, under 'Graphics.'
+
+
+
+ Alternatively, you can run the following command at a shell prompt (e.g., "$"):
+
+
+ $ tuxpaint
+
+
+
+
+ If any errors occur, they will be displayed on the terminal (to STDERR).
+
+
+
+
+
+ 2. Windows Users
+
+
+
+
+
+
+ Tux Paint
+
+
+
+
+
+ If you installed Tux Paint on your computer using the 'Tux Paint Installer,' it will have asked you whether you wanted a 'Start' menu short-cut, and/or a desktop shortcut. If you agreed, you can simply run Tux Paint from the 'Tux Paint' section of your 'Start' menu (e.g., under 'All Programs'), or by double-clicking the 'Tux Paint' icon on your desktop, if you had the installer place one there.
+
+
+ If you're using the 'portable' (ZIP-file) version of Tux Paint, or if you used the 'Tux Paint Installer,' but chose not to have shortcuts installed, you'll need to double-click the "tuxpaint.exe" icon in the "Tux Paint" folder on your computer.
+
+
+ By default, the 'Tux Paint Installer' will put Tux Paint's folder in "C:\Program Files\TuxPaint\", though you may have changed this when you ran the installer.
+
+
+ If you used the 'ZIP-file' download, Tux Paint's folder will be wherever you extracted the contents of the ZIP file.
+
+
+
+
+
+ 3. macOS Users
+
+
+
+ Simply double-click the "Tux Paint" icon.
+
+
+
+
+
+
+
+
+
+
+ B. Title Screen
+
+
+
+ When Tux Paint first loads, a title/credits screen will appear.
+
+
+
+ Once loading is complete, press a key or click or tap in the Tux Paint window to continue. (Or, after about 5 seconds, the title screen will go away automatically.)
+
+
+
+
+
+
+
+ C. Huvudskärm
+
+
+
+ The main screen is divided into the following sections:
+
+
+
+
+
+
+
+
+
+
+ Left Side: Toolbar
+
+
+
+
+ The toolbar contains the drawing and editing controls.
+
+
+
+
+
+
+
+
+
+
+
+
+ Middle: Drawing Canvas
+
+
+
+
+ The largest part of the screen, in the center, is the drawing canvas. This is, obviously, where you draw!
+
+
+ 💡Note: The size of the drawing canvas depends on the size of Tux Paint. You can change the size of Tux Paint using the Tux Paint Config. configuration tool, or by other means. See the Options documentation for more details.
+
+
+
+
+
+
+
+
+
+
+
+
+ Right Side: Selector
+
+
+
+
+ Depending on the current tool, the selector shows different things. e.g., when the Paint Brush or Line tool is selected, it shows the various brushes available. When the Rubber Stamp tool is selected, it shows the different shapes you can use. When the Text or Label tool is selected, it shows various fonts.
+
+
+
+
+
+
+
+
+
+
+
+
+ Lower: Colors
+
+
+
+
+ When the active tool supports colors, a palette of colors choices will be shown near the bottom of the screen. Click one to choose a color, and it will be used by the active tool. (For example, the "Paint" tool will use it as the color to draw with the chosen brush, and the "Fill" tool will use it as the color to use when flood-filling an area of the picture.)
+
+
+
+
+
+
+ On the far right are three special color options:
+
+ Color Picker
+ The "color picker" (which has an outline of an eye-dropper) allows you to pick a color found within your drawing.
+ (A shortcut key is available to access this feature quickly; see below.)
+
+ Rainbow Palette
+ The rainbow palette allows you to pick any color by choosing the hue, saturation, and value of the color you want. A box on the left displays hundreds of hues — from red at the top through to violet at the bottom — at hundreds of saturation/intensity levels — from pale & washed-out on the left through to pure on the right. A grey vertical bar provides access to hundreds of value levels — from lighest at the top through to darkest at the bottom.
+ Click the green checkbox button to select the color, or the "Back" button to dismiss the pop-up without picking a new color.
+
+
+ You may also set this tool's color to that of other color choices:
+
Whichever built-in color is selected, if any
+
The Color Picker's current color
+
The Color Mixer's current color
+
+
+
+ Färgblandare
+ The "color mixer" (which has silhouette of a paint palette) allows you to create colors by blending primary additive colors — red, yellow, and blue — along with white (to "tint"), grey (to "tone"), and black (to "shade").
+ You may click any button multiple times (for example, red + red + yellow results in a red-orange color). The ratios of colors added are shown at the bottom.
+ You can start over (reset to no colors in your picture) by clicking the "Clear" button. You can also undo or redo multiple steps of mixing, in case you made a mistake (without having to start over).
+ Click the green checkbox button to select the color, or the "Back" button to dismiss the pop-up without picking a new color.
+
+
+
+
+
+
+
+ ⌨ When the active tool supports colors, a shortcut may be used for quick access to the "color picker" option. Hold the [Kontroll] key while clicking, and the color under the mouse cursor will be shown at the bottom. You may drag around to canvas to find the color you want. When you release the mouse button, the color under the cursor will be selected. If you release the mouse outside of the canvas (e.g., over the "Tools" area), the color selection will be left unchanged. (This is similar to clicking the "Back" button that's available when bringing up the "color picker" option via its button the color palette.)
+
+
+ ⚙Note: You can define your own colors for Tux Paint. See the "Options" documentation.
+
+
+
+
+
+
+
+
+
+
+ Bottom: Help Area
+
+
+
+
+ At the very bottom of the screen, Tux, the Linux Penguin, provides tips and other information while you use Tux Paint.
+
+
+
+
+
+
+
+
+
+
+
+ D. Available Tools
+
+
+
+
+
+
+ 1. Drawing Tools
+
+
+
+
+ a. "Paint" Tool (Brush)
+
+
+
+
+
+ The Paint Brush tool lets you draw freehand, using various brushes (chosen in the Selector on the right) and colors (chosen in the Color palette towards the bottom).
+
+
+ If you hold the mouse button down, and move the mouse, it will draw as you move.
+
+
+ Some brushes are animated — they change their shape as you draw them. A good example of this is the vines brush that ships with Tux Paint. These brushes will have a small "filmstrip" icon drawn on their Selector buttons.
+
+
+ Other brushes are directional — they will draw a different shape depending on what direction you are painting with them. An example of this is the arrow brush that ships with Tux Paint. These brushes have a small 8-way arrow icon drawn on their Selector buttons.
+
+
+ Finally, some brushes can be both direction and animated. Examples of this are the cat and squirrel brushes that ship with Tux Paint. These brushes will have both the "filmstrip" and 8-way arrow icons.
+
+
+ As you draw, a sound is played. The bigger the brush, the lower the pitch.
+
+
+
+
+
+ Brush Spacing
+
+
+ The space between each position where a brush is applied to the canvas can vary. Some brushes (such as the footprints and flower) are spaced, by default, far enough apart that they don't overlap. Other brushes (such as the basic circular ones) are spaced closely, so they make a continuous stroke.
+
+ The default spacing of brushes may be overridden using by clicking within the triangular-shaped series of bars at the bottom right; the larger the bar, the wider the spacing. Brush spacing affects both tools that use the brushes: the "Paint" tool and the "Lines" tool.
+
+
+
+
+ ⚙Note: If the "nobrushspacing" option is set, Tux Paint won't display the brush spacing controls. See the "Options" documentation.
+
+
+
+ b."Stamp" Tool (Rubber Stamps)
+
+
+
+
+
+ The Stamp tool is like a set of rubber stamps or stickers. It lets you paste pre-drawn or photographic images (like a picture of a horse, or a tree, or the moon) in your picture.
+
+
+ As you move the mouse around the canvas, an outline follows the mouse, showing where the stamp will be placed, and how big it will be. Click on the canvas where you wish to place the stamp.
+
+
+
+
+
+
+
+ Stamp Categories
+
+
+
+
+ There can be numerous categories of stamps (e.g., animals, plants, outer space, vehicles, people, etc.). Use the Left and Right arrows near the bottom of the Selector to cycle through the collections.
+
+
+ Stamp Rotation
+
+
+
+
+
+ Using the rotation toggle button near the bottom right, you can enable a rotation step when placing stamps. Once you've placed the stamp, choose the angle to rotate it by moving the mouse around the canvas. Click the mouse button again and the stamp will be added to the drawing.
+
+
+ ⚙Note: If "stamp rotation" option is disabled, the stamp will be drawn on the canvas when you let go of the mouse button. (There's no rotation step.) See the "Options" documentation to learn about the "stamp rotation" ("stamprotation") option.
+
+
+ 📜Note: The stamp rotation feature was added to Tux Paint in version 0.9.29.
+
+
+
+
+ Stamp Controls
+
+
+
+
+
+
+ Prior to 'stamping' an image onto your drawing, various effects can sometimes be applied (depending on the stamp):
+
+
+
+ Some stamps can be colored or tinted. If the color palette below the canvas is activated, you can click the colors to change the tint or color of the stamp before placing it in the picture.
+
+
+ Stamps can be shrunk and expanded, by clicking within the triangular-shaped series of bars at the bottom right; the larger the bar, the larger the stamp will appear in your picture.
+
+
+ Many stamps may be flipped vertically, or displayed as a mirror-image, using the control buttons at the bottom right.
+
+
+
+ ⚙Note: If the "nostampcontrols" option is set, Tux Paint won't display the Rotation, Mirror, Flip, or sizing controls for stamps. See the "Options" documentation.
+
+
+
+
+ Stamp Sounds
+
+
+
+
+
+ Different stamps can have different sound effects and/or descriptive (spoken) sounds. Buttons in the Help Area at the lower left (near Tux, the Linux penguin) allow you to re-play the sound effects and descriptive sounds for the currently-selected stamp.
+
+
+
+
+
+ c."Linjer"-verktyget
+
+
+
+
+
+ This tool lets you draw straight lines using the various brushes and colors you normally use with the Paint Brush.
+
+
+ Click the mouse and hold it to choose the starting point of the line. As you move the mouse around, a thin 'rubber-band' line will show where the line will be drawn. At the bottom, you'll see the angle of your line, in degrees. A line going straight to the right is 0°, a line going straight up is 90°, a line going straight left is 180°, a line going straight down is 270°, and so on.
+
+
+ Let go of the mouse to complete the line. A "sproing!" sound will play.
+
+
+ Some brushes are animated, and will show a pattern of shapes along the line. Others are directional, and will show a different shape depending on the angle of the brush. And finally some are both animated and directional. See "Paint", above, to learn more.
+
+
+ Different brushes have different spacing, leaving either a series of individual shapes, or a continuous stroke of the brush shape. Brush spacing may be adjusted. See the brush spacing section of the "Paint" tool, above, to learn more.
+
+
+
+
+
+
+ d."Shapes" Tool
+
+
+
+
+
+ This tool lets you draw some simple filled, and un-filled shapes.
+
+
+ Select a shape from the selector on the right (circle, square, oval, etc.).
+
+
+ Use the options at the bottom right to choose the shape tool's behavior:
+
+
+
+ Shapes from center
+
+
+
+ The shape will expand from where you initially clicked, and will be centered around that position.
+
+ 📜 This was Tux Paint's only behavior through version 0.9.24.)
+
+
+
+ Shapes from corner
+
+
+
+ The shape will extend with one corner starting from where you initially clicked. This is the default method of most other traditional drawing software.
+ 📜 This option was added starting with Tux Paint version 0.9.25.
+
+
+
+
+ ⚙Note: If shape controls are disabled (e.g., with the "noshapecontrols" option), the controls will not be presented, and the "shapes from center" method will be used.
+
+
+ In the canvas, click the mouse and hold it to stretch the shape out from where you clicked. Some shapes can change proportion (e.g., rectangle and oval may be wider than tall, or taller than wide), others cannot (e.g., square and circle).
+
+
+ For shapes that can change proportion, the aspect ratio of the shape will be shown at the bottom. For example: "1:1" will be shown if it is "square" (as tall as it is wide); "2:1" if it is either twice as wide as it is tall, or twice as tall as it is wide; and so on.
+
+
+ Let go of the mouse when you're done stretching.
+
+
+
+ Normal Shapes Mode
+
+
+
+
+ Now you can move the mouse around the canvas to rotate the shape. The angle your shape is rotated will be shown at the bottom, in degrees (similar to the "Lines" tool, described above).
+
+
+ Click the mouse button again and the shape will be drawn in the current color.
+
+
+
+ Simple Shapes Mode
+
+
+
+ If the "simple shapes" option is enabled, the shape will be drawn on the canvas when you let go of the mouse button. (There's no rotation step.)
+ ⚙ See the "Options" documentation to learn about the "simple shapes" ("simpleshapes") option.
+
+
+
+
+
+
+
+
+ e."Text" and "Label" Tools
+
+
+
+
+
+ Choose a font (from the 'Letters' available on the right) and a color (from the color palette near the bottom). You may also apply a bold, and/or an italic styling effect to the text. Click on the screen and a cursor will appear. Type text and it will show up on the screen. (You can change the font, color, and styling while entering the text, before it is applied to the canvas.)
+
+
+ Press [Enter] or [Return] and the text will be drawn onto the picture and the cursor will move down one line.
+
+
+ Alternatively, press [Tab] and the text will be drawn onto the picture, but the cursor will move to the right of the text, rather than down a line, and to the left. (This can be useful to create a line of text with mixed colors, fonts, styles and sizes.)
+
+
+ Text from the clipboard (copy/paste buffer) can be inserted with the "Text" and "Label" tools by pressing the [Control] + [V] key combination on a physical keyboard, or clicking the "Paste" button in Tux Paint's on-screen keyboard. If the text would exceed the right edge of the canvas, it will wrap to a new line of text (going back to the previous space or dash ('-') if possible). If the text hits the bottom of the canvas, the pasting will abort, truncating the text.
+
+
+ Clicking elsewhere in the picture while the text entry is still active causes the current line of text to move to that location (where you can continue editing it).
+
+
+
+
+
+
+
+ "Text" kontra "Etikett"
+
+
+
+
+ The Text tool is the original text-entry tool in Tux Paint. Text entered using this tool can't be modified or moved later, since it becomes part of the drawing. However, because the text becomes part of the picture, it can be drawn over or modified using Magic tool effects (e.g., smudged, tinted, embossed, etc.)
+
+
+ When using the Label tool (which was added to Tux Paint in version 0.9.22), the text 'floats' over the image, and the details of the label (the text, the position of the label, the font choice and the color) get stored separately. This allows the label to be repositioned or edited later.
+
+
+ To edit a label, click the label selection button. All labels in the drawing will appear highlighted. Click one — or use the [Tab] key to cycle through all the labels, and the [Enter] or [Return] key to select one — and you may then edit the label. (Use they [Backsteg] key to erase characters, and other keys to add text to the label; click in the canvas to reposition the label; click in the palette to change the color of the text in the label; etc.)
+
+
+ You may "apply" a label to the canvas, painting the text into the picture as if it had been added using the Text tool, by clicking the label application button. (This feature was added in Tux Paint version 0.9.28.) All labels in the drawing will appear highlighted, and you select one just as you do when selecting a label to edit. The chosen label will be removed, and the text will be added directly to the canvas.
+
+
+ ⚙ The Label tool can be disabled (e.g., by selecting "Disable 'Label' Tool" in Tux Paint Config. or running Tux Paint with the "nolabel" option).
+
+
+ 📜 The ability to paste text from the clipboard was added in Tux Paint 0.9.35
+
+
+
+ International Character Input
+
+
+
+
+ Tux Paint allows inputting characters in different languages. Most Latin characters (A-Z, ñ, è, etc.) can by entered directly. Some languages require that Tux Paint be switched into an alternate input mode before entering, and some characters must be composed using numerous keypresses.
+
+
+ When Tux Paint's locale is set to one of the languages that provide alternate input modes, a key is used to cycle through normal (Latin character) and locale-specific mode or modes.
+
+
+ Currently supported locales, the input methods available, and the key to toggle or cycle modes, are listed below.
+
+
+
Japanese — Romanized Hiragana and Romanized Katakana — höger [Alt]-knapp or left [Alt] key
+
+
Korean — Hangul 2-Bul — höger [Alt]-knapp or left [Alt] key
+
+
Traditional Chinese — höger [Alt]-knapp or left [Alt] key
+
+
Thai — höger [Alt]-knapp
+
+
+
+ 💡Note: Many fonts do not include all characters for all languages, so sometimes you'll need to change fonts to see the characters you're trying to type.
+
+
+
+
+ On-screen Keyboard
+
+
+
+
+ An optional on-screen keyboard is available for the Text and Label tools, which can provide a variety of layouts and character composition (e.g., composing "a" and "e" into "æ"). Run Tux Paint with the "--onscreen-keyboard" option, or enable that setting in Tux Paint's configuration file, to enable it. Multiple layouts are offered (currently "QWERTY" and "ABC"), which the user can switch between. Additional configuration options allow specifying a default layout, as well as preventing the layout from being changed.
+
+
+ The on-screen keyboard appears at the bottom or top of the Tux Paint window, obscuring part of the canvas, depending on where the text insertion cursor is placed. Along with alphabetic, numeric, and some punctuation keys, the keyboard provides:
+
A "Backspace" key (⇐) to remove the previous character
+
A "Carriage Return" ("Return"/"Enter") key (⏎) to end the current input and begin a new one on the following line (below and to the left)
+
A "Tab" key (⇔) to end the current input and begin a new one at the current cursor position
+
A "Shift" key (⇑) to shift alphabetic keys from lowercase to uppercase, access more punctuation, etc.
+
A "Caps Lock" key (⤒) to toggle permanent shifting of alphabetic keys from lowercase to uppercase (click it again to disable caps lock)
+
A "Compose" key ("Cmp"), to initiate character composition (e.g., click "Cmp", "a", "e" to produce an "æ" character)
+
An "Alternate Graphics" key ("AltGr") to access additional characters (e.g., "¿", "ß", etc.)
+
An "Alternate" key ("Alt")
+
A "Paste" key to paste the current clipboard's text into the Text or Label tool
+
Left and right arrows (← & →) to access different on-screen keyboard layouts
+ 📜Note: Prior to Tux Paint 0.9.24, "Fill" was a Magic tool (see below). Prior to Tux Paint 0.9.26, the "Fill" tool only offered the 'Solid' method of filling. 'Shaped' fill was introduced in Tux Paint 0.9.29.
+
+
+ g."Magiskt" verktyg (specialeffekter)
+
+
+
+
+
+ The Magic tool is actually a set of special tools. Select one of the 'magic' effects from the selector on the right. Then, depending on the tool, you can either click and drag around the picture, and/or simply click the picture once, to apply the effect.
+ If the tool can be used by clicking and dragging, a 'painting' button will be available on the left, below the list of Magic tools on the right side of the screen. If the tool can affect the entire picture at once, an 'entire picture' button will be available on the right.
+
+
+
+
+ ⚙Note: If the "nomagiccontrols" option is set, Tux Paint won't display the painting or entire picture controls. See the "Options" documentation.
+
+ 💡 If the magic controls are disabled, the Magic plugin may make separate tools available, one for painting and one that affects the entire pictre.
+
+
+ Magic Sizing
+
+
+ Some tools offer different sizing options. If so, a slider will appear at the bottom right side of the screen. This may affect the radius of a special effect (e.g., Darken) or painted object (e.g., Patterns), or other attributes (e.g., large versus small Brick shapes).
+
+
+
+
+
+ ⚙Note: If the "nomagicsizes" option is set, Tux Paint won't display the sizing controls. See the "Options" documentation.
+
+ 💡 If the sizing option is disabled, the Magic plugin may simply offer a default size (e.g., Patterns), or it may make separate tools available with different pre-set sizes (e.g., Bricks and Googly Eyes).
+
+ 📜 This option was added starting with Tux Paint version 0.9.30.
+
+
+
+ ⚙Note: If the "ungroupmagictools" option is set, Tux Paint won't split Magic tools into groups of related tools, and instead present them all as one large list. See the "Options" documentation.
+
+
+ h."Eraser" Tool
+
+
+
+
+
+ This tool works similarly to the Paint Brush. Wherever you click (or click and drag), things you've added to your drawing will be erased, exposing the background that you chose when you started the drawing, be it a solid color, the background of a 'Starter' image, or a 'Template' image. (See Available Tools > Övriga kontroller > "New" Command.)
+
+
+
+ A number of eraser types are available, each offering multiple sizes are available:
+
+ Square — Square-shaped erasers that completely remove parts of your drawing.
+
+ Circle (solid) — Circle-shaped erasers that completely remove parts of your drawing.
+
+ Fuzzy-edged Circle — Circle-shaped erasers with soft edges that blend with the background.
+
+ Transparent Circle — Circle-shaped erasers that blend your drawing with the background. Release and click again to expose more and more of the background.
+
+
+
+
+ As you move the mouse around, an outline follows the pointer, showing what part of the picture will be erased.
+
+
+ As you erase, a 'squeaky clean' eraser wiping sound is played.
+
+
+
+ ⌨ Hold the [X] key while clicking for quick access to a small sharp round eraser (not available when the Text or Label tools are selected, when you're in the process of rotating a stamp or shape, or when using an interactive magic tool). Release the mouse to return to your currently-selected tool.
+
+
+
+
+
+
+
+
+
+ 2. Övriga kontroller
+
+
+
+
+ a."Undo" and "Redo" Commands
+
+
+
+
+
+
+
+ Clicking the "Undo" button will undo (revert) the last drawing action. You can even undo more than once!
+
+
+ ⌨Note: You can also press [Kontroll / ⌘] + [Z] on the keyboard to Ångra.
+
+
+ Clicking the "Redo" button will redo the drawing action you just un-did via the "Undo" command.
+
+
+ As long as you don't draw again, you can redo as many times as you had undone!
+
+
+ ⌨Note: You can also press [Kontroll / ⌘] + [R] on the keyboard to Gör om.
+
+
+ b."New" Command
+
+
+
+
+
+ Clicking the 'New' button will start a new drawing. A dialog will appear where you may choose to start a new picture using a solid background color, or using a 'Starter' or 'Template' image (see below). You will first be asked whether you really want to do this.
+
+
+ When you use the 'Eraser' tool things you've added to your drawing will be removed, exposing the background you chose when starting a new drawing. (See Available Tools > Drawing Tools > "Eraser" Tool.)
+
+ ⌨Note: You can also press [Kontroll / ⌘] + [N] on the keyboard to start a new drawing.
+
+
+
Special Solid Background Color Choices
+
+ Along with the preset solid colors, you can also choose colors using a rainbow palette or a "color mixer". These operate identically to the options found in the color palette shown below the canvas when drawing a picture. See Huvudskärm > Lower: Colors > Special color options for details.
+
+
'Startbilder' & Mallbilder
+
+
+
'Starters' can behave like a page from a coloring book — a black-and-white outline of a picture, which you can then color in, and the black outline remains intact — or like a 3D photograph, where you draw in between a foreground and background layer.
+
'Templates' are similar, but simply provide a background drawing to work off of. Unlike 'Starters', there is no layer that remains in the foreground of anything you draw in the picture.
+ When you load a 'Starter' or 'Template', draw on it, and then click 'Save,' it creates a new picture file — it doesn't overwrite the original, so you can use it again later (by accessing it from the 'New' dialog).
+
+
+ ⚙ You can create your own 'Starter' and Template images. See the Extending Tux Paint documentation's sections on 'Starters' and Templates.
+
+
+ 💡 You can also convert your saved drawings into Templates directly within Tux Paint, from the 'Open' dialog. See "Open", below.
+
+
+
Erasing Exported Template Images
+
+
+
+ If you've selected a Template in your personal templates folder, and it was created from within Tux Paint (using the "Template" button in the "Open" dialog), you may remove it from within Tux Paint, too. An 'Erase' (trash can) button will appear at the lower right of the list. Click it to erase the selected template. (You will be asked to confirm.)
+
+
+ 💡Note: On Linux, Windows, and macOS, the picture will be placed in your desktop's trash can / recycle bin (where you may recover and restore it, if you change your mind).
+
+
+ ⚙Note: The 'Erase' button may be disabled, via the "noerase" option.
+
+
+
+
+
+
+ ⚙Note: The solid colors can be placed at the end of the 'New' dialog (below the Starters and Templates), via the "newcolorslast" option.
+
+
+
+ c."Open" Command
+
+
+
+
+
+ This shows you a list of all of the pictures you've saved. If there are more than can fit on the screen, use the up and down arrows at the top and bottom of the list to scroll through the list of pictures.
+
+
+
+
+
+
+ Click a picture to select it, and then...
+
+
+
+
+ Click the green 'Open' button at the lower left of the list to load the selected picture. You will then be able to edit it.
+
+
+ (Alternatively, you can double-click a picture's icon to load it.)
+
+
+ 💡 If choose to open a picture, and your current drawing hasn't been saved, you will be prompted as to whether you want to save it or not. (See "Save," below.)
+
+
+
+
+
+
+
+ Click the brown 'Erase' (trash can) button at the lower right of the list to erase the selected picture. (You will be asked to confirm.)
+
+
+ 📜Note: On Linux (as of version 0.9.22), Windows (as of version 0.9.27), and macOS (as of version 0.9.29), the picture will be placed in your desktop's trash can / recycle bin (where you may recover and restore it, if you change your mind).
+
+
+ ⚙Note: The 'Erase' button may be disabled, via the "noerase" option.
+
+
+
+
+
+
+
+ Click the 'Export' button near the lower right to export the selected picture to your export folder. (e.g., "~/Pictures/TuxPaint/")
+
+
+
+
+
+
+ From the "Open" screen you can also:
+
+
+
+ Click the blue 'Slides' (slide projector) button at the lower left to go to slideshow mode. See "Slides", below, for details.
+
+
+
+
+
+
+ Click the blue 'Template' button at the lower left to go to convert the selected picture into a new template, which can be used as the basis for new drawings.
+
+
+
+ 📜Note: The Template creation feature was added to Tux Paint in version 0.9.31. To learn how to create Templates outside of Tux Paint, see Extending Tux Paint
+
+
+ ⚙ The Template creation feature can be disabled (e.g., by selecting "Disable 'Make Template'" in Tux Paint Config. or running Tux Paint with the "notemplateexport" option).
+
+
+
+
+
+ Click the red 'Back' arrow button at the lower right of the list to cancel and return to the picture you were drawing.
+
+
+
+
+
+
+ ⌨Note: You can also press [Kontroll / ⌘] + [O] on the keyboard to bring up the 'Open' dialog.
+
+
+ d."Save" Command
+
+
+
+
+
+ This saves your current picture.
+
+
+ If you haven't saved it before, it will create a new entry in the list of saved images. (i.e., it will create a new file)
+
+
+ 💡Note: It won't ask you anything (e.g., for a filename). It will simply save the picture, and play a "camera shutter" sound effect.
+
+
+ If you have saved the picture before, or this is a picture you just loaded using the "Open" command, you will first be asked whether you want to save over the old version, or create a new entry (a new file).
+
+
+
+
+
+
+ ⚙Note: If either the "saveover" or "saveovernew" options are set, it won't ask before saving over. See the "Options" documentation.
+
+
+ ⌨Note: You can also press [Kontroll / ⌘] + [S] on the keyboard to save.
+
+
+ e."Print" Command
+
+
+
+
+
+ Click this button and your picture will be printed!
+
+
+ On most platforms, you can also hold the [Alt] key (called [Option] on Macs) while clicking the 'Print' button to get a printer dialog. Note that this may not work if you're running Tux Paint in fullscreen mode. See below.
+
+
+
+ Inaktivera utskrifter
+
+
+
+
+ The "noprint" option can be set, which will disable Tux Paint's 'Print' button.
+ Tux Paint prints by generating a PostScript representation of the drawing and sending it to an external program. By default, the program is:
+
+
+ lpr
+
+
+
+ This command can be changed by setting a "printcommand" option in Tux Paint's configuration file.
+
+
+ An alternative print command can be invoked by holding the "[Alt]" key on the keyboard while clicking clicking the 'Print' button, as long as you're not in fullscreen mode, an alternative program is run. By default, the program is KDE's graphical print dialog:
+
+
+ kprinter
+
+
+
+ This command can be changed by setting a "altprintcommand" option in Tux Paint's configuration file.
+ By default, Tux Paint simply prints to the default printer with default settings when the 'Print' button is pushed.
+
+
+ However, if you hold the [Alt] (or [Option]) key on the keyboard while clicking the 'Print' button, as long as you're not in fullscreen mode, your operating system's printer dialog will appear, where you can change the settings.
+
+
+ You can have the printer configuration changes stored between Tux Paint sessions by setting the "printcfg" option.
+
+
+ If the "printcfg" option is used, printer settings will be loaded from the file "printcfg.cfg" in your personal folder (see below). Any changes will be saved there as well.
+ By default, Tux Paint only shows the printer dialog (or, on Linux/Unix, runs the "altprintcommand"; e.g., "kprinter" instead of "lpr") if the [Alt] (or [Option]) key is held while clicking the 'Print' button.
+
+
+ However, this behavior can be changed. You can have the printer dialog always appear by using "--altprintalways" on the command-line, or "altprint=always" in Tux Paint's configuration file. Conversely, you can prevent the [Alt]/[Option] key from having any effect by using "--altprintnever", or "altprint=never".
+ The 'Slides' button is available in the 'Open' dialog. It can be used to play a simple animation within Tux Paint, or a slideshow of pictures. It can also export an animated GIF based on the chosen images.
+
+
+
+ Chosing pictures
+
+
+
+
+ When you enter the 'Slides' section of Tux Paint, it displays a list of your saved files, just like the 'Open' dialog.
+
+
+ Click each of the images you wish to display in a slideshow-style presentation, one by one. A digit will appear over each image, letting you know in which order they will be displayed.
+
+
+ You can click a selected image to unselect it (take it out of your slideshow). Click it again if you wish to add it to the end of the list.
+
+
+
+ Set playback speed
+
+
+
+
+ A sliding scale at the lower left of the screen (next to the 'Play' button) can be used to adjust the speed of the slideshow or animated GIF, from slowest to fastest. Choose the leftmost setting to disable automatic advancement during playback within Tux Paint — you will need to press a key or click to go to the next slide (see below).
+
+
+ 💡Note: The slowest setting does not automatically advance through the slides. Use it for when you want to step through them manually. (This does not apply to an exported animated GIF.)
+
+
+
+
+
+
+
+ Playback in Tux Paint
+
+
+
+
+ To play a slideshow within Tux Paint, click the 'Play' button.
+
+
+ 💡Note: If you hadn't selected any images, then all of your saved images will be played in the slideshow!
+
+
+ During the slideshow, press [Space], [Enter] or [Return], or the [Pil höger] — or click the 'Next' button at the lower left — to manually advance to the next slide. Press [Left arrow] to go back to the previous slide.
+
+
+ Press [Escape], or click the 'Back' button at the lower right, to exit the slideshow and return to the slideshow image selection screen.
+
+
+
+ Exporting an animated GIF
+
+
+
+
+
+ Click the 'GIF Export' button near the lower right to have Tux Paint generate an animated GIF file based on the selected images.
+
+
+ 💡Note: At least two images must be selected. (To export a single image, use the 'Export' option from the main 'Open' dialog.) If no images are selected, Tux Paint will not attempt to generate a GIF based on all saved images.
+
+
+ Pressing [Escape] during the export process will abort the process, and return you to the 'Slideshow' dialog.
+
+
+
+
+ Click 'Back' in the slideshow image selection screen to return to the 'Open' dialog.
+
+
+ g."Quit" Command
+
+
+
+
+
+ Clicking the 'Quit' button, closing the Tux Paint window, or pushing the [Escape] key will quit Tux Paint.
+
+
+ You will first be prompted as to whether you really want to quit.
+
+
+ If you choose to quit, and you haven't saved the current picture, you will first be asked if wish to save it. If it's not a new image, you will then be asked if you want to save over the old version, or create a new entry. (See "Save" above.)
+
+
+ ⚙Note: If the image is saved, it will be reloaded automatically the next time you run Tux Paint -- unless the "startblank" option is set.
+
+
+ ⚙Note: The 'Quit' button within Tux Paint, and quitting via the [Escape] key, may be disabled, via the "noquit" option.
+
+
+ In that case, the "window close" button on Tux Paint's title bar (if not in fullscreen mode) or the [Alt] + [F4] key sequence may be used to quit.
+
+
+ If neither of those are possible, the key sequence of [Shift] + [Kontroll / ⌘] + [Escape] may be used to quit.
+ There is no on-screen control button at this time, but by using the [Alt] + [S] keyboard sequence, sound effects can be disabled and re-enabled (muted and unmuted) while the program is running.
+
+
+ Note that if sounds are completely disabled via the "nosound" option, the [Alt] + [S] key combination has no effect. (i.e., it cannot be used to turn on sounds when the parent/teacher wants them disabled.)
+ Tux Paint's main mode of operation is via any device that appears to your operating system as a mouse, including standard mice, trackballs, and trackpads, as well as drawing tablets (usually operated with a stylus) and touch screens (operated with a finger and/or a stylus) (see "Using a Tablet or Touchscreen" below for more information).
+
+
+ For drawing and controlling Tux Paint, only a single mouse button is used — typically, on multi-button mice, this will the left mouse button, but this can usually be configured at the operating system level. By default, Tux Paint will ignore input from the other button(s). If a user attempts to use the other button(s), a pop-up dialog will eventually appear reminding them that only one button is recognized Tux Paint. However, you may configure Tux Paint to accept any button as input (see the Options documentation).
+
+
+
+
+ a. Rullning
+
+
+ Many input devices offer a way to quickly scroll within applications — many mice have a scroll wheel, trackballs have scroll rings, and trackpads recognize certain "scroll" gestures (e.g., two-finger vertical motion, or vertical motion on the edge of the trackpad). Tux Paint supports scrolling input to allow quick scrolling through certain lists (e.g., Stamps, Magic tools, and the New and Open dialogs).
+
+
+ Tux Paint will also automatically scroll if you click and hold the mouse down on an scroll button — the "up" and "down" arrow buttons that appear above and below scrolling lists.
+
+
+
+
+
+ b. Mouse Accessibility
+
+
+ Other devices that appear as a mouse can be used to control Tux Paint. For example:
+
Head pointing/tracking devices
+
Eye gaze trackers
+
Foot mice
+
+
+
+
+ Tux Paint offers a "sticky mouse click" accessibility setting, where a single click begins a click-and-drag operation, and a subsequent click ends it. (See the Options documentation.)
+
+
+
+
+
+
+
+
+ 2. Använda en ritplatta eller pekskärm
+
+
+
+ As noted above, Tux Paint recognizes any device that appears as a mouse. This means drawing tablets and touchscreens may be used. However, these devices often support other features beyond X/Y motion, button clicks, and scroll-wheel motion. Currently, those additional features are not supported by Tux Paint. Some examples:
+
Pressure and angle
+
Eraser tip
+
Multi-touch gestures
+
+
+
+
+
+
+
+
+
+ 3. Använda en styrspaksliknande enhet
+
+
+
+ Tux Paint may be configured to recognize input from any game controller that appears to your operating system as a joystick. That even includes modern game console controllers connected via USB or Bluetooth (e.g., Nintendo Switch or Microsoft Xbox game pads)!
+
+
+ Numerous configuration options are available to best suit the device being used, and the user's needs. Analog input will be used for coarse movement, and digital "hat" input for fine movement. Buttons on the controller can be mapped to different Tux Paint controls (e.g., acting as the [Escape] key, switching to the Paint tool, invoking Undo and Redo operations, etc.). See the Options documentation for more details.
+
+
+
+
+
+
+
+ 4. Använda tangentbordet
+
+
+
+ Tux Paint offers an option to allow the keyboard to be used to control the mouse pointer. This includes motion and clicking, as well as shortcuts to navigate between and within certain parts of the interface. See the Options documentation for more details.
+
+
+
+
+
+
+
+
+
+
+
+
+ III. Loading Other Pictures into Tux Paint
+
+
+
+
+
+ A. Översikt
+
+
+
+ Tux Paint's 'Open' dialog only displays pictures you created with Tux Paint. So what do you do if you want to load some other drawinng or even a photograph into Tux Paint, so you can edit or draw on it?
+
+
+ You can simply convert the picture to the format Tux Paint uses — PNG (Portable Network Graphic) — and place it in Tux Paint's "saved" directory/folder. Here is where to find it (by default):
+
+
+
+ Windows Windows 8, Windows 10, Windows 11
+
+
+
+ In the user's "AppData" folder: e.g., "C:\Users\användarnamn\AppData\Roaming\TuxPaint\saved\"
+
+ (Note: The "AppData" folder is hidden (not visible) by default. You can enter the path manually in the location bar of your file browser (e.g., File Explorer).)
+
+ You can use the %APPDATA% variable as a shorthand, i.e. "%APPDATA%\Tuxpaint\Saved".
+
+ You can use the [⊞ (Windows)] + [R] key combination to bring up the Run command window, and then type the path and hit [Enter / Return].
+
+
+ macOS
+
+
+
+ In the user's "Application Support" folder: e.g., "/Användare/användarnamn/Bibliotek/Application Support/TuxPaint/saved/"
+
+
+ Linux / Unix
+
+
+
+ In the user's "home directory" folder: e.g., "/home/användarnamn/.tuxpaint/saved/"
+
+ (Note: The ".tuxpaint" folder is hidden (not visible) by default. You can enter the path manually in the location bar of your file browser (e.g., GNOME-filer eller Dolphin).)
+
+ You can use the $HOME variable as a shorthand, i.e. "$HOME/.tuxpaint/saved".
+
+
+ Haiku
+
+
+
+ In the user's "settings" folder: e.g., "/boot/home/config/settings/TuxPaint/saved/"
+
+
+
+ 💡Note: It is also from this folder that you can copy or open pictures drawn in Tux Paint using other applications, though the 'Export' option from Tux Paint's 'Open' dialog can be used to copy them to a location that's easier and safer to access.
+
+
+
+
+
+ B. Using the import script, "tuxpaint-import"
+
+
+
+ Linux and Unix users can use the "tuxpaint-import" shell script which gets installed when you install Tux Paint. It uses some NetPBM tools to convert the image ("anytopnm"), resize it so that it will fit in Tux Paint's canvas ("pnmscale"), and convert it to a PNG ("pnmtopng").
+
+
+ It also uses the "date" command to get the current time and date, which is the file-naming convention Tux Paint uses for saved files. (Remember, you are never asked for a 'filename' when you go to save or open pictures!)
+
+
+ To use this script, simply run it from a command-line prompt, and provide it the name(s) of the file(s) you wish to convert.
+
+
+ They will be converted and placed in your Tux Paint "saved" directory.
+
+ 💡Note: If you're doing this for a different user (e.g., your child) you'll need to make sure to run the command under their account.)
+ The first line ("tuxpaint-import farmor.jpg") is the command to run. The following two lines are output from the program while it's working.
+
+
+ Now you can load Tux Paint, and a version of that original picture will be available under the 'Open' dialog. Just double-click its icon!
+
+
+
+
+
+ C. Importing Pictures Manually
+
+
+
+ Windows, macOS, and Haiku users who wish to import arbitrary images into Tux Paint must do so via a manual process.
+
+
+ Load a graphics program that is capable of both loading your picture and saving a PNG format file. (See the documentation file "PNG.html" for a list of suggested software, and other references.)
+
+
+ When Tux Paint loads an image that's not the same size as its drawing canvas, it scales (and sometimes smears the edges of) the image so that it fits within the canvas.
+
+
+ To avoid having the image stretched or smeared, you can resize it to Tux Paint's canvas size. This size depends on the size of the Tux Paint window, or resolution at which Tux Paint is run, if in fullscreen. (Note: The default resolution is 800x600.) See "Calculating Image Dimensions", below.
+
+
+
+
+ 1. Naming the File
+
+
+
+ Save the picture in PNG format. It is highly recommended that you name the filename using the current date and time, since that's the convention Tux Paint uses:
+
+
+ ÅÅÅÅMMDDhhmmss.png
+
+
+
+
ÅÅÅÅ = År
+
MM = Month (two digits, "01"-"12")
+
DD = Day of month (two digits, "01"-"31")
+
HH = Hour (two digits, in 24-hour format, "00"-"23")
+
mm = Minute (two digits, "00"-"59")
+
ss = Seconds (two digits, "00"-"59")
+
+
+
+ Example: "20210731110500.png", for July 31, 2021 at 11:05am.
+
+
+ Place this PNG file in your Tux Paint "saved" directory/folder. (See above.)
+
+
+
+
+
+ 2. Calculating Image Dimensions
+
+
+
+ This part of the documentation needs to be rewritten, since the new "buttonsize" option was added. For now, try drawing and saving an image within Tux Paint, then determine what size (pixel width and height) it came out to, and try to match that when scaling the picture(s) you're importing into Tux Paint.
+
+
+
+
+
+
+ IV.Further Reading
+
+
+
+ Other documentation included with Tux Paint (found in the "docs" folder/directory) includes:
+
+ Använda Rita med Tux:
+
+
+
+ OPTIONS.html
+ Detailed instructions on command-line and configuration-file options, for those who don't want to use the Tux Paint Config. tool to manage Tux Paint's configuration.
+ Tux Paint responds to the following signals (which can be sent to the program's process via `kill` or `killall`, for example).
+
+
+
+ SIGTERM
+ (also, [Kontroll] + [C] from a terminal running `tuxpaint`)
+
+
+
+ Tux Paint responds as if the "Quit" button were pressed, or the desktop environment was told to close Tux Paint (e.g., by clicking a window close button, or pressing [Alt] + [F4] on most systems).
+
+
+ From the main interface, Tux Paint will prompt whether or not you wish to quit, and (unless overridden by the auto-save option, e.g. "--autosave") if you'd like to save the current drawing (if unsaved), and if so, and it's a modified version of an existing drawing (unless overridden by the options to save over old images, or always save new images; e.g. "--saveover" and "--saveovernew", respectively), whether or not to overwrite the existing drawing, or save to a new file.
+
+
+ Exempel: killall tuxpaint
+
+
+ 💡Note: From other parts of the interface, the signal is currently interpreted as a request to go back (e.g., from the "New" dialog back to the main interface), as if a "Back" button in Tux Paint were clicked, or the [Esc] was key pressed.
+
+
+
+ SIGUSR1 & SIGUSR2
+
+
+
+
+ Tux Paint responds by setting its auto-save option (as if it had been launched with "--autosave"), as well as either the option to always save new images (as if launched with "--saveovernew") in the case of receiving a SIGUSR1 signal, or to always save over the existing image (as if launched with "--saveover") in the case of receiving SIGUSR2. Then Tux Paint sends itself a SIGTERM signal, in an attempt to quit. (See above.)
+
+
+ So, from the main interface, Tux Paint should quit almost immediately, with no questions asked.
+
+
+ Exempel: killall -s SIGUSR1 tuxpaint
+
+
+ 💡Note: From other parts of the interface, unfortunately, Tux Paint will go back one level in the interface. Therefore, at this time, it may be necessary to send this signal to Tux Paint a few times, for it to quit completely.
+ SVG (Scalable Vector Graphics) is an open standard used to describe two-dimensional vector graphics. It is great for diagrams and shapes, while PNGs are better for photographs. SVG files are a bit like instructions on how to make an image. This means that they can be resized without looking pixelated or blocky.
+ An excellent tool with which to create SVG images for use in Tux Paint is Inkscape, a high-quality Open Source interactive drawing program available for Windows, macOS, and Linux. There are also other applications that can produce SVGs, both free/open source, and commerical/proprietary.
+
+
+
+
diff --git a/docs/sv_SE.UTF-8/html/tp_magic_example.c b/docs/sv_SE.UTF-8/html/tp_magic_example.c
new file mode 100644
index 000000000..9a3d00f07
--- /dev/null
+++ b/docs/sv_SE.UTF-8/html/tp_magic_example.c
@@ -0,0 +1,700 @@
+/* tp_magic_example.c
+
+ An example of a "Magic" tool plugin for Tux Paint
+ maj 10, 2024
+*/
+
+
+/* Inclusion of header files */
+/* ---------------------------------------------------------------------- */
+
+#include
+#include // För "strdup()"
+#include // För "gettext()"
+
+#include "tp_magic_api.h" // Tux Paint "Magic" tool API header
+#include "SDL_image.h" // For IMG_Load(), to load our PNG icon
+#include "SDL_mixer.h" // For Mix_LoadWAV(), to load our sound effects
+
+
+/* Tool Enumerations: */
+/* ---------------------------------------------------------------------- */
+
+/* What tools we contain: */
+
+
+enum
+{
+ TOOL_ONE, // Becomes '0'
+ TOOL_TWO, // Becomes '1'
+ NUM_TOOLS // Becomes '2'
+};
+
+
+/* Lists of filenames for sounds and icons to load at startup: */
+
+const char *sound_filenames[NUM_TOOLS] = {
+ "tool_one.wav",
+ "tool_two.wav"
+};
+
+const char *icon_filenames[NUM_TOOLS] = {
+ "tool_one.png",
+ "tool_two.png"
+};
+
+
+/*
+NOTE: We use a macro called "gettext_noop()" below in some arrays of
+strings (char *'s) that hold the names and descriptions of our "Magic"
+tools. This allows the strings to be localized into other languages.
+*/
+
+
+/* A list of names for the tools */
+
+const char *tool_names[NUM_TOOLS] = {
+ gettext_noop("A tool"),
+ gettext_noop("Another tool")
+};
+
+
+/* How to group the tools with other similar tools, within the 'Magic' selector: */
+
+const int tool_groups[NUM_TOOLS] = {
+ MAGIC_TYPE_PAINTING,
+ MAGIC_TYPE_DISTORTS
+};
+
+
+/* A list of descriptions of the tools */
+
+const char *tool_descriptions[NUM_TOOLS] = {
+ gettext_noop("This is example tool number 1."),
+ gettext_noop("This is example tool number 2.")
+};
+
+
+
+/* Our global variables: */
+/* ---------------------------------------------------------------------- */
+
+/* Sound effects: */
+Mix_Chunk *sound_effects[NUM_TOOLS];
+
+/* The current color (an "RGB" -- red, green, blue -- value) the user has
+selected in Tux Paint (for tool 1): */
+Uint8 example_r, example_g, example_b;
+
+/* The size the user has selected in Tux Paint (for tool 2): */
+Uint8 example_size;
+
+
+/* Our local function prototypes: */
+/* ---------------------------------------------------------------------- */
+
+/*
+These functions are called by other functions within our plugin, so we
+provide a 'prototype' of them, so the compiler knows what they accept and
+return. This lets us use them in other functions that are declared
+_before_ them.
+*/
+
+void example_drag(magic_api * api, int which, SDL_Surface * canvas,
+ SDL_Surface * ogonblicksbild, int old_x, int old_y, int x,
+ int y, SDL_Rect * update_rect);
+
+void example_line_callback(void *pointer, int which, SDL_Surface * canvas,
+ SDL_Surface * ogonblicksbild, int x, int y);
+
+
+/* Setup Functions: */
+/* ---------------------------------------------------------------------- */
+
+/*
+API Version check
+
+The running copy of Tux Paint that has loaded us first asks us what version
+of the Tux Paint 'Magic' tool plugin API we were built against. If it
+deems us compatible, we'll be used!
+
+All we need to do here is return "TP_MAGIC_API_VERSION", which is defined
+(#define) in the header file "tp_magic_api.h".
+*/
+
+Uint32 example_api_version(void)
+{
+ return (TP_MAGIC_API_VERSION);
+}
+
+
+/*
+Initialization
+
+This happens once, when Tux Paint starts up and is loading all of the
+'Magic' tool plugins. (Assuming what we returned from api_version was
+acceptable!)
+
+All we're doing in this example is loading our sound effects, which we'll
+use later (in example_click(), example_drag(), and example_release()) when
+the user is using our Magic tools.
+
+The memory we allocate here to store the sounds will be freed (aka
+released, aka deallocated) when the user quits Tux Paint, when our
+example_shutdown() function is called.
+*/
+
+int example_init(magic_api *api, Uint8 disabled_features,
+ Uint8 complexity_level)
+{
+ int i;
+ char filnamn[1024];
+
+ for (i = 0; i < NUM_TOOLS; i++)
+ {
+ /*
+ Assemble the filename from the "sound_filenames[]" array into a full path
+ to a real file.
+
+ Use "api->data_directory" to figure out where our sounds should be. (The
+ "tp-magic-config --dataprefix" command would have told us when we installed
+ our plugin and its data.)
+ */
+ snprintf(filnamn, sizeof(filnamn), "%ssounds/magic/%s",
+ api->data_directory, sound_filenames[i]);
+
+ printf("Trying to load %s sound file\n", filnamn);
+
+ /* Try to load the file! */
+
+ sound_effects[i] = Mix_LoadWAV(filnamn);
+ }
+
+ return (1);
+}
+
+
+/*
+Report our tool count
+
+Tux Paint needs to know how many 'Magic' tools we'll be providing. Return
+that number here. (We simply grab the value of 'NUM_TOOLS' from our 'enum'
+above!)
+
+When Tux Paint is starting up and loading plugins, it will call some of the
+following setup functions once for each tool we report.
+*/
+int example_get_tool_count(magic_api *api)
+{
+ return (NUM_TOOLS);
+}
+
+
+/*
+Load our icons
+
+When Tux Paint is starting up and loading plugins, it asks us to provide
+icons for the 'Magic' tool buttons.
+*/
+SDL_Surface *example_get_icon(magic_api *api, int which)
+{
+ char filnamn[1024];
+
+ /*
+ Assemble the filename from the "icon_filenames[]" array into a full path to
+ a real file.
+
+ Use "api->data_directory" to figure out where our sounds should be. (The
+ "tp-magic-config --dataprefix" command would have told us when we installed
+ our plugin and its data.)
+
+ We use "which" (which of our tools Tux Paint is asking about) as an index
+ into the array.
+ */
+ snprintf(filnamn, sizeof(filnamn), "%simages/magic/%s",
+ api->data_directory, icon_filenames[which]);
+
+ printf("Trying to load %s icon\n", filnamn);
+
+ /* Try to load the image, and return the results to Tux Paint: */
+
+ return (IMG_Load(filnamn));
+}
+
+
+/*
+Report our 'Magic' tool names
+
+When Tux Paint is starting up and loading plugins, it asks us to provide
+names (labels) for the 'Magic' tool buttons.
+*/
+char *example_get_name(magic_api *api, int which)
+{
+ const char *our_name_english;
+ const char *our_name_localized;
+
+ /*
+ Get our name from the "tool_names[]" array.
+
+ We use 'which' (which of our tools Tux Paint is asking about) as an index
+ into the array.
+ */
+ our_name_english = tool_names[which];
+
+
+ /*
+ Return a localized (aka translated) version of our name, if possible.
+
+ We send "gettext()" the English version of the name from our array.
+ */
+ our_name_localized = gettext(our_name_english);
+
+
+ /*
+ Finally, duplicate the string into a new section of memory, and send it to
+ Tux Paint. (Tux Paint keeps track of the string and will free it for us,
+ so we have one less thing to keep track of.)
+ */
+ return (strdup(our_name_localized));
+}
+
+
+/*
+Report our 'Magic' tool groups
+
+When Tux Paint is starting up and loading plugins, it asks us to specify
+where the tool should be grouped.
+*/
+int example_get_group(magic_api *api, int which)
+{
+ /*
+ Return our group, found in the "tool_groups[]" array.
+
+ We use 'which' (which of our tools Tux Paint is asking about) as an index
+ into the array.
+ */
+ return (tool_groups[which]);
+}
+
+
+/*
+Return grouping/ordering number
+
+When Tux Paint is starting up and loading plugins, it asks us to provide a
+numeric value used for sorting 'Magic' tools within a group. Tools will be
+ordered based on this number, and those with the same number will be sorted
+alphabetically by their localized name (see 'example_get_name').
+*/
+int *example_get_order(int which)
+{
+ return 0;
+}
+
+
+/*
+Report our 'Magic' tool descriptions
+
+When Tux Paint is starting up and loading plugins, it asks us to provide
+descriptions of each 'Magic' tool.
+*/
+char *example_get_description(magic_api *api, int which, int mode)
+{
+ const char *our_desc_english;
+ const char *our_desc_localized;
+
+ /*
+ Get our description from the "tool_descriptions[]" array.
+
+ We use 'which' (which of our tools Tux Paint is asking about) as an index
+ into the array.
+ */
+ our_desc_english = tool_descriptions[which];
+
+
+ /*
+ Return a localized (aka translated) version of our description, if
+ possible.
+
+ We send "gettext" the English version of the description from our array.
+ */
+ our_desc_localized = gettext(our_desc_english);
+
+
+ /*
+ Finally, duplicate the string into a new section of memory, and send it to
+ Tux Paint. (Tux Paint keeps track of the string and will free it for us,
+ so we have one less thing to keep track of.)
+ */
+
+ return (strdup(our_desc_localized));
+}
+
+
+// Report whether we accept colors
+
+int example_requires_colors(magic_api *api, int which)
+{
+ if (which == TOOL_ONE)
+ return 1;
+ else
+ return 0;
+}
+
+
+// Report what modes we work in
+
+int example_modes(magic_api *api, int which)
+{
+ /*
+ Both of our tools are painted (neither affect the full-screen), so we're
+ always returning 'MODE_PAINT'
+ */
+
+ return MODE_PAINT;
+}
+
+
+// Report whether the tools offer sizing options
+
+Uint8 example_accepted_sizes(magic_api *api, int which, int mode)
+{
+ if (which == TOOL_ONE)
+ return 1;
+ else
+ return 4;
+}
+
+
+// Return our default sizing option
+
+Uint8 example_default_size(magic_api *api, int which, int mode)
+{
+ return 1;
+}
+
+
+/*
+Stäng av
+
+Tux Paint is quitting. When it quits, it asks all of the plugins to 'clean
+up' after themselves. We, for example, loaded some sound effects at
+startup (in our example_init() function), so we should free the memory used
+by them now.
+*/
+void example_shutdown(magic_api *api)
+{
+ int i;
+
+ /*
+ Free (aka release, aka deallocate) the memory used to store the sound
+ effects that we loaded during example_init():
+ */
+ for (i = 0; i < NUM_TOOLS; i++)
+ Mix_FreeChunk(sound_effects[i]);
+}
+
+
+/* Functions that respond to events in Tux Paint: */
+/* ---------------------------------------------------------------------- */
+
+/* Affect the canvas on click: */
+
+void
+example_click(magic_api *api, int which, int mode,
+ SDL_Surface *canvas, SDL_Surface *ogonblicksbild, int x, int y,
+ SDL_Rect *update_rect)
+{
+ /*
+ In our case, a single click (which is also the start of a drag!) is
+ identical to what dragging does, but just at one point, rather than across
+ a line.
+
+ So we 'cheat' here, by calling our "example_draw()" function with (x,y) for
+ both the beginning and end points of a line.
+ */
+
+ example_drag(api, which, canvas, ogonblicksbild, x, y, x, y, update_rect);
+}
+
+
+/* Affect the canvas on drag: */
+void
+example_drag(magic_api *api, int which,
+ SDL_Surface *canvas, SDL_Surface *ogonblicksbild,
+ int old_x, int old_y, int x, int y, SDL_Rect *update_rect)
+{
+ /*
+ Call Tux Paint's "line()" (line-traversing) function.
+
+ It will calculate a straight line between (old_x,old_y) and (x,y). Every
+ N steps along that line (in this case, N is '1'), it will call _our_
+ function, "example_line_callback()", and send the current X,Y
+ coordinates along the line, as well as other useful things (which of our
+ 'Magic' tools is being used and the current and snapshot canvases).
+ */
+ SDL_LockSurface(ogonblicksbild);
+ SDL_LockSurface(canvas);
+
+ api->line((void *) api, which, canvas, ogonblicksbild,
+ old_x, old_y, x, y, 1, example_line_callback);
+
+ SDL_UnlockSurface(canvas);
+ SDL_UnlockSurface(ogonblicksbild);
+
+ /*
+ If we need to, swap the X and/or Y values, so that the coordinates
+ (old_x,old_y) is always the top left, and the coordinates (x,y) is
+ always the bottom right, so the values we put inside "update_rect" make
+ sense:
+ */
+
+ if (old_x > x)
+ {
+ int temp = old_x;
+
+ old_x = x;
+ x = temp;
+ }
+ if (old_y > y)
+ {
+ int temp = old_y;
+
+ old_y = y;
+ y = temp;
+ }
+
+
+ /*
+ Fill in the elements of the "update_rect" SDL_Rect structure that Tux
+ Paint is sharing with us, therefore telling Tux Paint which part of the
+ canvas has been modified and should be updated.
+ */
+
+ if (which == TOOL_ONE)
+ {
+ update_rect->x = old_x;
+ update_rect->y = old_y;
+ update_rect->w = (x - old_x) + 1;
+ update_rect->h = (y - old_y) + 1;
+ }
+ else
+ {
+ update_rect->x = old_x - example_size;
+ update_rect->y = old_y - example_size;
+ update_rect->w = (x + example_size) - update_rect->x + 1;
+ update_rect->h = (y + example_size) - update_rect->y + 1;
+ }
+
+ /*
+ Play the appropriate sound effect
+
+ We're calculating a value between 0-255 for where the mouse is
+ horizontally across the canvas (0 is the left, ~128 is the center, 255
+ is the right).
+
+ These are the exact values Tux Paint's "playsound()" wants, to determine
+ what speaker to play the sound in. (So the sound will pan from speaker
+ to speaker as you drag the mouse around the canvas!)
+ */
+ api->playsound(sound_effects[which], (x * 255) / canvas->w, /* Left/right pan */
+ 255 /* Near/far distance (loudness) */ );
+}
+
+
+/* Affect the canvas on release: */
+
+void
+example_release(magic_api *api, int which,
+ SDL_Surface *canvas, SDL_Surface *ogonblicksbild, int x,
+ int y, SDL_Rect *update_rect)
+{
+ /*
+ Neither of our effects do anything special when the mouse is released
+ from a click or click-and-drag, so there's no code here...
+ */
+}
+
+
+/*
+Accept colors
+
+When any of our 'Magic' tools are activated by the user, if that tool
+accepts colors, the current color selection is sent to us.
+
+Additionally, if one of our color-accepting tools is active when the user
+changes their chosen, we'll be informed of that as well.
+
+The color comes in as RGB (red, green, and blue) values from 0 (darkest) to
+255 (brightest).
+*/
+void example_set_color(magic_api *api, int which, SDL_Surface *canvas,
+ SDL_Surface *ogonblicksbild, Uint8 r, Uint8 g, Uint8 b,
+ SDL_Rect *update_rect)
+{
+ /*
+ We simply store the RGB values in the global variables we declared at
+ the top of this file.
+ */
+
+ example_r = r;
+ example_g = g;
+ example_b = b;
+}
+
+
+/*
+Accept sizes
+
+When any of our 'Magic' tools are activated by the user, if that tool
+offer's sizes, the current size selection is sent to us.
+
+Additionally, if the user changes the tool's size, we'll be informed of
+that as well.
+
+The size comes in as an unsigned integer (Uint8) between 1 and the value
+returned by our example_accepted_sizes() function during setup.
+*/
+void example_set_size(magic_api *api, int which, int mode,
+ SDL_Surface *canvas, SDL_Surface *ogonblicksbild,
+ Uint8 size, SDL_Rect *update_rect)
+{
+ /*
+ Store the new size into the global variable we declared at the top of
+ this file.
+ */
+
+ example_size = size * 4;
+}
+
+
+/* The Magic Effect Routines! */
+/* ---------------------------------------------------------------------- */
+
+/*
+Our 'callback' function
+
+We do the 'work' in this callback. Our plugin file has just one. Some
+'Magic' tool plugins may have more, depending on the tools they're
+providing. Some have none (since they're not click-and-drag painting-style
+tools).
+
+Our callback function gets called once for every point along a line between
+the mouse's previous and current position, as it's being dragged.
+
+Our callback pays attention to 'which' to determine which of our plugin's
+tools is currently selected.
+*/
+void example_line_callback(void *pointer, int which, SDL_Surface *canvas,
+ SDL_Surface *ogonblicksbild, int x, int y)
+{
+ /*
+ For technical reasons, we can't accept a pointer to the Tux Paint API's
+ "magic_api" struct, like the other functions do.
+
+ Instead, we receive a 'generic' pointer (a "void *"). The line below
+ declares a local "magic_api" pointer variable called "api", and then
+ assigns it to the value of the 'generic' pointer we received.
+
+ The "(magic_api *)" seen below casts the generic "void *" pointer into
+ the 'type' of pointer we want, a pointer to a "magic_api" struct.)
+ */
+ magic_api *api = (magic_api *) pointer;
+ int xx, yy;
+
+ /*
+ This function handles both of our tools, so we need to check which is
+ being used right now. We compare the 'which' argument that Tux Paint
+ sends to us with the values we enumerated above.
+ */
+
+ if (which == TOOL_ONE)
+ {
+ /*
+ Tool number 1 simply draws a single pixel at the (x,y) location. It acts
+ as a 1x1 pixel brush.
+ */
+
+ api->putpixel(canvas, x, y,
+ SDL_MapRGB(canvas->format,
+ example_r, example_g, example_b));
+
+ /*
+ We use "SDL_MapRGB()" to convert the RGB value we receive from Tux Paint
+ for the user's current color selection to a 'Uint32' pixel value we can
+ send to Tux Paint's "putpixel()" function.
+ */
+ }
+ else if (which == TOOL_TWO)
+ {
+ /*
+ Tool number 2 copies a square of pixels (of the size chosen by the user)
+ from the opposite side of the canvas and puts it under the cursor.
+ */
+
+ for (yy = -example_size; yy < example_size; yy++)
+ {
+ for (xx = -example_size; xx < example_size; xx++)
+ {
+ api->putpixel(canvas, x + xx, y + yy,
+ api->getpixel(ogonblicksbild,
+ ogonblicksbild->w - x - xx,
+ ogonblicksbild->h - y - yy));
+
+ /*
+ Here we have simply use Tux Paint's "getpixel()" routine to pull pixel
+ values from the 'snapshot', and then "putpixel()" to draw them right
+ into the 'canvas'.
+
+ Note: putpixel() and getpixel() are safe to use, even if your X,Y values
+ are outside of the SDL surface (e.g., negative, or greater than the
+ surface's width and/or height).
+ */
+ }
+ }
+ }
+}
+
+/*
+Switch-In event
+
+This happens whenever a Magic tool is enabled, either because the user just
+selected it, or they just came back to 'Magic' after using another tool
+(e.g., Brush or Text), and this was the most-recently selected Magic tool.
+
+(This also applies to momentary tools, like Undo and Redo, and
+image-changing tools such as New and Open.)
+
+It also happens when a Magic tool's mode changes (we will first receive a
+call to 'example_switchout()', below, for the old mode).
+
+Our example doesn't do anything when we switch to, or away from, our Magic
+tools, so we just do nothing here.
+*/
+void example_switchin(magic_api *api, int which, int mode,
+ SDL_Surface *canvas)
+{
+}
+
+/*
+Switch-Out event
+
+This happens whenever a Magic tool is disabled, either because the user
+selected a different Magic tool, or they selected a completely different
+tool (e.g., Brush or Text).
+
+(This also applies to momentary tools, like Undo and Redo, and
+image-changing tools such as New and Open.)
+
+(And in that case, our example_switchin() function will be called moments
+later.)
+
+It also happens when a Magic tool's mode changes (we will then receive a
+call to 'example_switchin()', above, for the new mode).
+
+Our example doesn't do anything when we switch to, or away from, our Magic
+tools, so we just do nothing here.
+*/
+void example_switchout(magic_api *api, int which, int mode,
+ SDL_Surface *canvas)
+{
+}
diff --git a/docs/sv_SE.UTF-8/html/tuxpaint-quickstart-guide.html b/docs/sv_SE.UTF-8/html/tuxpaint-quickstart-guide.html
new file mode 100644
index 000000000..bbddbf4e9
--- /dev/null
+++ b/docs/sv_SE.UTF-8/html/tuxpaint-quickstart-guide.html
@@ -0,0 +1,238 @@
+
+
+
+
+ Tux Paint 0.9.35 Quickstart Guide
+
+
+
+
+
Tux Paint 0.9.35 Quickstart Guide
+
+
Tools (Drawing)
+
+
🖌Paint
+
+
Choose a brush on the right.
+
Some brushes are animated 🎞, some are directional ✲, some are both.
+
Change brush spacing with the bars 📶 at the bottom right.
+
Choose a color (see "Colors").
+
Click/tap and drag in the canvas to paint.
+
+
+
⌧Stämplar
+
+
Change categories with the arrow buttons ⇦⇨ near the bottom right.
+
Choose a stamp on the right.
+
Some stamps may be mirrored 🪞, and/or flipped ↕, using controls near the bottom right.
+
Some stamps allow you to choose their color (see "Colors").
+
Change stamp size with the bars 📶 at the bottom right.
+
Rotation ⟳ may be enabled, if desired.
+
+ Click/tap in the canvas to place a stamp.
+
If rotation is enabled, drag to rotate it, and click/tap again to add it to the drawing.
+
+
+
Some stamps play sound effects; press the speaker 🕪 button to hear it again.
+
Some stamps play descriptive sounds; press the headphones 🎧 button to hear it again.
+
+
+
⚟Lines
+
+
(See Paint)
+
Click/tap and drag to draw a line.
+
+
+
⭓Shapes
+
+
Choose a shape on the right.
+
Select whether you want to extend the shape from the center ⧈, or a corner ◰, using controls at the bottom right.
+
Click/tap to position, and drag to set the size of the shape.
+
Drag to rotate it, and click/tap again to add it to the drawing.
+
+
+
🄰Text
+
+
Choose a font on the right.
+
Select whether you want the text bold 𝗔 and/or italic 𝘈, using controls near the bottom right.
+
Change text size using the up 🡁 and down 🡃 arrow buttons at the bottom right.
+
Choose a color (see "Colors").
+
Click/tap the canvas to position an insertion cursor.
+
Enter text via your keyboard or the on-screen keyboard.
+
Click/tap the canvas again if you wish to reposition the text.
+
Press [Enter]/[Return] or click/tap ⮨ to add the text to the drawing and begin entering more text one line down.
+
Or, press [Tab] or click/tap or ⟷ to add the text to the drawing and continue entering more text immediately to the right.
+
Press [Control]+[V] or click/tap "Paste" to paste clipboard text into your input
+
+ Använda tangentbordet på skärmen:
+
"Cmp" can be used to compose characters, e.g. Cmp ' a results in á.
+
"AltGr" can be used to quickly access more characters.
+
Left/Right arrows switches keyboard layouts (e.g., "QWERTY" vs. "ABC")
+
+
+
+
+
🅰Etikett
+
+
(Se text)
+
Labels float 'above' the drawing; you cannot paint or stamp over them, apply Magic effects, etc.
+
Labels may be edited, repositioned, and styled after they've been added to the drawing.
+
Click/tap the ☝ button near the lower right to choose a label. Click/tap the label you wish to modify, then click/tap somewhere else in the canvas to reposition, or change the font/style, change color, and/or type to edit the text.
+
Or, use the 🖑 button near the lower right to "flatten" a label, applying it to the canvas; it may no longer be edited with the Label tool.
+
+
+
🪣Fyll
+
+
Choose a fill mode on the right.
+
Choose a color (see "Colors").
+
+ Click/tap (and drag, with Brush and Linear modes) to fill an area of the picture with a color.
+
Solid - Flood-fills an area with a solid color
+
Brush - Paints with a solid color, without drawing outside the chosen area
+
Linear - Fills the area with a linear gradient (drag to choose angle and gradient)
+
Radial - Fills the area with a radial gradient, centered where you clicked/tapped
+
Shaped - Fills the area with a gradient that follows the contours of the area being filled
+
Eraser - Replaces an area with the background color, or Starter or Template background image
+
+
+
+
+
🪄Magisk
+
+
Choose a magic tool on the right.
+
Change categories with the arrow buttons ⇦⇨ near the bottom right.
+
Some magic tools draw or apply effects via click/tap and drag 〰🪄, some affect the entire drawing 🖻🪄, and some offer both options; use the controls at the bottom right.
+
Some magic tools offer various sizes; change it with the bars 📶 at the bottom right.
+
Some magic tools allow you to choose their color.
+
+
+
🖓Ångra
+
+
Use to undo the most recent changes (multiple undo available).
+
Shortcut: [Control]+[Z]
+
+
+
🖒Gör om
+
+
Use to redo the most recent undone change (multiple redo available).
+
Shortcut: [Control]+[R]
+
+
+
◪Eraser
+
+
Choose the size and shape of the eraser on the right.
+
Click/tap and drag to erase parts of the picture (solid color, or starter or template image).
+
Shortcut: [X] and click/tap in the drawing (not always available)
+
+
+
Tools (Controls)
+
+
🗏Ny
+
+
+ Choose a solid color, starter, or template image to start with.
+
Starters allow drawing "under" a picture (e.g., a coloring book outline), sometimes with a background layer, too.
+
Templates are pictures to start with (background only).
+
Eraser tool ◪ reveals the solid color, or starter/template background.
+
+
+
Click/tap "🕮⮫Open" to begin a new drawing.
+
Click/tap "⤺Back" to abort and return to your current drawing.
+
Shortcut: [Control]+[N]
+
+
+
🕮⮫Open
+
+
Choose a previously-saved drawing to open (or export or erase).
+
Click/tap "🕮⮫Open" to open the saved drawing and continue editing it.
+
Click/tap "🗏⮫Export" to save the drawing to your system's "Pictures" folder.
+
Click/tap "🗑Erase" to move the drawing to your system's Trash/Recycle Bin.
+
Click/tap "⤺Back" to abort and return to your current drawing.
+
+ Click/tap "📽Slides" to switch to slideshow mode:
+
Click/tap two or more of your previously-saved drawings, in the order you want them shown. Numbers will appear on them.
+
Choose the playback speed using the bars 📶 near the lower left.
+
Click/tap "⯈Play" to watch the slideshow/animation.
+
Or, click/tap "🎞GIF Export" to save an animated GIF of the animation to your system's "Pictures" folder.
+
Click/tap "⤺Back" to return to the Open dialog.
+
+
+
Click/tap "🖻⮫🗏Template" to turn the drawing into a new template.
+
Shortcut: [Control]+[O]
+
+
+
🕮⮪Save
+
+
Click/tap to save your drawing.
+
If you've saved previously, you'll be prompted whether to overwrite the previously-saved drawing (a la "File→Save") or create a new saved drawing (a la "File→Save As...")
+
Shortcut: [Control]+[S]
+
+
+
🖶Print
+
+
Click/tap to print your drawing.
+
Hold [Alt] or [Option] while clicking/tapping to bring up printer dialog, if available.
+
Shortcut: [Control]+[P]
+
+
+
🗙Quit
+
+
Click/tap to quit Tux Paint.
+
Shortcut: [Escape]
+
+
+
Färger
+
+
Click/tap to choose a color to use with the Paint, Lines, and Shapes tools, and Stamps and Magic tools that support colors.
+
+ Use the pipette / color picker 💉 button to choose a color from a pixel in your current drawing.
+
Shortcut: When colors are available, press [Control] and click/tap in your drawing, to quickly pick a color from your drawing.
+
+
+
+ Click/tap the rainbow 🌈 button to choose a arbitrary color.
+
Click/tap in the rainbow square to pick a color (hue and saturation).
+
Click/tap in the grey gradient bar to adjust brightness (value).
+
Click/tap the green checkbox ✓ to accept.
+
Click/tap "⤺Back" to abort and dismiss the palette.
+
You may grab the currently-chosen built-in color (if any), the color in the pipette / color picker, or the color in the color mixer, by clicking one of the colored arrow ⇫ buttons.
+
+
+ Click/tap the paint palette 🎨 button to create a color by mixing primary colors: red, yellow, and blue, and white (tint), grey (tone), and black (shade).
+
Click/tap the green checkbox ✓ to accept.
+
Color mixing offers its own 🖓Undo and 🖒Redo options.
+
Click/tap "🗑Clear" to start over with no mixed colors.
+
Click/tap "⤺Back" to abort and dismiss the color mixer.
+
+
+
+
+
Shortcuts while drawing:
+
+
[Control]+Click/tap - Quick pipette / color picker 💉 access
+
[X]+Click/tap - Quick eraser ◪ access
+
[Control]+[Z] - 🖓Ångra
+
[Control]+[R] - 🖒Gör om
+
[Control]+[N] - 🗏Ny
+
[Control]+[O] - 🕮⮫Öppna
+
[Control]+[S] - 🕮⮪Spara
+
[Control]+[P] - 🖶Skriv ut
+
[Alt]+[S] - Toggle sound effects on/off
+
[Escape] - ⤺Bakåt eller 🗙Avsluta
+
+
+
+ Note: On macOS, use the [⌘ (Command)] key in place of the [Control] key.
+
+
+ Last updated: december 29, 2024
+
+
+
+
+
diff --git a/docs/sv_SE.UTF-8/tp_magic_example.c b/docs/sv_SE.UTF-8/tp_magic_example.c
new file mode 100644
index 000000000..9a3d00f07
--- /dev/null
+++ b/docs/sv_SE.UTF-8/tp_magic_example.c
@@ -0,0 +1,700 @@
+/* tp_magic_example.c
+
+ An example of a "Magic" tool plugin for Tux Paint
+ maj 10, 2024
+*/
+
+
+/* Inclusion of header files */
+/* ---------------------------------------------------------------------- */
+
+#include
+#include // För "strdup()"
+#include // För "gettext()"
+
+#include "tp_magic_api.h" // Tux Paint "Magic" tool API header
+#include "SDL_image.h" // For IMG_Load(), to load our PNG icon
+#include "SDL_mixer.h" // For Mix_LoadWAV(), to load our sound effects
+
+
+/* Tool Enumerations: */
+/* ---------------------------------------------------------------------- */
+
+/* What tools we contain: */
+
+
+enum
+{
+ TOOL_ONE, // Becomes '0'
+ TOOL_TWO, // Becomes '1'
+ NUM_TOOLS // Becomes '2'
+};
+
+
+/* Lists of filenames for sounds and icons to load at startup: */
+
+const char *sound_filenames[NUM_TOOLS] = {
+ "tool_one.wav",
+ "tool_two.wav"
+};
+
+const char *icon_filenames[NUM_TOOLS] = {
+ "tool_one.png",
+ "tool_two.png"
+};
+
+
+/*
+NOTE: We use a macro called "gettext_noop()" below in some arrays of
+strings (char *'s) that hold the names and descriptions of our "Magic"
+tools. This allows the strings to be localized into other languages.
+*/
+
+
+/* A list of names for the tools */
+
+const char *tool_names[NUM_TOOLS] = {
+ gettext_noop("A tool"),
+ gettext_noop("Another tool")
+};
+
+
+/* How to group the tools with other similar tools, within the 'Magic' selector: */
+
+const int tool_groups[NUM_TOOLS] = {
+ MAGIC_TYPE_PAINTING,
+ MAGIC_TYPE_DISTORTS
+};
+
+
+/* A list of descriptions of the tools */
+
+const char *tool_descriptions[NUM_TOOLS] = {
+ gettext_noop("This is example tool number 1."),
+ gettext_noop("This is example tool number 2.")
+};
+
+
+
+/* Our global variables: */
+/* ---------------------------------------------------------------------- */
+
+/* Sound effects: */
+Mix_Chunk *sound_effects[NUM_TOOLS];
+
+/* The current color (an "RGB" -- red, green, blue -- value) the user has
+selected in Tux Paint (for tool 1): */
+Uint8 example_r, example_g, example_b;
+
+/* The size the user has selected in Tux Paint (for tool 2): */
+Uint8 example_size;
+
+
+/* Our local function prototypes: */
+/* ---------------------------------------------------------------------- */
+
+/*
+These functions are called by other functions within our plugin, so we
+provide a 'prototype' of them, so the compiler knows what they accept and
+return. This lets us use them in other functions that are declared
+_before_ them.
+*/
+
+void example_drag(magic_api * api, int which, SDL_Surface * canvas,
+ SDL_Surface * ogonblicksbild, int old_x, int old_y, int x,
+ int y, SDL_Rect * update_rect);
+
+void example_line_callback(void *pointer, int which, SDL_Surface * canvas,
+ SDL_Surface * ogonblicksbild, int x, int y);
+
+
+/* Setup Functions: */
+/* ---------------------------------------------------------------------- */
+
+/*
+API Version check
+
+The running copy of Tux Paint that has loaded us first asks us what version
+of the Tux Paint 'Magic' tool plugin API we were built against. If it
+deems us compatible, we'll be used!
+
+All we need to do here is return "TP_MAGIC_API_VERSION", which is defined
+(#define) in the header file "tp_magic_api.h".
+*/
+
+Uint32 example_api_version(void)
+{
+ return (TP_MAGIC_API_VERSION);
+}
+
+
+/*
+Initialization
+
+This happens once, when Tux Paint starts up and is loading all of the
+'Magic' tool plugins. (Assuming what we returned from api_version was
+acceptable!)
+
+All we're doing in this example is loading our sound effects, which we'll
+use later (in example_click(), example_drag(), and example_release()) when
+the user is using our Magic tools.
+
+The memory we allocate here to store the sounds will be freed (aka
+released, aka deallocated) when the user quits Tux Paint, when our
+example_shutdown() function is called.
+*/
+
+int example_init(magic_api *api, Uint8 disabled_features,
+ Uint8 complexity_level)
+{
+ int i;
+ char filnamn[1024];
+
+ for (i = 0; i < NUM_TOOLS; i++)
+ {
+ /*
+ Assemble the filename from the "sound_filenames[]" array into a full path
+ to a real file.
+
+ Use "api->data_directory" to figure out where our sounds should be. (The
+ "tp-magic-config --dataprefix" command would have told us when we installed
+ our plugin and its data.)
+ */
+ snprintf(filnamn, sizeof(filnamn), "%ssounds/magic/%s",
+ api->data_directory, sound_filenames[i]);
+
+ printf("Trying to load %s sound file\n", filnamn);
+
+ /* Try to load the file! */
+
+ sound_effects[i] = Mix_LoadWAV(filnamn);
+ }
+
+ return (1);
+}
+
+
+/*
+Report our tool count
+
+Tux Paint needs to know how many 'Magic' tools we'll be providing. Return
+that number here. (We simply grab the value of 'NUM_TOOLS' from our 'enum'
+above!)
+
+When Tux Paint is starting up and loading plugins, it will call some of the
+following setup functions once for each tool we report.
+*/
+int example_get_tool_count(magic_api *api)
+{
+ return (NUM_TOOLS);
+}
+
+
+/*
+Load our icons
+
+When Tux Paint is starting up and loading plugins, it asks us to provide
+icons for the 'Magic' tool buttons.
+*/
+SDL_Surface *example_get_icon(magic_api *api, int which)
+{
+ char filnamn[1024];
+
+ /*
+ Assemble the filename from the "icon_filenames[]" array into a full path to
+ a real file.
+
+ Use "api->data_directory" to figure out where our sounds should be. (The
+ "tp-magic-config --dataprefix" command would have told us when we installed
+ our plugin and its data.)
+
+ We use "which" (which of our tools Tux Paint is asking about) as an index
+ into the array.
+ */
+ snprintf(filnamn, sizeof(filnamn), "%simages/magic/%s",
+ api->data_directory, icon_filenames[which]);
+
+ printf("Trying to load %s icon\n", filnamn);
+
+ /* Try to load the image, and return the results to Tux Paint: */
+
+ return (IMG_Load(filnamn));
+}
+
+
+/*
+Report our 'Magic' tool names
+
+When Tux Paint is starting up and loading plugins, it asks us to provide
+names (labels) for the 'Magic' tool buttons.
+*/
+char *example_get_name(magic_api *api, int which)
+{
+ const char *our_name_english;
+ const char *our_name_localized;
+
+ /*
+ Get our name from the "tool_names[]" array.
+
+ We use 'which' (which of our tools Tux Paint is asking about) as an index
+ into the array.
+ */
+ our_name_english = tool_names[which];
+
+
+ /*
+ Return a localized (aka translated) version of our name, if possible.
+
+ We send "gettext()" the English version of the name from our array.
+ */
+ our_name_localized = gettext(our_name_english);
+
+
+ /*
+ Finally, duplicate the string into a new section of memory, and send it to
+ Tux Paint. (Tux Paint keeps track of the string and will free it for us,
+ so we have one less thing to keep track of.)
+ */
+ return (strdup(our_name_localized));
+}
+
+
+/*
+Report our 'Magic' tool groups
+
+When Tux Paint is starting up and loading plugins, it asks us to specify
+where the tool should be grouped.
+*/
+int example_get_group(magic_api *api, int which)
+{
+ /*
+ Return our group, found in the "tool_groups[]" array.
+
+ We use 'which' (which of our tools Tux Paint is asking about) as an index
+ into the array.
+ */
+ return (tool_groups[which]);
+}
+
+
+/*
+Return grouping/ordering number
+
+When Tux Paint is starting up and loading plugins, it asks us to provide a
+numeric value used for sorting 'Magic' tools within a group. Tools will be
+ordered based on this number, and those with the same number will be sorted
+alphabetically by their localized name (see 'example_get_name').
+*/
+int *example_get_order(int which)
+{
+ return 0;
+}
+
+
+/*
+Report our 'Magic' tool descriptions
+
+When Tux Paint is starting up and loading plugins, it asks us to provide
+descriptions of each 'Magic' tool.
+*/
+char *example_get_description(magic_api *api, int which, int mode)
+{
+ const char *our_desc_english;
+ const char *our_desc_localized;
+
+ /*
+ Get our description from the "tool_descriptions[]" array.
+
+ We use 'which' (which of our tools Tux Paint is asking about) as an index
+ into the array.
+ */
+ our_desc_english = tool_descriptions[which];
+
+
+ /*
+ Return a localized (aka translated) version of our description, if
+ possible.
+
+ We send "gettext" the English version of the description from our array.
+ */
+ our_desc_localized = gettext(our_desc_english);
+
+
+ /*
+ Finally, duplicate the string into a new section of memory, and send it to
+ Tux Paint. (Tux Paint keeps track of the string and will free it for us,
+ so we have one less thing to keep track of.)
+ */
+
+ return (strdup(our_desc_localized));
+}
+
+
+// Report whether we accept colors
+
+int example_requires_colors(magic_api *api, int which)
+{
+ if (which == TOOL_ONE)
+ return 1;
+ else
+ return 0;
+}
+
+
+// Report what modes we work in
+
+int example_modes(magic_api *api, int which)
+{
+ /*
+ Both of our tools are painted (neither affect the full-screen), so we're
+ always returning 'MODE_PAINT'
+ */
+
+ return MODE_PAINT;
+}
+
+
+// Report whether the tools offer sizing options
+
+Uint8 example_accepted_sizes(magic_api *api, int which, int mode)
+{
+ if (which == TOOL_ONE)
+ return 1;
+ else
+ return 4;
+}
+
+
+// Return our default sizing option
+
+Uint8 example_default_size(magic_api *api, int which, int mode)
+{
+ return 1;
+}
+
+
+/*
+Stäng av
+
+Tux Paint is quitting. When it quits, it asks all of the plugins to 'clean
+up' after themselves. We, for example, loaded some sound effects at
+startup (in our example_init() function), so we should free the memory used
+by them now.
+*/
+void example_shutdown(magic_api *api)
+{
+ int i;
+
+ /*
+ Free (aka release, aka deallocate) the memory used to store the sound
+ effects that we loaded during example_init():
+ */
+ for (i = 0; i < NUM_TOOLS; i++)
+ Mix_FreeChunk(sound_effects[i]);
+}
+
+
+/* Functions that respond to events in Tux Paint: */
+/* ---------------------------------------------------------------------- */
+
+/* Affect the canvas on click: */
+
+void
+example_click(magic_api *api, int which, int mode,
+ SDL_Surface *canvas, SDL_Surface *ogonblicksbild, int x, int y,
+ SDL_Rect *update_rect)
+{
+ /*
+ In our case, a single click (which is also the start of a drag!) is
+ identical to what dragging does, but just at one point, rather than across
+ a line.
+
+ So we 'cheat' here, by calling our "example_draw()" function with (x,y) for
+ both the beginning and end points of a line.
+ */
+
+ example_drag(api, which, canvas, ogonblicksbild, x, y, x, y, update_rect);
+}
+
+
+/* Affect the canvas on drag: */
+void
+example_drag(magic_api *api, int which,
+ SDL_Surface *canvas, SDL_Surface *ogonblicksbild,
+ int old_x, int old_y, int x, int y, SDL_Rect *update_rect)
+{
+ /*
+ Call Tux Paint's "line()" (line-traversing) function.
+
+ It will calculate a straight line between (old_x,old_y) and (x,y). Every
+ N steps along that line (in this case, N is '1'), it will call _our_
+ function, "example_line_callback()", and send the current X,Y
+ coordinates along the line, as well as other useful things (which of our
+ 'Magic' tools is being used and the current and snapshot canvases).
+ */
+ SDL_LockSurface(ogonblicksbild);
+ SDL_LockSurface(canvas);
+
+ api->line((void *) api, which, canvas, ogonblicksbild,
+ old_x, old_y, x, y, 1, example_line_callback);
+
+ SDL_UnlockSurface(canvas);
+ SDL_UnlockSurface(ogonblicksbild);
+
+ /*
+ If we need to, swap the X and/or Y values, so that the coordinates
+ (old_x,old_y) is always the top left, and the coordinates (x,y) is
+ always the bottom right, so the values we put inside "update_rect" make
+ sense:
+ */
+
+ if (old_x > x)
+ {
+ int temp = old_x;
+
+ old_x = x;
+ x = temp;
+ }
+ if (old_y > y)
+ {
+ int temp = old_y;
+
+ old_y = y;
+ y = temp;
+ }
+
+
+ /*
+ Fill in the elements of the "update_rect" SDL_Rect structure that Tux
+ Paint is sharing with us, therefore telling Tux Paint which part of the
+ canvas has been modified and should be updated.
+ */
+
+ if (which == TOOL_ONE)
+ {
+ update_rect->x = old_x;
+ update_rect->y = old_y;
+ update_rect->w = (x - old_x) + 1;
+ update_rect->h = (y - old_y) + 1;
+ }
+ else
+ {
+ update_rect->x = old_x - example_size;
+ update_rect->y = old_y - example_size;
+ update_rect->w = (x + example_size) - update_rect->x + 1;
+ update_rect->h = (y + example_size) - update_rect->y + 1;
+ }
+
+ /*
+ Play the appropriate sound effect
+
+ We're calculating a value between 0-255 for where the mouse is
+ horizontally across the canvas (0 is the left, ~128 is the center, 255
+ is the right).
+
+ These are the exact values Tux Paint's "playsound()" wants, to determine
+ what speaker to play the sound in. (So the sound will pan from speaker
+ to speaker as you drag the mouse around the canvas!)
+ */
+ api->playsound(sound_effects[which], (x * 255) / canvas->w, /* Left/right pan */
+ 255 /* Near/far distance (loudness) */ );
+}
+
+
+/* Affect the canvas on release: */
+
+void
+example_release(magic_api *api, int which,
+ SDL_Surface *canvas, SDL_Surface *ogonblicksbild, int x,
+ int y, SDL_Rect *update_rect)
+{
+ /*
+ Neither of our effects do anything special when the mouse is released
+ from a click or click-and-drag, so there's no code here...
+ */
+}
+
+
+/*
+Accept colors
+
+When any of our 'Magic' tools are activated by the user, if that tool
+accepts colors, the current color selection is sent to us.
+
+Additionally, if one of our color-accepting tools is active when the user
+changes their chosen, we'll be informed of that as well.
+
+The color comes in as RGB (red, green, and blue) values from 0 (darkest) to
+255 (brightest).
+*/
+void example_set_color(magic_api *api, int which, SDL_Surface *canvas,
+ SDL_Surface *ogonblicksbild, Uint8 r, Uint8 g, Uint8 b,
+ SDL_Rect *update_rect)
+{
+ /*
+ We simply store the RGB values in the global variables we declared at
+ the top of this file.
+ */
+
+ example_r = r;
+ example_g = g;
+ example_b = b;
+}
+
+
+/*
+Accept sizes
+
+When any of our 'Magic' tools are activated by the user, if that tool
+offer's sizes, the current size selection is sent to us.
+
+Additionally, if the user changes the tool's size, we'll be informed of
+that as well.
+
+The size comes in as an unsigned integer (Uint8) between 1 and the value
+returned by our example_accepted_sizes() function during setup.
+*/
+void example_set_size(magic_api *api, int which, int mode,
+ SDL_Surface *canvas, SDL_Surface *ogonblicksbild,
+ Uint8 size, SDL_Rect *update_rect)
+{
+ /*
+ Store the new size into the global variable we declared at the top of
+ this file.
+ */
+
+ example_size = size * 4;
+}
+
+
+/* The Magic Effect Routines! */
+/* ---------------------------------------------------------------------- */
+
+/*
+Our 'callback' function
+
+We do the 'work' in this callback. Our plugin file has just one. Some
+'Magic' tool plugins may have more, depending on the tools they're
+providing. Some have none (since they're not click-and-drag painting-style
+tools).
+
+Our callback function gets called once for every point along a line between
+the mouse's previous and current position, as it's being dragged.
+
+Our callback pays attention to 'which' to determine which of our plugin's
+tools is currently selected.
+*/
+void example_line_callback(void *pointer, int which, SDL_Surface *canvas,
+ SDL_Surface *ogonblicksbild, int x, int y)
+{
+ /*
+ For technical reasons, we can't accept a pointer to the Tux Paint API's
+ "magic_api" struct, like the other functions do.
+
+ Instead, we receive a 'generic' pointer (a "void *"). The line below
+ declares a local "magic_api" pointer variable called "api", and then
+ assigns it to the value of the 'generic' pointer we received.
+
+ The "(magic_api *)" seen below casts the generic "void *" pointer into
+ the 'type' of pointer we want, a pointer to a "magic_api" struct.)
+ */
+ magic_api *api = (magic_api *) pointer;
+ int xx, yy;
+
+ /*
+ This function handles both of our tools, so we need to check which is
+ being used right now. We compare the 'which' argument that Tux Paint
+ sends to us with the values we enumerated above.
+ */
+
+ if (which == TOOL_ONE)
+ {
+ /*
+ Tool number 1 simply draws a single pixel at the (x,y) location. It acts
+ as a 1x1 pixel brush.
+ */
+
+ api->putpixel(canvas, x, y,
+ SDL_MapRGB(canvas->format,
+ example_r, example_g, example_b));
+
+ /*
+ We use "SDL_MapRGB()" to convert the RGB value we receive from Tux Paint
+ for the user's current color selection to a 'Uint32' pixel value we can
+ send to Tux Paint's "putpixel()" function.
+ */
+ }
+ else if (which == TOOL_TWO)
+ {
+ /*
+ Tool number 2 copies a square of pixels (of the size chosen by the user)
+ from the opposite side of the canvas and puts it under the cursor.
+ */
+
+ for (yy = -example_size; yy < example_size; yy++)
+ {
+ for (xx = -example_size; xx < example_size; xx++)
+ {
+ api->putpixel(canvas, x + xx, y + yy,
+ api->getpixel(ogonblicksbild,
+ ogonblicksbild->w - x - xx,
+ ogonblicksbild->h - y - yy));
+
+ /*
+ Here we have simply use Tux Paint's "getpixel()" routine to pull pixel
+ values from the 'snapshot', and then "putpixel()" to draw them right
+ into the 'canvas'.
+
+ Note: putpixel() and getpixel() are safe to use, even if your X,Y values
+ are outside of the SDL surface (e.g., negative, or greater than the
+ surface's width and/or height).
+ */
+ }
+ }
+ }
+}
+
+/*
+Switch-In event
+
+This happens whenever a Magic tool is enabled, either because the user just
+selected it, or they just came back to 'Magic' after using another tool
+(e.g., Brush or Text), and this was the most-recently selected Magic tool.
+
+(This also applies to momentary tools, like Undo and Redo, and
+image-changing tools such as New and Open.)
+
+It also happens when a Magic tool's mode changes (we will first receive a
+call to 'example_switchout()', below, for the old mode).
+
+Our example doesn't do anything when we switch to, or away from, our Magic
+tools, so we just do nothing here.
+*/
+void example_switchin(magic_api *api, int which, int mode,
+ SDL_Surface *canvas)
+{
+}
+
+/*
+Switch-Out event
+
+This happens whenever a Magic tool is disabled, either because the user
+selected a different Magic tool, or they selected a completely different
+tool (e.g., Brush or Text).
+
+(This also applies to momentary tools, like Undo and Redo, and
+image-changing tools such as New and Open.)
+
+(And in that case, our example_switchin() function will be called moments
+later.)
+
+It also happens when a Magic tool's mode changes (we will then receive a
+call to 'example_switchin()', above, for the new mode).
+
+Our example doesn't do anything when we switch to, or away from, our Magic
+tools, so we just do nothing here.
+*/
+void example_switchout(magic_api *api, int which, int mode,
+ SDL_Surface *canvas)
+{
+}
diff --git a/docs/sv_SE.UTF-8/tuxpaint-quickstart-guide.txt b/docs/sv_SE.UTF-8/tuxpaint-quickstart-guide.txt
new file mode 100644
index 000000000..2ae77c05b
--- /dev/null
+++ b/docs/sv_SE.UTF-8/tuxpaint-quickstart-guide.txt
@@ -0,0 +1,217 @@
+Tux Paint 0.9.35 Quickstart Guide
+
+ ### Tools (Drawing) ###
+
+## 🖌Paint ##
+
+ * Choose a brush on the right.
+ * Some brushes are animated 🎞, some are directional ✲, some are both.
+ * Change brush spacing with the bars 📶 at the bottom right.
+ * Choose a color (see "Colors").
+ * Click/tap and drag in the canvas to paint.
+
+## ⌧Stämplar ##
+
+ * Change categories with the arrow buttons ⇦⇨ near the bottom right.
+ * Choose a stamp on the right.
+ * Some stamps may be mirrored 🪞, and/or flipped ↕, using controls near the
+ bottom right.
+ * Some stamps allow you to choose their color (see "Colors").
+ * Change stamp size with the bars 📶 at the bottom right.
+ * Rotation ⟳ may be enabled, if desired.
+ * Click/tap in the canvas to place a stamp.
+ + If rotation is enabled, drag to rotate it, and click/tap again to add
+ it to the drawing.
+ * Some stamps play sound effects; press the speaker 🕪 button to hear it
+ again.
+ * Some stamps play descriptive sounds; press the headphones 🎧 button to hear
+ it again.
+
+## ⚟Lines ##
+
+ * (See Paint)
+ * Click/tap and drag to draw a line.
+
+## ⭓Shapes ##
+
+ * Choose a shape on the right.
+ * Select whether you want to extend the shape from the center ⧈, or a corner
+ ◰, using controls at the bottom right.
+ * Click/tap to position, and drag to set the size of the shape.
+ * Drag to rotate it, and click/tap again to add it to the drawing.
+
+## 🄰Text ##
+
+ * Choose a font on the right.
+ * Select whether you want the text bold 𝗔 and/or italic 𝘈, using controls
+ near the bottom right.
+ * Change text size using the up 🡁 and down 🡃 arrow buttons at the bottom
+ right.
+ * Choose a color (see "Colors").
+ * Click/tap the canvas to position an insertion cursor.
+ * Enter text via your keyboard or the on-screen keyboard.
+ * Click/tap the canvas again if you wish to reposition the text.
+ * Press [Enter]/[Return] or click/tap ⮨ to add the text to the drawing and
+ begin entering more text one line down.
+ * Or, press [Tab] or click/tap or ⟷ to add the text to the drawing and
+ continue entering more text immediately to the right.
+ * Press [Control]+[V] or click/tap "Paste" to paste clipboard text into your
+ input
+ * Använda tangentbordet på skärmen:
+ + "Cmp" can be used to compose characters, e.g. Cmp ' a results in á.
+ + "AltGr" can be used to quickly access more characters.
+ + Left/Right arrows switches keyboard layouts (e.g., "QWERTY" vs. "ABC")
+
+## 🅰Etikett ##
+
+ * (Se text)
+ * Labels float 'above' the drawing; you cannot paint or stamp over them,
+ apply Magic effects, etc.
+ * Labels may be edited, repositioned, and styled after they've been added to
+ the drawing.
+ * Click/tap the ☝ button near the lower right to choose a label. Click/tap
+ the label you wish to modify, then click/tap somewhere else in the canvas
+ to reposition, or change the font/style, change color, and/or type to edit
+ the text.
+ * Or, use the 🖑 button near the lower right to "flatten" a label, applying it
+ to the canvas; it may no longer be edited with the Label tool.
+
+## 🪣Fyll ##
+
+ * Choose a fill mode on the right.
+ * Choose a color (see "Colors").
+ * Click/tap (and drag, with Brush and Linear modes) to fill an area of the
+ picture with a color.
+ + Solid - Flood-fills an area with a solid color
+ + Brush - Paints with a solid color, without drawing outside the chosen
+ area
+ + Linear - Fills the area with a linear gradient (drag to choose angle
+ and gradient)
+ + Radial - Fills the area with a radial gradient, centered where you
+ clicked/tapped
+ + Shaped - Fills the area with a gradient that follows the contours of
+ the area being filled
+ + Eraser - Replaces an area with the background color, or Starter or
+ Template background image
+
+## 🪄Magisk ##
+
+ * Choose a magic tool on the right.
+ * Change categories with the arrow buttons ⇦⇨ near the bottom right.
+ * Some magic tools draw or apply effects via click/tap and drag 〰🪄, some
+ affect the entire drawing 🖻🪄, and some offer both options; use the controls
+ at the bottom right.
+ * Some magic tools offer various sizes; change it with the bars 📶 at the
+ bottom right.
+ * Some magic tools allow you to choose their color.
+
+## 🖓Ångra ##
+
+ * Use to undo the most recent changes (multiple undo available).
+ * Shortcut: [Control]+[Z]
+
+## 🖒Gör om ##
+
+ * Use to redo the most recent undone change (multiple redo available).
+ * Shortcut: [Control]+[R]
+
+## ◪Eraser ##
+
+ * Choose the size and shape of the eraser on the right.
+ * Click/tap and drag to erase parts of the picture (solid color, or starter
+ or template image).
+ * Shortcut: [X] and click/tap in the drawing (not always available)
+
+ ### Tools (Controls) ###
+
+## 🗏Ny ##
+
+ * Choose a solid color, starter, or template image to start with.
+ + Starters allow drawing "under" a picture (e.g., a coloring book
+ outline), sometimes with a background layer, too.
+ + Templates are pictures to start with (background only).
+ + Eraser tool ◪ reveals the solid color, or starter/template background.
+ * Click/tap "🕮⮫Open" to begin a new drawing.
+ * Click/tap "⤺Back" to abort and return to your current drawing.
+ * Shortcut: [Control]+[N]
+
+## 🕮⮫Open ##
+
+ * Choose a previously-saved drawing to open (or export or erase).
+ * Click/tap "🕮⮫Open" to open the saved drawing and continue editing it.
+ * Click/tap "🗏⮫Export" to save the drawing to your system's "Pictures"
+ folder.
+ * Click/tap "🗑Erase" to move the drawing to your system's Trash/Recycle Bin.
+ * Click/tap "⤺Back" to abort and return to your current drawing.
+ * Click/tap "📽Slides" to switch to slideshow mode:
+ + Click/tap two or more of your previously-saved drawings, in the order
+ you want them shown. Numbers will appear on them.
+ + Choose the playback speed using the bars 📶 near the lower left.
+ + Click/tap "⯈Play" to watch the slideshow/animation.
+ + Or, click/tap "🎞GIF Export" to save an animated GIF of the animation to
+ your system's "Pictures" folder.
+ + Click/tap "⤺Back" to return to the Open dialog.
+ * Click/tap "🖻⮫🗏Template" to turn the drawing into a new template.
+ * Shortcut: [Control]+[O]
+
+## 🕮⮪Save ##
+
+ * Click/tap to save your drawing.
+ * If you've saved previously, you'll be prompted whether to overwrite the
+ previously-saved drawing (a la "File→Save") or create a new saved drawing
+ (a la "File→Save As...")
+ * Shortcut: [Control]+[S]
+
+## 🖶Print ##
+
+ * Click/tap to print your drawing.
+ * Hold [Alt] or [Option] while clicking/tapping to bring up printer dialog,
+ if available.
+ * Shortcut: [Control]+[P]
+
+## 🗙Quit ##
+
+ * Click/tap to quit Tux Paint.
+ * Shortcut: [Escape]
+
+ ### Färger ###
+
+ * Click/tap to choose a color to use with the Paint, Lines, and Shapes tools,
+ and Stamps and Magic tools that support colors.
+ * Use the pipette / color picker 💉 button to choose a color from a pixel in
+ your current drawing.
+ + Shortcut: When colors are available, press [Control] and click/tap in
+ your drawing, to quickly pick a color from your drawing.
+ * Click/tap the rainbow 🌈 button to choose a arbitrary color.
+ + Click/tap in the rainbow square to pick a color (hue and saturation).
+ + Click/tap in the grey gradient bar to adjust brightness (value).
+ + Click/tap the green checkbox ✓ to accept.
+ + Click/tap "⤺Back" to abort and dismiss the palette.
+ + You may grab the currently-chosen built-in color (if any), the color in
+ the pipette / color picker, or the color in the color mixer, by
+ clicking one of the colored arrow ⇫ buttons.
+ * Click/tap the paint palette 🎨 button to create a color by mixing primary
+ colors: red, yellow, and blue, and white (tint), grey (tone), and black
+ (shade).
+ + Click/tap the green checkbox ✓ to accept.
+ + Color mixing offers its own 🖓Undo and 🖒Redo options.
+ + Click/tap "🗑Clear" to start over with no mixed colors.
+ + Click/tap "⤺Back" to abort and dismiss the color mixer.
+
+ ### Shortcuts while drawing: ###
+
+ * [Control]+Click/tap - Quick pipette / color picker 💉 access
+ * [X]+Click/tap - Quick eraser ◪ access
+ * [Control]+[Z] - 🖓Ångra
+ * [Control]+[R] - 🖒Gör om
+ * [Control]+[N] - 🗏Ny
+ * [Control]+[O] - 🕮⮫Öppna
+ * [Control]+[S] - 🕮⮪Spara
+ * [Control]+[P] - 🖶Skriv ut
+ * [Alt]+[S] - Toggle sound effects on/off
+ * [Escape] - ⤺Bakåt eller 🗙Avsluta
+
+Note: On macOS, use the [⌘ (Command)] key in place of the [Control] key.
+
+Last updated: december 29, 2024
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/1pt_perspective.txt b/magic/magic-docs/sv_SE.UTF-8/1pt_perspective.txt
new file mode 100644
index 000000000..2943024c0
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/1pt_perspective.txt
@@ -0,0 +1,26 @@
+ Tux Paint "Magic" Tool: 1-Point Draw
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag to draw with 1-point perspective. Lines will only go towards
+your vanishing point, or be horizontal or vertical. Use "1-Point Select" to
+choose your vanishing point (only available in "advanced" mode).
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+This tool reacts to the "complexity" (expertise level) setting.
+
+See also: 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point Draw, 3-Point
+Select, Isometric Line, Dimetric Select, Dimetric Draw, Trimetric Select,
+Trimetric Draw, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/1pt_perspective_select.txt b/magic/magic-docs/sv_SE.UTF-8/1pt_perspective_select.txt
new file mode 100644
index 000000000..2d2e844f6
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/1pt_perspective_select.txt
@@ -0,0 +1,22 @@
+ Tux Paint "Magic" Tool: 1-Point Select
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click (and drag) to position the vanishing point that will be used with the
+"1-Point Draw" tool.
+
+This tool is operated in a freehand fashion.
+
+This tool is only available with "complexity" (expertise level) set to
+'Advanced'.
+
+See also: 1-Point Draw, 2-Point Draw, 2-Point Select, 3-Point Draw, 3-Point
+Select, Isometric Line, Dimetric Select, Dimetric Draw, Trimetric Select,
+Trimetric Draw, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/2pt_perspective.txt b/magic/magic-docs/sv_SE.UTF-8/2pt_perspective.txt
new file mode 100644
index 000000000..0ee98d979
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/2pt_perspective.txt
@@ -0,0 +1,27 @@
+ Tux Paint "Magic" Tool: 2-Point Draw
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag to draw with 2-point perspective. Lines will only go towards
+your two vanishing points, or aligned with either the "horizon" defined by the
+two vanishing points, or a line perpendicular to that "horizon". Use "2-Point
+Select" to choose your vanishing points (only available in "advanced" mode).
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+This tool is not available with "complexity" (expertise level) set to 'Novice'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Select, 3-Point Draw, 3-Point
+Select, Isometric Line, Dimetric Select, Dimetric Draw, Trimetric Select,
+Trimetric Draw, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/2pt_perspective_select.txt b/magic/magic-docs/sv_SE.UTF-8/2pt_perspective_select.txt
new file mode 100644
index 000000000..04228a767
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/2pt_perspective_select.txt
@@ -0,0 +1,22 @@
+ Tux Paint "Magic" Tool: 2-Point Select
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click (and drag) to position the two vanishing points that will be used with
+the "2-Point Draw" tool.
+
+This tool is operated in a freehand fashion.
+
+This tool is only available with "complexity" (expertise level) set to
+'Advanced'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 3-Point Draw, 3-Point
+Select, Isometric Line, Dimetric Select, Dimetric Draw, Trimetric Select,
+Trimetric Draw, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/3dglasses.txt b/magic/magic-docs/sv_SE.UTF-8/3dglasses.txt
new file mode 100644
index 000000000..d16cd6fb8
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/3dglasses.txt
@@ -0,0 +1,24 @@
+ Tux Paint "Magic" Tool: 3D-glasögon
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This tool horizontally separates your entire picture's color channels, letting
+you create anaglyphic pictures that can be viewed with various kinds of 3D
+glasses. Options include: Red/Cyan, Red/Blue, Red/Green, and Magenta/Cyan —
+controlled by the 'size' setting — unless running with "complexity" (expertise
+level) set to 'Novice'.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool reacts to the "complexity" (expertise level) setting.
+
+See also: Color Sep. & Double Vision.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/3pt_perspective.txt b/magic/magic-docs/sv_SE.UTF-8/3pt_perspective.txt
new file mode 100644
index 000000000..acc8e7393
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/3pt_perspective.txt
@@ -0,0 +1,29 @@
+ Tux Paint "Magic" Tool: 3-Point Draw
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag to draw with 3-point perspective. Lines will only go towards
+your three vanishing points, or aligned with the "horizon" defined by two of
+the vanishing points. Use "3-Point Select" to choose your vanishing points
+(only available in "advanced" mode). In "beginner" mode, two "3-Point Draw"
+tools will be available, one with upwards-looking vanishing points, and one
+with downwards-looking vanishing points.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+This tool is not available with "complexity" (expertise level) set to 'Novice'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point
+Select, Isometric Line, Dimetric Select, Dimetric Draw, Trimetric Select,
+Trimetric Draw, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/3pt_perspective_select.txt b/magic/magic-docs/sv_SE.UTF-8/3pt_perspective_select.txt
new file mode 100644
index 000000000..86dff3c4f
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/3pt_perspective_select.txt
@@ -0,0 +1,22 @@
+ Tux Paint "Magic" Tool: 3-Point Select
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click (and drag) to position the three vanishing points that will be used with
+the "3-Point Draw" tool.
+
+This tool is operated in a freehand fashion.
+
+This tool is only available with "complexity" (expertise level) set to
+'Advanced'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point
+Draw, Isometric Line, Dimetric Select, Dimetric Draw, Trimetric Select,
+Trimetric Draw, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/ascii_color_computer.txt b/magic/magic-docs/sv_SE.UTF-8/ascii_color_computer.txt
new file mode 100644
index 000000000..373b98653
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/ascii_color_computer.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: ASCII-färgdator
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+Transform your picture into colored computer "ASCII art".
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: ASCII-dator & ASCII Typewriter.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/ascii_computer.txt b/magic/magic-docs/sv_SE.UTF-8/ascii_computer.txt
new file mode 100644
index 000000000..897c681c1
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/ascii_computer.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: ASCII-dator
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+Transform your picture into "ASCII art", computer-style.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: ASCII Typewriter & ASCII-färgdator.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/ascii_typewriter.txt b/magic/magic-docs/sv_SE.UTF-8/ascii_typewriter.txt
new file mode 100644
index 000000000..6ddacf0c5
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/ascii_typewriter.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: ASCII Typewriter
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+Transform your picture into "ASCII art", typewriter-style.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: ASCII-dator & ASCII-färgdator.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/blinds.txt b/magic/magic-docs/sv_SE.UTF-8/blinds.txt
new file mode 100644
index 000000000..5c2f4d6b8
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/blinds.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Blind
+
+ ### Group: Picture Decorations ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Click towards the edge of your picture to pull window blinds over it. Move
+perpendicularly to open or close the blinds.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/blocks.txt b/magic/magic-docs/sv_SE.UTF-8/blocks.txt
new file mode 100644
index 000000000..0fd924e11
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/blocks.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Blocks
+
+ ### Group: Distorts ###
+
+ ## Authors: Bill Kendrick
+ Albert Cahalan
+ ##
+
+This makes the picture blocky looking ("pixelated") wherever you drag the
+mouse.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/bloom.txt b/magic/magic-docs/sv_SE.UTF-8/bloom.txt
new file mode 100644
index 000000000..d8600016d
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/bloom.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Blommande
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+Add a glowing "bloom" effect to pictures.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/blur.txt b/magic/magic-docs/sv_SE.UTF-8/blur.txt
new file mode 100644
index 000000000..cd57f5d6a
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/blur.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Blur
+
+ ### Group: Distorts ###
+
+ ## Authors: Bill Kendrick
+ Albert Cahalan
+ ##
+
+This makes the picture fuzzy wherever you drag the mouse.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Sharpen & Smudge.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/bricks.txt b/magic/magic-docs/sv_SE.UTF-8/bricks.txt
new file mode 100644
index 000000000..eef45e4d8
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/bricks.txt
@@ -0,0 +1,23 @@
+ Tux Paint "Magic" Tool: Tegelstenar
+
+ ### Group: Målning ###
+
+ ## Author: Albert Cahalan ##
+
+This tool intelligently paints brick patterns on the canvas. The bricks can be
+tinted various redish hues by selecting different colors in the color palette.
+(If the Magic size feature is disabled, multiple "Tegelstenar" tools will be
+made available.)
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Pixels.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/calligraphy.txt b/magic/magic-docs/sv_SE.UTF-8/calligraphy.txt
new file mode 100644
index 000000000..248385eb1
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/calligraphy.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Kalligrafi
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+This paints on the canvas with a calligraphy pen. The quicker you move, the
+thinner the lines.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/cartoon.txt b/magic/magic-docs/sv_SE.UTF-8/cartoon.txt
new file mode 100644
index 000000000..8cf0f14b9
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/cartoon.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Cartoon
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This makes the picture look like a cartoon — with thick outlines and bright,
+solid colors — wherever you move the mouse.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/chalk.txt b/magic/magic-docs/sv_SE.UTF-8/chalk.txt
new file mode 100644
index 000000000..36fc009a5
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/chalk.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Krita
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+This makes parts of the picture (where you move the mouse) look like a chalk
+drawing.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/checkerboard.txt b/magic/magic-docs/sv_SE.UTF-8/checkerboard.txt
new file mode 100644
index 000000000..23709796f
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/checkerboard.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Checkerboard
+
+ ### Group: Picture Decorations ###
+
+ ## Author: Bill Kendrick ##
+
+This covers the entire canvas with a checkboard pattern using the current
+color. Drag to change the size of the squares.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/circles.txt b/magic/magic-docs/sv_SE.UTF-8/circles.txt
new file mode 100644
index 000000000..2ecc014e2
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/circles.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Cirklar
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+This transforms the picture into circular brush strokes around where you
+clicked.
+
+This tool offers both freehand and one-click operation.
+
+See also: Rays.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/clone.txt b/magic/magic-docs/sv_SE.UTF-8/clone.txt
new file mode 100644
index 000000000..fa8cf36e7
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/clone.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Klona
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+Clone (copy, via painting) part of the picture. Click ones to choose the
+source, then click and drag to clone it elsewhere in the drawing. Once you
+release, click to choose another source and start again.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+This tool reacts to the "complexity" (expertise level) setting.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/color_and_white.txt b/magic/magic-docs/sv_SE.UTF-8/color_and_white.txt
new file mode 100644
index 000000000..32576afc2
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/color_and_white.txt
@@ -0,0 +1,22 @@
+ Tux Paint "Magic" Tool: Färg och vitt
+
+ ### Group: Color Filters ###
+
+ ## Author: Andrew Corcoran ##
+
+This makes parts of your picture two colors: white, and the color chosen in the
+palette — i.e., if you choose black, you'll get a black and white picture; no
+shades or dithering are used. (This is also known as a "threshold" effect.)
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Dither & Dither (Keep Colors).
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/color_shift.txt b/magic/magic-docs/sv_SE.UTF-8/color_shift.txt
new file mode 100644
index 000000000..0b08a9281
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/color_shift.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Color Shift
+
+ ### Group: Color Filters ###
+
+ ## Author: Andrew Corcoran ##
+
+This shifts the colors in your picture.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/colorsep.txt b/magic/magic-docs/sv_SE.UTF-8/colorsep.txt
new file mode 100644
index 000000000..e0adc3b80
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/colorsep.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Color Sep.
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This tool separates one color out of your entire picture, shifting colors away
+from each other (similar to '3D Glasses', but you may choose the any color to
+separate, and may move in any direction).
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+See also: 3D-glasögon & Double Vision.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/comic_dots.txt b/magic/magic-docs/sv_SE.UTF-8/comic_dots.txt
new file mode 100644
index 000000000..81d58bac2
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/comic_dots.txt
@@ -0,0 +1,21 @@
+ Tux Paint "Magic" Tool: Comic Dots
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draws a repeating dot pattern, simulating the "Ben Day process" used in early
+comic books.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Halvton.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/concentric-circle.txt b/magic/magic-docs/sv_SE.UTF-8/concentric-circle.txt
new file mode 100644
index 000000000..c615a8815
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/concentric-circle.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Concentric Circle
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw concentric circles.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Loops, Krumelurer, Spiral, Fyrkantig spiral, & Concentric Square.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/concentric-square.txt b/magic/magic-docs/sv_SE.UTF-8/concentric-square.txt
new file mode 100644
index 000000000..ce158ee44
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/concentric-square.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Concentric Square
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw concentric squares.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Loops, Krumelurer, Spiral, Fyrkantig spiral, & Concentric Circle.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/confetti.txt b/magic/magic-docs/sv_SE.UTF-8/confetti.txt
new file mode 100644
index 000000000..c214a6da6
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/confetti.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Confetti
+
+ ### Group: Målning ###
+
+ ## Author: Adam Rakowski ##
+
+Throw confetti around your picture!
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/crescent.txt b/magic/magic-docs/sv_SE.UTF-8/crescent.txt
new file mode 100644
index 000000000..43647efa5
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/crescent.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Crescent
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw one of various crescent shapes at a chosen angle.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/darken.txt b/magic/magic-docs/sv_SE.UTF-8/darken.txt
new file mode 100644
index 000000000..1b8777724
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/darken.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Darken
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This darkens the colors wherever you drag the mouse. (Do it to the same spot
+many times, and it will eventually become black.)
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Ljusare, Tint, Mätta, & Avmätta.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/desaturate.txt b/magic/magic-docs/sv_SE.UTF-8/desaturate.txt
new file mode 100644
index 000000000..bc8d0ee30
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/desaturate.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Avmätta
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This desaturates the colors wherever you drag the mouse. (Do it to the same
+spot many times, and it will eventually become greyscale.)
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Mätta, Darken, Ljusare, Tint, Remove Color, & Behåll färg.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/dimetric_draw.txt b/magic/magic-docs/sv_SE.UTF-8/dimetric_draw.txt
new file mode 100644
index 000000000..f4130010e
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/dimetric_draw.txt
@@ -0,0 +1,25 @@
+ Tux Paint "Magic" Tool: Dimetric Draw
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag to draw in a dimetric projection. Lines will only go vertically,
+or at a chosen angle and its mirror. Use "Dimetric Select" to adjust the angle.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+This tool is not available with "complexity" (expertise level) set to 'Novice'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point
+Draw, 3-Point Select, Isometric Line, Dimetric Select, Trimetric Select,
+Trimetric Draw, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/dimetric_select.txt b/magic/magic-docs/sv_SE.UTF-8/dimetric_select.txt
new file mode 100644
index 000000000..e3f97a634
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/dimetric_select.txt
@@ -0,0 +1,22 @@
+ Tux Paint "Magic" Tool: Dimetric Select
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click (and drag) to position the pair of angles that will be used with the
+"Dimetric Draw" tool.
+
+This tool is operated in a freehand fashion.
+
+This tool is only available with "complexity" (expertise level) set to
+'Advanced'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point
+Draw, 3-Point Select, Isometric Line, Dimetric Draw, Trimetric Select,
+Trimetric Draw, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/distortion.txt b/magic/magic-docs/sv_SE.UTF-8/distortion.txt
new file mode 100644
index 000000000..e27695009
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/distortion.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Distortion
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+This slightly distorts the picture wherever you move the mouse.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/dither.txt b/magic/magic-docs/sv_SE.UTF-8/dither.txt
new file mode 100644
index 000000000..cd5f524ff
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/dither.txt
@@ -0,0 +1,22 @@
+ Tux Paint "Magic" Tool: Dither
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This makes parts of your picture two colors: white, and the color chosen in the
+palette, using a dithered pattern of dots that reflect the original picture's
+shades; the darker the shade, the more non-white dots are drawn.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Färg och vitt & Dither (Keep Colors).
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/dither_keep_colors.txt b/magic/magic-docs/sv_SE.UTF-8/dither_keep_colors.txt
new file mode 100644
index 000000000..540577c7e
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/dither_keep_colors.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Dither (Keep Colors)
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This makes parts of your picture two colors: white, and colors based on your
+original drawing, using a dithered pattern of dots that reflect the original
+picture's shades; the darker the shade, the more non-white dots are drawn.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Färg och vitt & Dither.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/doublevision.txt b/magic/magic-docs/sv_SE.UTF-8/doublevision.txt
new file mode 100644
index 000000000..2cafa8a24
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/doublevision.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Double Vision
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This blends the image with itself, to simulate double vision.
+
+This tool is operated in a freehand fashion.
+
+See also: 3D-glasögon & Color Sep..
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/drip.txt b/magic/magic-docs/sv_SE.UTF-8/drip.txt
new file mode 100644
index 000000000..bc077bb44
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/drip.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Droppa
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+This makes the paint "drip" wherever you move the mouse.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/edges.txt b/magic/magic-docs/sv_SE.UTF-8/edges.txt
new file mode 100644
index 000000000..f3798a5f4
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/edges.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Kanter
+
+ ### Group: Distorts ###
+
+ ## Author: Andrew Corcoran ##
+
+Trace the edges in your picture, over a white background.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Emboss & Silhouette.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/emboss.txt b/magic/magic-docs/sv_SE.UTF-8/emboss.txt
new file mode 100644
index 000000000..3663ea216
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/emboss.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Emboss
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+This makes parts of your picture look "embossed." Wherever there are sharp
+edges in your picture, the picture will look raised like it was stamped in
+metal.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Kanter & Silhouette.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/emitter_hearts.txt b/magic/magic-docs/sv_SE.UTF-8/emitter_hearts.txt
new file mode 100644
index 000000000..be0df4788
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/emitter_hearts.txt
@@ -0,0 +1,21 @@
+ Tux Paint "Magic" Tool: Hjärtan
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw a trail of floating hearts. Adjust the length of the trail using the size
+option.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Gnistrande & Stars.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/emitter_sparkles.txt b/magic/magic-docs/sv_SE.UTF-8/emitter_sparkles.txt
new file mode 100644
index 000000000..a6d610171
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/emitter_sparkles.txt
@@ -0,0 +1,21 @@
+ Tux Paint "Magic" Tool: Gnistrande
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw a trail of falling sparkles. Adjust the length of the trail using the size
+option.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Hjärtan & Stars.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/emitter_stars.txt b/magic/magic-docs/sv_SE.UTF-8/emitter_stars.txt
new file mode 100644
index 000000000..611751182
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/emitter_stars.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Stars
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw a trail of stars. Adjust the length of the trail using the size option.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Hjärtan & Gnistrande.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/epitrochoid.txt b/magic/magic-docs/sv_SE.UTF-8/epitrochoid.txt
new file mode 100644
index 000000000..5a3ca4ec1
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/epitrochoid.txt
@@ -0,0 +1,27 @@
+ Tux Paint "Magic" Tool: Epicykloid
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Click to place the center of an epitrochoid curve, then drag left/right to
+adjust the radius of a fixed circle, and up/down to adjust the radius of the
+circle that will roll along its outside to produce the drawing. The size
+options allow positioning the "pen" that paints the curve relative to the
+rolling circle. (If the Magic size feature is disabled, multiple "Epicykloid"
+tools will be made available.)
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Epitrochoid Inside, Epitrochoid Edge, Epitrochoid Outside,
+Hypotrochoid, Hypotrochoid Inside, Hypotrochoid Edge, Hypotrochoid Outside,
+String Corner, String Edges, & String V.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/epitrochoid_edge.txt b/magic/magic-docs/sv_SE.UTF-8/epitrochoid_edge.txt
new file mode 100644
index 000000000..ff4651637
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/epitrochoid_edge.txt
@@ -0,0 +1,23 @@
+ Tux Paint "Magic" Tool: Epitrochoid Edge
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Click to place the center of an epitrochoid curve, then drag left/right to
+adjust the radius of a fixed circle, and up/down to adjust the radius of the
+circle that will roll along its outside to produce the drawing. The "pen" that
+paints the curve will be on the edge of the rolling circle.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+See also: Epicykloid, Epitrochoid Inside, Epitrochoid Outside, Hypotrochoid,
+Hypotrochoid Inside, Hypotrochoid Edge, Hypotrochoid Outside, String Corner,
+String Edges, & String V.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/epitrochoid_inside.txt b/magic/magic-docs/sv_SE.UTF-8/epitrochoid_inside.txt
new file mode 100644
index 000000000..a565d5009
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/epitrochoid_inside.txt
@@ -0,0 +1,23 @@
+ Tux Paint "Magic" Tool: Epitrochoid Inside
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Click to place the center of an epitrochoid curve, then drag left/right to
+adjust the radius of a fixed circle, and up/down to adjust the radius of the
+circle that will roll along its outside to produce the drawing. The "pen" that
+paints the curve will be on the inside of the rolling circle.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+See also: Epicykloid, Epitrochoid Edge, Epitrochoid Outside, Hypotrochoid,
+Hypotrochoid Inside, Hypotrochoid Edge, Hypotrochoid Outside, String Corner,
+String Edges, & String V.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/epitrochoid_outside.txt b/magic/magic-docs/sv_SE.UTF-8/epitrochoid_outside.txt
new file mode 100644
index 000000000..f20531b5b
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/epitrochoid_outside.txt
@@ -0,0 +1,23 @@
+ Tux Paint "Magic" Tool: Epitrochoid Outside
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Click to place the center of an epitrochoid curve, then drag left/right to
+adjust the radius of a fixed circle, and up/down to adjust the radius of the
+circle that will roll along its outside to produce the drawing. The "pen" that
+paints the curve will be on the outside of the rolling circle.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+See also: Epicykloid, Epitrochoid Inside, Epitrochoid Edge, Hypotrochoid,
+Hypotrochoid Inside, Hypotrochoid Edge, Hypotrochoid Outside, String Corner,
+String Edges, & String V.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/filled_polygon.txt b/magic/magic-docs/sv_SE.UTF-8/filled_polygon.txt
new file mode 100644
index 000000000..4e0008977
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/filled_polygon.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Fylld polygon
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Place three or more connected points on your picture to form a polygon; it will
+be filled with the currently-chosen color. (Connect the final (red) point to
+the initial (green) point.)
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/fisheye.txt b/magic/magic-docs/sv_SE.UTF-8/fisheye.txt
new file mode 100644
index 000000000..a154a65ba
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/fisheye.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Fisheye
+
+ ### Group: Distorts ###
+
+ ## Author: Adam Rakowski ##
+
+Warp parts of your picture like it's being seen through a fisheye lens.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+See also: Ripples.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/flip.txt b/magic/magic-docs/sv_SE.UTF-8/flip.txt
new file mode 100644
index 000000000..383426029
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/flip.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Flip
+
+ ### Group: Picture Warps ###
+
+ ## Author: Bill Kendrick ##
+
+Similar to "Mirror." Click and the entire image will be turned upside-down.
+
+This tool is operated with a single click.
+
+See also: Spegel.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/flower.txt b/magic/magic-docs/sv_SE.UTF-8/flower.txt
new file mode 100644
index 000000000..c590a3626
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/flower.txt
@@ -0,0 +1,24 @@
+ Tux Paint "Magic" Tool: Flower
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+This tool draws small flowers, with leafy bases and stalks. Click to set the
+base, then drag the mouse upwards to draw the stalk, and finally release the
+mouse button to finish the flower. It will be drawn in the currently-selected
+color. The shape and length of the stalk depends on how you move the mouse
+while you drag.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Gräs.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/foam.txt b/magic/magic-docs/sv_SE.UTF-8/foam.txt
new file mode 100644
index 000000000..fde040678
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/foam.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Foam
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag the mouse to draw foamy bubbles. The more you drag the mouse in
+a particular spot, the more likely small bubbles will combine to form bigger
+bubbles.
+
+This tool is operated in a freehand fashion.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/fold.txt b/magic/magic-docs/sv_SE.UTF-8/fold.txt
new file mode 100644
index 000000000..e267d4c7e
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/fold.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Fold
+
+ ### Group: Picture Warps ###
+
+ ## Authors: Adam Rakowski
+ Bill Kendrick
+ Pere Pujal i Carabantes
+ ##
+
+Click a corner of your picture and drag towards the center to fold it up like a
+piece of paper.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/fractal.txt b/magic/magic-docs/sv_SE.UTF-8/fractal.txt
new file mode 100644
index 000000000..127457e6f
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/fractal.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Fractal
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+A set of tools that recursively repeat what you draw, scaling and/or rotating
+it as they repeat.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/fretwork.txt b/magic/magic-docs/sv_SE.UTF-8/fretwork.txt
new file mode 100644
index 000000000..20808cd8b
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/fretwork.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Fretwork
+
+ ### Group: Målning ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Draw an interlaced decorative design that looks like wooden fretwork.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/fur.txt b/magic/magic-docs/sv_SE.UTF-8/fur.txt
new file mode 100644
index 000000000..6900e5a42
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/fur.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Fur
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Add fur to your drawing.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/glass_tile.txt b/magic/magic-docs/sv_SE.UTF-8/glass_tile.txt
new file mode 100644
index 000000000..d2b279d00
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/glass_tile.txt
@@ -0,0 +1,15 @@
+ Tux Paint "Magic" Tool: Glass Tile
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag over your picture to make it look like it's being seen through
+glass tiles.
+
+This tool offers both freehand and one-click operation.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/googlyeyes.txt b/magic/magic-docs/sv_SE.UTF-8/googlyeyes.txt
new file mode 100644
index 000000000..c43cac7cc
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/googlyeyes.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Googly Eyes
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Draws a googly eye where you click. Drag to position the pupil. (If the Magic
+size feature is disabled, multiple "Googly Eyes" tools will be made available.)
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/grass.txt b/magic/magic-docs/sv_SE.UTF-8/grass.txt
new file mode 100644
index 000000000..d631f42e9
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/grass.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Gräs
+
+ ### Group: Målning ###
+
+ ## Author: Albert Cahalan ##
+
+This paints grass on the image. The higher up the canvas, the smaller the grass
+is drawn, giving an illusion of perspective. The grass can be tinted various
+greenish hues by selecting different colors in the color palette.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+See also: Flower.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/halftone.txt b/magic/magic-docs/sv_SE.UTF-8/halftone.txt
new file mode 100644
index 000000000..be6791f1a
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/halftone.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Halvton
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+This makes parts of your picture look like newsprint. Different sizes of cyan,
+magenta, yellow, and black "ink" will appear in place of your picture.
+
+This tool offers both freehand and one-click operation.
+
+See also: Comic Dots.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/hexagon_mosaic.txt b/magic/magic-docs/sv_SE.UTF-8/hexagon_mosaic.txt
new file mode 100644
index 000000000..b31a3d205
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/hexagon_mosaic.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Hexagon Mosaic
+
+ ### Group: Distorts ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Converts parts of your picture into a mosaic of hexagon cells.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers color choices.
+
+See also: Irregular Mosaic, Square Mosaic, & Mosaik.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/html/1pt_perspective.html b/magic/magic-docs/sv_SE.UTF-8/html/1pt_perspective.html
new file mode 100644
index 000000000..560d3adc4
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/html/1pt_perspective.html
@@ -0,0 +1,19 @@
+
+Tux Paint "Magic" Tool: 1-Point Draw
+
+
+
+
Click and drag to draw with 1-point perspective. Lines will only go towards your vanishing point, or be horizontal or vertical. Use "1-Point Select" to choose your vanishing point (only available in "advanced" mode).
+
+
This tool is operated in a freehand fashion.
+
This tool offers multiple size settings.
+
This tool offers color choices.
+
This tool reacts to the "complexity" (expertise level) setting.
Click and drag to draw with 2-point perspective. Lines will only go towards your two vanishing points, or aligned with either the "horizon" defined by the two vanishing points, or a line perpendicular to that "horizon". Use "2-Point Select" to choose your vanishing points (only available in "advanced" mode).
+
+
This tool is operated in a freehand fashion.
+
This tool offers multiple size settings.
+
This tool offers color choices.
+
This tool is not available with "complexity" (expertise level) set to 'Novice'.
This tool horizontally separates your entire picture's color channels, letting you create anaglyphic pictures that can be viewed with various kinds of 3D glasses. Options include: Red/Cyan, Red/Blue, Red/Green, and Magenta/Cyan — controlled by the 'size' setting — unless running with "complexity" (expertise level) set to 'Novice'.
+
+
This tool is operated in a freehand fashion.
+
This tool offers multiple size settings.
+
This tool reacts to the "complexity" (expertise level) setting.
Click and drag to draw with 3-point perspective. Lines will only go towards your three vanishing points, or aligned with the "horizon" defined by two of the vanishing points. Use "3-Point Select" to choose your vanishing points (only available in "advanced" mode). In "beginner" mode, two "3-Point Draw" tools will be available, one with upwards-looking vanishing points, and one with downwards-looking vanishing points.
+
+
This tool is operated in a freehand fashion.
+
This tool offers multiple size settings.
+
This tool offers color choices.
+
This tool is not available with "complexity" (expertise level) set to 'Novice'.
This tool intelligently paints brick patterns on the canvas. The bricks can be tinted various redish hues by selecting different colors in the color palette. (If the Magic size feature is disabled, multiple "Tegelstenar" tools will be made available.)
Clone (copy, via painting) part of the picture. Click ones to choose the source, then click and drag to clone it elsewhere in the drawing. Once you release, click to choose another source and start again.
+
+
This tool offers both freehand and one-click operation.
+
This tool offers multiple size settings.
+
This tool reacts to the "complexity" (expertise level) setting.
+
+
Tux Paint 0.9.35
+
\ No newline at end of file
diff --git a/magic/magic-docs/sv_SE.UTF-8/html/color_and_white.html b/magic/magic-docs/sv_SE.UTF-8/html/color_and_white.html
new file mode 100644
index 000000000..53be2f51e
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/html/color_and_white.html
@@ -0,0 +1,18 @@
+
+Tux Paint "Magic" Tool: Färg och vitt
+
+
+
+
This makes parts of your picture two colors: white, and the color chosen in the palette — i.e., if you choose black, you'll get a black and white picture; no shades or dithering are used. (This is also known as a "threshold" effect.)
+
+
This tool offers both freehand and one-click operation.
This tool separates one color out of your entire picture, shifting colors away from each other (similar to '3D Glasses', but you may choose the any color to separate, and may move in any direction).
Click and drag to draw in a dimetric projection. Lines will only go vertically, or at a chosen angle and its mirror. Use "Dimetric Select" to adjust the angle.
+
+
This tool is operated in a freehand fashion.
+
This tool offers multiple size settings.
+
This tool offers color choices.
+
This tool is not available with "complexity" (expertise level) set to 'Novice'.
This makes parts of your picture two colors: white, and the color chosen in the palette, using a dithered pattern of dots that reflect the original picture's shades; the darker the shade, the more non-white dots are drawn.
+
+
This tool offers both freehand and one-click operation.
This makes parts of your picture two colors: white, and colors based on your original drawing, using a dithered pattern of dots that reflect the original picture's shades; the darker the shade, the more non-white dots are drawn.
+
+
This tool offers both freehand and one-click operation.
This makes parts of your picture look "embossed." Wherever there are sharp edges in your picture, the picture will look raised like it was stamped in metal.
+
+
This tool offers both freehand and one-click operation.
Click to place the center of an epitrochoid curve, then drag left/right to adjust the radius of a fixed circle, and up/down to adjust the radius of the circle that will roll along its outside to produce the drawing. The size options allow positioning the "pen" that paints the curve relative to the rolling circle. (If the Magic size feature is disabled, multiple "Epicykloid" tools will be made available.)
Click to place the center of an epitrochoid curve, then drag left/right to adjust the radius of a fixed circle, and up/down to adjust the radius of the circle that will roll along its outside to produce the drawing. The "pen" that paints the curve will be on the edge of the rolling circle.
Click to place the center of an epitrochoid curve, then drag left/right to adjust the radius of a fixed circle, and up/down to adjust the radius of the circle that will roll along its outside to produce the drawing. The "pen" that paints the curve will be on the inside of the rolling circle.
Click to place the center of an epitrochoid curve, then drag left/right to adjust the radius of a fixed circle, and up/down to adjust the radius of the circle that will roll along its outside to produce the drawing. The "pen" that paints the curve will be on the outside of the rolling circle.
Place three or more connected points on your picture to form a polygon; it will be filled with the currently-chosen color. (Connect the final (red) point to the initial (green) point.)
+
+
This tool is operated in a freehand fashion.
+
This tool offers color choices.
+
+
Tux Paint 0.9.35
+
\ No newline at end of file
diff --git a/magic/magic-docs/sv_SE.UTF-8/html/fisheye.html b/magic/magic-docs/sv_SE.UTF-8/html/fisheye.html
new file mode 100644
index 000000000..fb050f424
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/html/fisheye.html
@@ -0,0 +1,17 @@
+
+Tux Paint "Magic" Tool: Fisheye
+
+
+
+
This tool draws small flowers, with leafy bases and stalks. Click to set the base, then drag the mouse upwards to draw the stalk, and finally release the mouse button to finish the flower. It will be drawn in the currently-selected color. The shape and length of the stalk depends on how you move the mouse while you drag.
Click and drag the mouse to draw foamy bubbles. The more you drag the mouse in a particular spot, the more likely small bubbles will combine to form bigger bubbles.
+
+
This tool is operated in a freehand fashion.
+
+
Tux Paint 0.9.35
+
\ No newline at end of file
diff --git a/magic/magic-docs/sv_SE.UTF-8/html/fold.html b/magic/magic-docs/sv_SE.UTF-8/html/fold.html
new file mode 100644
index 000000000..9fae0c5fe
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/html/fold.html
@@ -0,0 +1,19 @@
+
+Tux Paint "Magic" Tool: Fold
+
+
+
+
Draws a googly eye where you click. Drag to position the pupil. (If the Magic size feature is disabled, multiple "Googly Eyes" tools will be made available.)
+
+
This tool is operated in a freehand fashion.
+
This tool offers multiple size settings.
+
+
Tux Paint 0.9.35
+
\ No newline at end of file
diff --git a/magic/magic-docs/sv_SE.UTF-8/html/grass.html b/magic/magic-docs/sv_SE.UTF-8/html/grass.html
new file mode 100644
index 000000000..73f4d4d16
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/html/grass.html
@@ -0,0 +1,17 @@
+
+Tux Paint "Magic" Tool: Gräs
+
+
+
+
This paints grass on the image. The higher up the canvas, the smaller the grass is drawn, giving an illusion of perspective. The grass can be tinted various greenish hues by selecting different colors in the color palette.
Click to place the center of a hypotrochoid curve, then drag left/right to adjust the radius of a fixed circle, and up/down to adjust the radius of the circle that will roll along its interior to produce the drawing. The size options allow positioning the "pen" that paints the curve relative to the rolling circle. (If the Magic size feature is disabled, multiple "Hypotrochoid" tools will be made available.)
Click to place the center of a hypotrochoid curve, then drag left/right to adjust the radius of a fixed circle, and up/down to adjust the radius of the circle that will roll along its interior to produce the drawing. The "pen" that paints the curve will be on the edge of the rolling circle.
Click to place the center of a hypotrochoid curve, then drag left/right to adjust the radius of a fixed circle, and up/down to adjust the radius of the circle that will roll along its interior to produce the drawing. The "pen" that paints the curve will be on the inside of the rolling circle.
Click to place the center of a hypotrochoid curve, then drag left/right to adjust the radius of a fixed circle, and up/down to adjust the radius of the circle that will roll along its interior to produce the drawing. The "pen" that paints the curve will be on the outside of the rolling circle.
+
\ No newline at end of file
diff --git a/magic/magic-docs/sv_SE.UTF-8/html/index.html b/magic/magic-docs/sv_SE.UTF-8/html/index.html
new file mode 100644
index 000000000..b01afd9d4
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/html/index.html
@@ -0,0 +1,172 @@
+
+Tux Paint "Magic" Tool: Lista över magiska verktyg
+
+
+
+
Tux Paint "Magic" Tool: Lista över magiska verktyg
Click and drag to draw in an isometric projection. Lines will only go vertically, or at two mirrored angles. (The angles are preset and evenly spaced at 120-degree intervals.)
+
+
This tool is operated in a freehand fashion.
+
This tool offers multiple size settings.
+
This tool offers color choices.
+
This tool is not available with "complexity" (expertise level) set to 'Novice'.
This paint brush draws in four places at the same time, mirroring symmetrically, both horizontally and vertically. It uses the currently selected color.
This inverts the colors wherever you drag the mouse. (e.g., white becomes black, and vice versa.) It inverts the values of the Red, Green, and Blue components of the pixels.
+
+
This tool offers both freehand and one-click operation.
Click and drag to draw in an oblique projection. Lines will only go vertically, horizontally, and at a chosen angle. Use "Oblique Select" to adjust the angle. In "beginner" mode, two "Oblique Draw" tools will be available, one with with the receding axis angle going right, and one with it going left.
+
+
This tool is operated in a freehand fashion.
+
This tool offers multiple size settings.
+
This tool offers color choices.
+
This tool is not available with "complexity" (expertise level) set to 'Novice'.
This converts the colors wherever you drag the mouse into their complementary (opposite) colors. (e.g., blue becomes orange, and vice versa.) It changes the Hue compoment of the pixels, without affecting the Saturation or Lightness.
+
+
This tool offers both freehand and one-click operation.
This is similar to Rainbow and Smooth Rainbow magic tools — it cycles through a spectrum of bright colors, but only changes between strokes (after you release and click or tap again).
This is similar to Rainbow magic tool — as you move the mouse around, it cycles through a spectrum of colors — except the colors blend smoothly as you draw.
Click and drag to draw in a trimetric projection. Lines will only go vertically, or at two chosen angles. Use "Trimetric Select" to adjust the two angles.
+
+
This tool is operated in a freehand fashion.
+
This tool offers multiple size settings.
+
This tool offers color choices.
+
This tool is not available with "complexity" (expertise level) set to 'Novice'.
Click to make the entire picture wavy, up-and-down. Drag the mouse up and down to change the height of the ripples, and left and right to change the width. Release the mouse button when it looks the way you like it.
Click to make the entire picture wavy, side-to-side. Drag the mouse up and down to change the height of the ripples, and left and right to change the width. Release the mouse button when it looks the way you like it.
+
\ No newline at end of file
diff --git a/magic/magic-docs/sv_SE.UTF-8/hypotrochoid.txt b/magic/magic-docs/sv_SE.UTF-8/hypotrochoid.txt
new file mode 100644
index 000000000..b1d20ab4b
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/hypotrochoid.txt
@@ -0,0 +1,27 @@
+ Tux Paint "Magic" Tool: Hypotrochoid
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Click to place the center of a hypotrochoid curve, then drag left/right to
+adjust the radius of a fixed circle, and up/down to adjust the radius of the
+circle that will roll along its interior to produce the drawing. The size
+options allow positioning the "pen" that paints the curve relative to the
+rolling circle. (If the Magic size feature is disabled, multiple "Hypotrochoid"
+tools will be made available.)
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Epicykloid, Epitrochoid Inside, Epitrochoid Edge, Epitrochoid Outside
+, Hypotrochoid Inside, Hypotrochoid Edge, Hypotrochoid Outside, String Corner,
+String Edges, & String V.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/hypotrochoid_edge.txt b/magic/magic-docs/sv_SE.UTF-8/hypotrochoid_edge.txt
new file mode 100644
index 000000000..be06727a6
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/hypotrochoid_edge.txt
@@ -0,0 +1,25 @@
+ Tux Paint "Magic" Tool: Hypotrochoid Edge
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Click to place the center of a hypotrochoid curve, then drag left/right to
+adjust the radius of a fixed circle, and up/down to adjust the radius of the
+circle that will roll along its interior to produce the drawing. The "pen" that
+paints the curve will be on the edge of the rolling circle.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Epicykloid, Epitrochoid Inside, Epitrochoid Edge, Epitrochoid Outside
+, Hypotrochoid, Hypotrochoid Inside, Hypotrochoid Outside, String Corner,
+String Edges, & String V.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/hypotrochoid_inside.txt b/magic/magic-docs/sv_SE.UTF-8/hypotrochoid_inside.txt
new file mode 100644
index 000000000..9120435c3
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/hypotrochoid_inside.txt
@@ -0,0 +1,25 @@
+ Tux Paint "Magic" Tool: Hypotrochoid Inside
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Click to place the center of a hypotrochoid curve, then drag left/right to
+adjust the radius of a fixed circle, and up/down to adjust the radius of the
+circle that will roll along its interior to produce the drawing. The "pen" that
+paints the curve will be on the inside of the rolling circle.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Epicykloid, Epitrochoid Inside, Epitrochoid Edge, Epitrochoid Outside
+, Hypotrochoid, Hypotrochoid Edge, Hypotrochoid Outside, String Corner, String
+Edges, & String V.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/hypotrochoid_outside.txt b/magic/magic-docs/sv_SE.UTF-8/hypotrochoid_outside.txt
new file mode 100644
index 000000000..84aaeb1f0
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/hypotrochoid_outside.txt
@@ -0,0 +1,25 @@
+ Tux Paint "Magic" Tool: Hypotrochoid Outside
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Click to place the center of a hypotrochoid curve, then drag left/right to
+adjust the radius of a fixed circle, and up/down to adjust the radius of the
+circle that will roll along its interior to produce the drawing. The "pen" that
+paints the curve will be on the outside of the rolling circle.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Epicykloid, Epitrochoid Inside, Epitrochoid Edge, Epitrochoid Outside
+, Hypotrochoid, Hypotrochoid Inside, Hypotrochoid Edge, String Corner, String
+Edges, & String V.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/index.txt b/magic/magic-docs/sv_SE.UTF-8/index.txt
new file mode 100644
index 000000000..48f5db3a8
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/index.txt
@@ -0,0 +1,169 @@
+ Tux Paint "Magic" Tool: Lista över magiska verktyg
+
+ ### Distorts ###
+
+ * Blur
+ * Sharpen
+ * Smudge
+ * Blocks
+ * Krita
+ * Droppa
+ * Klona
+ * Distortion
+ * Puzzle
+ * Cirklar
+ * Rays
+ * Kanter
+ * Emboss
+ * Silhouette
+ * Fisheye
+ * Ripples
+ * Glass Tile
+ * Irregular Mosaic
+ * Hexagon Mosaic
+ * Square Mosaic
+ * Mosaik
+ * TV
+ * TV (Bright)
+ * ASCII Typewriter
+ * ASCII-dator
+ * ASCII-färgdator
+ * Brus
+ * Halvton
+
+ ### Color Filters ###
+
+ * Negativ
+ * Motsats
+ * Mätta
+ * Avmätta
+ * Darken
+ * Ljusare
+ * Remove Color
+ * Behåll färg
+ * Tint
+ * Färg och vitt
+ * Cartoon
+ * Color Shift
+ * Dither
+ * Dither (Keep Colors)
+ * 3D-glasögon
+ * Color Sep.
+ * Double Vision
+ * Xor Colors
+ * Blommande
+
+ ### Picture Warps ###
+
+ * Spegel
+ * Flip
+ * Shift
+ * Zooma
+ * Tile Zoom
+ * Panels
+ * Rush
+ * Perspektiv
+ * Reflection
+ * Stretch
+ * Waves
+ * Wavelets
+ * Fold
+ * Kaleido-4, Kaleido-6, and Kaleido-8
+ * Rotate
+
+ ### Målning ###
+
+ * Tegelstenar
+ * Spray Paint
+ * Rainbow
+ * Mjuk regnbåge
+ * Rainbow Cycle
+ * Kalligrafi
+ * Band
+ * Crescent
+ * Smooth
+ * Spiral
+ * Fyrkantig spiral
+ * Concentric Circle
+ * Concentric Square
+ * Krumelurer
+ * Loops
+ * Confetti
+ * Rain
+ * Foam
+ * Gräs
+ * Fur
+ * Pixels
+ * Comic Dots
+ * Labyrint
+ * Fretwork
+ * Rails
+ * Metallfärg
+ * Toothpaste
+ * Wet Paint
+ * Ljus
+ * Hjärtan
+ * Gnistrande
+ * Stars
+ * Fractal
+
+ ### Pattern Painting ###
+
+ * Symmetry Left/Right
+ * Symmetry Up/Down
+ * Kalejdoskop
+ * Pattern
+ * Tiles
+ * Rosette
+ * Picasso
+ * Tessellation Pointy
+ * Tessellation Flat
+
+ ### Picture Decorations ###
+
+ * Blind
+ * Checkerboard
+ * Snow Ball
+ * Snow Flake
+
+ ### Projections ###
+
+ * 1-Point Draw
+ * 1-Point Select
+ * 2-Point Draw
+ * 2-Point Select
+ * 3-Point Draw
+ * 3-Point Select
+ * Isometric Line
+ * Dimetric Draw
+ * Dimetric Select
+ * Trimetric Draw
+ * Trimetric Select
+ * Oblique Draw
+ * Oblique Select
+
+ ### Artistic ###
+
+ * Flower
+ * Googly Eyes
+ * Real Rainbow
+ * ROYGBIV Rainbow
+ * Lightning
+ * Tornado
+ * Fylld polygon
+ * String Edges
+ * String Corner
+ * String V
+ * Epicykloid
+ * Epitrochoid Edge
+ * Epitrochoid Inside
+ * Epitrochoid Outside
+ * Hypotrochoid
+ * Hypotrochoid Edge
+ * Hypotrochoid Inside
+ * Hypotrochoid Outside
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/irregular_mosaic.txt b/magic/magic-docs/sv_SE.UTF-8/irregular_mosaic.txt
new file mode 100644
index 000000000..448883206
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/irregular_mosaic.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Irregular Mosaic
+
+ ### Group: Distorts ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Converts parts of your picture into a mosaic of irregularly-shaped cells.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers color choices.
+
+See also: Hexagon Mosaic, Square Mosaic, & Mosaik.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/isometric_line.txt b/magic/magic-docs/sv_SE.UTF-8/isometric_line.txt
new file mode 100644
index 000000000..4504318c0
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/isometric_line.txt
@@ -0,0 +1,26 @@
+ Tux Paint "Magic" Tool: Isometric Line
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag to draw in an isometric projection. Lines will only go
+vertically, or at two mirrored angles. (The angles are preset and evenly spaced
+at 120-degree intervals.)
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+This tool is not available with "complexity" (expertise level) set to 'Novice'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point
+Draw, 3-Point Select, Dimetric Select, Dimetric Draw, Trimetric Select,
+Trimetric Draw, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/kaleidoscope.txt b/magic/magic-docs/sv_SE.UTF-8/kaleidoscope.txt
new file mode 100644
index 000000000..434ba22e8
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/kaleidoscope.txt
@@ -0,0 +1,22 @@
+ Tux Paint "Magic" Tool: Kalejdoskop
+
+ ### Group: Pattern Painting ###
+
+ ## Author: Bill Kendrick ##
+
+This paint brush draws in four places at the same time, mirroring
+symmetrically, both horizontally and vertically. It uses the currently selected
+color.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Picasso, Rosette, & Kaleido-4, Kaleido-6, and Kaleido-8.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/kaleidoscope_lens.txt b/magic/magic-docs/sv_SE.UTF-8/kaleidoscope_lens.txt
new file mode 100644
index 000000000..8ca4d8f9a
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/kaleidoscope_lens.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Kaleido-4, Kaleido-6, and Kaleido-8
+
+ ### Group: Picture Warps ###
+
+ ## Author: Bill Kendrick ##
+
+These three tools make it look like your picture is being viewed through a
+kaleidoscope.
+
+This tool is operated in a freehand fashion.
+
+See also: Kalejdoskop.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/keep_color.txt b/magic/magic-docs/sv_SE.UTF-8/keep_color.txt
new file mode 100644
index 000000000..55f996940
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/keep_color.txt
@@ -0,0 +1,21 @@
+ Tux Paint "Magic" Tool: Behåll färg
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This completely desaturates (turns greyscale) any parts of the image that do
+not match the selected color.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Remove Color, Mätta, Avmätta, Darken, Ljusare, & Tint.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/light.txt b/magic/magic-docs/sv_SE.UTF-8/light.txt
new file mode 100644
index 000000000..f73aa8e69
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/light.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Ljus
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+This draws a glowing beam on the canvas, in the currently-selected color. The
+more you use it on one spot, the more white it becomes.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/lighten.txt b/magic/magic-docs/sv_SE.UTF-8/lighten.txt
new file mode 100644
index 000000000..f23d34cc0
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/lighten.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Ljusare
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This fades the colors wherever you drag the mouse. (Do it to the same spot many
+times, and it will eventually become white.)
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Darken, Tint, Mätta, & Avmätta.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/lightning.txt b/magic/magic-docs/sv_SE.UTF-8/lightning.txt
new file mode 100644
index 000000000..47f30b50a
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/lightning.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Lightning
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Draws a lightning bolt between two points on the picture.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/loops.txt b/magic/magic-docs/sv_SE.UTF-8/loops.txt
new file mode 100644
index 000000000..9893f53c7
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/loops.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Loops
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw loop-the-loops on the canvas, in the currently-selected color.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Smooth, Krumelurer, Spiral, & Fyrkantig spiral.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/maze.txt b/magic/magic-docs/sv_SE.UTF-8/maze.txt
new file mode 100644
index 000000000..f2d986ed7
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/maze.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Labyrint
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag to construct a maze on your picture.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/metal_paint.txt b/magic/magic-docs/sv_SE.UTF-8/metal_paint.txt
new file mode 100644
index 000000000..f36310e50
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/metal_paint.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Metallfärg
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag to draw shiny metal using the current color.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/mirror.txt b/magic/magic-docs/sv_SE.UTF-8/mirror.txt
new file mode 100644
index 000000000..c29822290
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/mirror.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Spegel
+
+ ### Group: Picture Warps ###
+
+ ## Author: Bill Kendrick ##
+
+When you click the mouse in your picture with the "Mirror" magic effect
+selected, the entire image will be reversed, turning it into a mirror image.
+
+This tool is operated with a single click.
+
+See also: Flip.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/mosaic.txt b/magic/magic-docs/sv_SE.UTF-8/mosaic.txt
new file mode 100644
index 000000000..c9ddb04cb
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/mosaic.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Mosaik
+
+ ### Group: Distorts ###
+
+ ## Authors: Adam Rakowski
+ Pere Pujal i Carabantes
+ ##
+
+Adds a glass mosaic effect to your picture.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Hexagon Mosaic, Irregular Mosaic, & Square Mosaic.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/negative.txt b/magic/magic-docs/sv_SE.UTF-8/negative.txt
new file mode 100644
index 000000000..ec5238361
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/negative.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Negativ
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This inverts the colors wherever you drag the mouse. (e.g., white becomes
+black, and vice versa.) It inverts the values of the Red, Green, and Blue
+components of the pixels.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Motsats.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/noise.txt b/magic/magic-docs/sv_SE.UTF-8/noise.txt
new file mode 100644
index 000000000..95814aee0
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/noise.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Brus
+
+ ### Group: Distorts ###
+
+ ## Author: Andrew Corcoran ##
+
+Add random noise and static to your picture.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/oblique_draw.txt b/magic/magic-docs/sv_SE.UTF-8/oblique_draw.txt
new file mode 100644
index 000000000..cf7b62534
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/oblique_draw.txt
@@ -0,0 +1,27 @@
+ Tux Paint "Magic" Tool: Oblique Draw
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag to draw in an oblique projection. Lines will only go vertically,
+horizontally, and at a chosen angle. Use "Oblique Select" to adjust the angle.
+In "beginner" mode, two "Oblique Draw" tools will be available, one with with
+the receding axis angle going right, and one with it going left.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+This tool is not available with "complexity" (expertise level) set to 'Novice'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point
+Draw, 3-Point Select, Isometric Line, Dimetric Select, Dimetric Draw, Trimetric
+Select, Trimetric Draw, Oblique Select, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/oblique_select.txt b/magic/magic-docs/sv_SE.UTF-8/oblique_select.txt
new file mode 100644
index 000000000..ec94ea484
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/oblique_select.txt
@@ -0,0 +1,22 @@
+ Tux Paint "Magic" Tool: Oblique Select
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click (and drag) to position the angle that will be used with the "Oblique
+Draw" tool.
+
+This tool is operated in a freehand fashion.
+
+This tool is only available with "complexity" (expertise level) set to
+'Advanced'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point
+Draw, 3-Point Select, Isometric Line, Dimetric Select, Dimetric Draw, Trimetric
+Select, Trimetric Draw, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/opposite.txt b/magic/magic-docs/sv_SE.UTF-8/opposite.txt
new file mode 100644
index 000000000..185236574
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/opposite.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Motsats
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This converts the colors wherever you drag the mouse into their complementary
+(opposite) colors. (e.g., blue becomes orange, and vice versa.) It changes the
+Hue compoment of the pixels, without affecting the Saturation or Lightness.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Negativ.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/panels.txt b/magic/magic-docs/sv_SE.UTF-8/panels.txt
new file mode 100644
index 000000000..efcdb09aa
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/panels.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Panels
+
+ ### Group: Picture Warps ###
+
+ ## Author: Bill Kendrick ##
+
+Shrink the image and repeat it four times in a 2-by-2 grid. Useful for creating
+4-panel comics. Can also be used to create a compound-eye effect.
+
+This tool is operated with a single click.
+
+See also: Tile Zoom.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/pattern.txt b/magic/magic-docs/sv_SE.UTF-8/pattern.txt
new file mode 100644
index 000000000..3857c236e
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/pattern.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Pattern
+
+ ### Group: Pattern Painting ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Draws a tiled pattern around the picture.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Tiles, Tessellation Pointy, & Tessellation Flat.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/perspective.txt b/magic/magic-docs/sv_SE.UTF-8/perspective.txt
new file mode 100644
index 000000000..771d39d1a
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/perspective.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Perspektiv
+
+ ### Group: Picture Warps ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Click and drag from the corners to change the perspective of your picture.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point
+Draw, & 3-Point Select.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/picasso.txt b/magic/magic-docs/sv_SE.UTF-8/picasso.txt
new file mode 100644
index 000000000..6eb703589
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/picasso.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Picasso
+
+ ### Group: Pattern Painting ###
+
+ ## Author: Adam Rakowski ##
+
+Draw three swirling brushes at once, in a Picasso style.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Rosette & Kalejdoskop.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/pixels.txt b/magic/magic-docs/sv_SE.UTF-8/pixels.txt
new file mode 100644
index 000000000..957f4ac44
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/pixels.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Pixels
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw large square "pixels" on the canvas.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Tegelstenar.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/puzzle.txt b/magic/magic-docs/sv_SE.UTF-8/puzzle.txt
new file mode 100644
index 000000000..feb0f0572
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/puzzle.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Puzzle
+
+ ### Group: Distorts ###
+
+ ## Author: Adam Rakowski ##
+
+Slide parts of your picture around like a sliding puzzle.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/rails.txt b/magic/magic-docs/sv_SE.UTF-8/rails.txt
new file mode 100644
index 000000000..e80213007
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/rails.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Rails
+
+ ### Group: Målning ###
+
+ ## Authors: Adam Rakowski
+ Pere Pujal i Carabantes
+ Bill Kendrick
+ ##
+
+Draw connecting locomotive train rails on your picture.
+
+This tool is operated in a freehand fashion.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/rain.txt b/magic/magic-docs/sv_SE.UTF-8/rain.txt
new file mode 100644
index 000000000..0aa80f570
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/rain.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Rain
+
+ ### Group: Målning ###
+
+ ## Author: Andrew Corcoran ##
+
+Paint raindrops on your picture.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Snow Ball & Snow Flake.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/rainbow.txt b/magic/magic-docs/sv_SE.UTF-8/rainbow.txt
new file mode 100644
index 000000000..b4f644dff
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/rainbow.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Rainbow
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+This is similar to the paint brush, but as you move the mouse around, it cycles
+through a spectrum of bright colors.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+See also: Mjuk regnbåge & Rainbow Cycle.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/rainbow_cycle.txt b/magic/magic-docs/sv_SE.UTF-8/rainbow_cycle.txt
new file mode 100644
index 000000000..97235d832
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/rainbow_cycle.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Rainbow Cycle
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+This is similar to Rainbow and Smooth Rainbow magic tools — it cycles through a
+spectrum of bright colors, but only changes between strokes (after you release
+and click or tap again).
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+See also: Rainbow & Mjuk regnbåge.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/rays.txt b/magic/magic-docs/sv_SE.UTF-8/rays.txt
new file mode 100644
index 000000000..93f85646d
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/rays.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Rays
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+This transforms the picture into brush strokes that point towards where you
+clicked.
+
+This tool offers both freehand and one-click operation.
+
+See also: Cirklar.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/real_rainbow.txt b/magic/magic-docs/sv_SE.UTF-8/real_rainbow.txt
new file mode 100644
index 000000000..08e52918d
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/real_rainbow.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Real Rainbow
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Draw a transparent arc that looks like a real rainbow.
+
+This tool is operated in a freehand fashion.
+
+See also: ROYGBIV Rainbow.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/reflection.txt b/magic/magic-docs/sv_SE.UTF-8/reflection.txt
new file mode 100644
index 000000000..7fcfbf18b
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/reflection.txt
@@ -0,0 +1,14 @@
+ Tux Paint "Magic" Tool: Reflection
+
+ ### Group: Picture Warps ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag down, up, left, or right, to add a reflection to you picture.
+
+This tool is operated in a freehand fashion.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/remove_color.txt b/magic/magic-docs/sv_SE.UTF-8/remove_color.txt
new file mode 100644
index 000000000..9bba98b2f
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/remove_color.txt
@@ -0,0 +1,21 @@
+ Tux Paint "Magic" Tool: Remove Color
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This completely desaturates (turns greyscale) parts of the image that match the
+selected color.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Behåll färg, Mätta, Avmätta, Darken, Ljusare, & Tint.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/ribbon.txt b/magic/magic-docs/sv_SE.UTF-8/ribbon.txt
new file mode 100644
index 000000000..c022511eb
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/ribbon.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Band
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+This draws a flowing ribbon behind the mouse as you move it.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/ripples.txt b/magic/magic-docs/sv_SE.UTF-8/ripples.txt
new file mode 100644
index 000000000..5b71ef171
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/ripples.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Ripples
+
+ ### Group: Distorts ###
+
+ ## Author: Bill Kendrick ##
+
+Click in your picture to make water ripple distortions appear over it.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+See also: Fisheye.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/rosette.txt b/magic/magic-docs/sv_SE.UTF-8/rosette.txt
new file mode 100644
index 000000000..f13bec600
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/rosette.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Rosette
+
+ ### Group: Pattern Painting ###
+
+ ## Author: Adam Rakowski ##
+
+Draw three brushes at once, in a rosette shape.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Kalejdoskop & Picasso.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/rotate.txt b/magic/magic-docs/sv_SE.UTF-8/rotate.txt
new file mode 100644
index 000000000..178479c19
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/rotate.txt
@@ -0,0 +1,17 @@
+ Tux Paint "Magic" Tool: Rotate
+
+ ### Group: Picture Warps ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag to rotate the drawing. (Your chosen color will be used as a
+background color.)
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/roygbiv_rainbow.txt b/magic/magic-docs/sv_SE.UTF-8/roygbiv_rainbow.txt
new file mode 100644
index 000000000..3a238634f
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/roygbiv_rainbow.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: ROYGBIV Rainbow
+
+ ### Group: Artistic ###
+
+ ## Author: Bill Kendrick ##
+
+Draw a rainbow arc of red, orange, yellow, green, blue, indigo and violet.
+
+This tool is operated in a freehand fashion.
+
+See also: Real Rainbow.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/rush.txt b/magic/magic-docs/sv_SE.UTF-8/rush.txt
new file mode 100644
index 000000000..db5032742
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/rush.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Rush
+
+ ### Group: Picture Warps ###
+
+ ## Authors: Pere Pujal i Carabantes
+ Bill Kendrick
+ ##
+
+Click and drag up to zoom in, or down to zoom out. The results will be blurred/
+smeared.
+
+This tool is operated in a freehand fashion.
+
+See also: Tile Zoom & Zooma.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/saturate.txt b/magic/magic-docs/sv_SE.UTF-8/saturate.txt
new file mode 100644
index 000000000..8f8a2f0f0
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/saturate.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Mätta
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This increases the saturation of colors wherever you drag the mouse.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Avmätta, Darken, Ljusare, Tint, Remove Color, & Behåll färg.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/sharpen.txt b/magic/magic-docs/sv_SE.UTF-8/sharpen.txt
new file mode 100644
index 000000000..d0aebb9dd
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/sharpen.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Sharpen
+
+ ### Group: Distorts ###
+
+ ## Author: Andrew Corcoran ##
+
+Sharpen the focus of the picture.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Blur.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/shift.txt b/magic/magic-docs/sv_SE.UTF-8/shift.txt
new file mode 100644
index 000000000..b10f25060
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/shift.txt
@@ -0,0 +1,15 @@
+ Tux Paint "Magic" Tool: Shift
+
+ ### Group: Picture Warps ###
+
+ ## Author: Bill Kendrick ##
+
+This shifts your picture around the canvas. Anything that gets shifts off an
+edge reappears on the opposite edge.
+
+This tool is operated in a freehand fashion.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/silhouette.txt b/magic/magic-docs/sv_SE.UTF-8/silhouette.txt
new file mode 100644
index 000000000..4064a3174
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/silhouette.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Silhouette
+
+ ### Group: Distorts ###
+
+ ## Author: Andrew Corcoran ##
+
+Trace the edges in your picture, over a black background.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: Kanter & Emboss.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/smooth.txt b/magic/magic-docs/sv_SE.UTF-8/smooth.txt
new file mode 100644
index 000000000..46c071dd9
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/smooth.txt
@@ -0,0 +1,21 @@
+ Tux Paint "Magic" Tool: Smooth
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw a freehand shape, which will have its curves smoothed when you release. It
+draws using the currently-selected color.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Loops & Krumelurer.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/smooth_rainbow.txt b/magic/magic-docs/sv_SE.UTF-8/smooth_rainbow.txt
new file mode 100644
index 000000000..826e9e910
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/smooth_rainbow.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Mjuk regnbåge
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+This is similar to Rainbow magic tool — as you move the mouse around, it cycles
+through a spectrum of colors — except the colors blend smoothly as you draw.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+See also: Rainbow & Rainbow Cycle.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/smudge.txt b/magic/magic-docs/sv_SE.UTF-8/smudge.txt
new file mode 100644
index 000000000..411f78b1a
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/smudge.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Smudge
+
+ ### Group: Distorts ###
+
+ ## Author: Albert Cahalan ##
+
+This pushes the colors around under the mouse, like finger painting with wet
+paint.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+See also: Blur & Wet Paint.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/snow_ball.txt b/magic/magic-docs/sv_SE.UTF-8/snow_ball.txt
new file mode 100644
index 000000000..b4c6e4e06
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/snow_ball.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Snow Ball
+
+ ### Group: Picture Decorations ###
+
+ ## Author: Andrew Corcoran ##
+
+Fill the picture with snowballs.
+
+This tool is operated with a single click.
+
+See also: Rain & Snow Flake.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/snow_flake.txt b/magic/magic-docs/sv_SE.UTF-8/snow_flake.txt
new file mode 100644
index 000000000..9fa2f398e
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/snow_flake.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Snow Flake
+
+ ### Group: Picture Decorations ###
+
+ ## Author: Andrew Corcoran ##
+
+Fill the picture with snowflakes.
+
+This tool is operated with a single click.
+
+See also: Rain & Snow Ball.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/spiral-square.txt b/magic/magic-docs/sv_SE.UTF-8/spiral-square.txt
new file mode 100644
index 000000000..40a99fe5f
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/spiral-square.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Fyrkantig spiral
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw square spirals.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Loops, Krumelurer, Spiral, Concentric Circle, & Concentric Square.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/spiral.txt b/magic/magic-docs/sv_SE.UTF-8/spiral.txt
new file mode 100644
index 000000000..404278519
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/spiral.txt
@@ -0,0 +1,21 @@
+ Tux Paint "Magic" Tool: Spiral
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Draw spirals.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Loops, Krumelurer, Fyrkantig spiral, Concentric Circle, & Concentric
+Square.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/spraypaint.txt b/magic/magic-docs/sv_SE.UTF-8/spraypaint.txt
new file mode 100644
index 000000000..fba0630b4
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/spraypaint.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Spray Paint
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+Simulates paint from a spray can or airbrush.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/square_mosaic.txt b/magic/magic-docs/sv_SE.UTF-8/square_mosaic.txt
new file mode 100644
index 000000000..7bbfad9ca
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/square_mosaic.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Square Mosaic
+
+ ### Group: Distorts ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Converts parts of your picture into a mosaic of square cells.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers color choices.
+
+See also: Hexagon Mosaic, Irregular Mosaic, & Mosaik.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/squiggles.txt b/magic/magic-docs/sv_SE.UTF-8/squiggles.txt
new file mode 100644
index 000000000..d3dba49f5
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/squiggles.txt
@@ -0,0 +1,21 @@
+ Tux Paint "Magic" Tool: Krumelurer
+
+ ### Group: Målning ###
+
+ ## Author: Bill Kendrick ##
+
+This draws random squiggly loops, using the currently-selected color, as you
+move the mouse around.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Smooth, Loops, Spiral, & Fyrkantig spiral.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/stretch.txt b/magic/magic-docs/sv_SE.UTF-8/stretch.txt
new file mode 100644
index 000000000..2ad677725
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/stretch.txt
@@ -0,0 +1,14 @@
+ Tux Paint "Magic" Tool: Stretch
+
+ ### Group: Picture Warps ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag around to stretch and squish parts of the picture.
+
+This tool is operated in a freehand fashion.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/string_corner.txt b/magic/magic-docs/sv_SE.UTF-8/string_corner.txt
new file mode 100644
index 000000000..56cc2d188
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/string_corner.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: String Corner
+
+ ### Group: Artistic ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Draw V-shaped string art at right angles.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+See also: Epicykloid, Epitrochoid Inside, Epitrochoid Edge, Epitrochoid Outside
+, Hypotrochoid, Hypotrochoid Inside, Hypotrochoid Edge, Hypotrochoid Outside,
+String V, & String Edges.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/string_edges.txt b/magic/magic-docs/sv_SE.UTF-8/string_edges.txt
new file mode 100644
index 000000000..cfc17cd19
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/string_edges.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: String Edges
+
+ ### Group: Artistic ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Draw string art around the edges of your picture.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+See also: Epicykloid, Epitrochoid Inside, Epitrochoid Edge, Epitrochoid Outside
+, Hypotrochoid, Hypotrochoid Inside, Hypotrochoid Edge, Hypotrochoid Outside,
+String Corner, & String V.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/string_v.txt b/magic/magic-docs/sv_SE.UTF-8/string_v.txt
new file mode 100644
index 000000000..106ead0f7
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/string_v.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: String V
+
+ ### Group: Artistic ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Draw V-shaped string art at any angle.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+See also: Epicykloid, Epitrochoid Inside, Epitrochoid Edge, Epitrochoid Outside
+, Hypotrochoid, Hypotrochoid Inside, Hypotrochoid Edge, Hypotrochoid Outside,
+String Corner, & String Edges.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/symmetry_left_right.txt b/magic/magic-docs/sv_SE.UTF-8/symmetry_left_right.txt
new file mode 100644
index 000000000..48a3e4fa4
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/symmetry_left_right.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Symmetry Left/Right
+
+ ### Group: Pattern Painting ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Paint with reflective symmetry across the horizontal center of the image.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Kalejdoskop, Pattern, Symmetry Up/Down, & Tiles.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/symmetry_up_down.txt b/magic/magic-docs/sv_SE.UTF-8/symmetry_up_down.txt
new file mode 100644
index 000000000..bbcd101ea
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/symmetry_up_down.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Symmetry Up/Down
+
+ ### Group: Pattern Painting ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Paint with reflective symmetry across the vertical center of the image.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Kalejdoskop, Pattern, Symmetry Left/Right, & Tiles.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/tessellation-flat.txt b/magic/magic-docs/sv_SE.UTF-8/tessellation-flat.txt
new file mode 100644
index 000000000..70c684635
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/tessellation-flat.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Tessellation Flat
+
+ ### Group: Pattern Painting ###
+
+ ## Author: Bill Kendrick ##
+
+Draw repeating tessellation patterns with flat-topped hexagons.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Tiles, Pattern, & Tessellation Pointy.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/tessellation-pointy.txt b/magic/magic-docs/sv_SE.UTF-8/tessellation-pointy.txt
new file mode 100644
index 000000000..be609fbcd
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/tessellation-pointy.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Tessellation Pointy
+
+ ### Group: Pattern Painting ###
+
+ ## Author: Bill Kendrick ##
+
+Draw repeating tessellation patterns with pointy-topped hexagons.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Tiles, Pattern, & Tessellation Flat.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/tiles.txt b/magic/magic-docs/sv_SE.UTF-8/tiles.txt
new file mode 100644
index 000000000..fce743ae0
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/tiles.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Tiles
+
+ ### Group: Pattern Painting ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Draws a symettric pattern around the picture.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Pattern, Tessellation Pointy, & Tessellation Flat.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/tilezoom.txt b/magic/magic-docs/sv_SE.UTF-8/tilezoom.txt
new file mode 100644
index 000000000..512aecb35
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/tilezoom.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Tile Zoom
+
+ ### Group: Picture Warps ###
+
+ ## Authors: Pere Pujal i Carabantes
+ Bill Kendrick
+ ##
+
+Click and drag up to zoom in, or down to zoom out. When scaling down, your
+image will be tiled across the canvas.
+
+This tool is operated in a freehand fashion.
+
+See also: Panels, Rush, & Zooma.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/tint.txt b/magic/magic-docs/sv_SE.UTF-8/tint.txt
new file mode 100644
index 000000000..248d9f17f
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/tint.txt
@@ -0,0 +1,21 @@
+ Tux Paint "Magic" Tool: Tint
+
+ ### Group: Color Filters ###
+
+ ## Author: Bill Kendrick ##
+
+This changes the color (or hue) of the parts of the picture to the selected
+color.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Ljusare & Darken.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/toothpaste.txt b/magic/magic-docs/sv_SE.UTF-8/toothpaste.txt
new file mode 100644
index 000000000..e65407807
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/toothpaste.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Toothpaste
+
+ ### Group: Målning ###
+
+ ## Author: Andrew Corcoran ##
+
+Paint thick blobs of color on your picture that look like toothpaste.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/tornado.txt b/magic/magic-docs/sv_SE.UTF-8/tornado.txt
new file mode 100644
index 000000000..ec03b7452
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/tornado.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Tornado
+
+ ### Group: Artistic ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Draws a tornado effect onto the picture.
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/trimetric_draw.txt b/magic/magic-docs/sv_SE.UTF-8/trimetric_draw.txt
new file mode 100644
index 000000000..273bc810f
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/trimetric_draw.txt
@@ -0,0 +1,26 @@
+ Tux Paint "Magic" Tool: Trimetric Draw
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click and drag to draw in a trimetric projection. Lines will only go
+vertically, or at two chosen angles. Use "Trimetric Select" to adjust the two
+angles.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+This tool is not available with "complexity" (expertise level) set to 'Novice'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point
+Draw, 3-Point Select, Isometric Line, Dimetric Select, Dimetric Draw, Trimetric
+Select, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/trimetric_select.txt b/magic/magic-docs/sv_SE.UTF-8/trimetric_select.txt
new file mode 100644
index 000000000..9796093eb
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/trimetric_select.txt
@@ -0,0 +1,22 @@
+ Tux Paint "Magic" Tool: Trimetric Select
+
+ ### Group: Projections ###
+
+ ## Author: Bill Kendrick ##
+
+Click (and drag) to position the pair of angles that will be used with the
+"Trimetric Draw" tool.
+
+This tool is operated in a freehand fashion.
+
+This tool is only available with "complexity" (expertise level) set to
+'Advanced'.
+
+See also: 1-Point Draw, 1-Point Select, 2-Point Draw, 2-Point Select, 3-Point
+Draw, 3-Point Select, Isometric Line, Dimetric Select, Dimetric Draw, Trimetric
+Draw, Oblique Select, Oblique Draw, & Perspektiv.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/tv.txt b/magic/magic-docs/sv_SE.UTF-8/tv.txt
new file mode 100644
index 000000000..340ec554f
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/tv.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: TV
+
+ ### Group: Distorts ###
+
+ ## Authors: Adam Rakowski
+ Bill Kendrick
+ ##
+
+Distort your picture so it looks like it's on a television (TV).
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: TV (Bright).
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/tv_bright.txt b/magic/magic-docs/sv_SE.UTF-8/tv_bright.txt
new file mode 100644
index 000000000..f76e23dd5
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/tv_bright.txt
@@ -0,0 +1,21 @@
+ Tux Paint "Magic" Tool: TV (Bright)
+
+ ### Group: Distorts ###
+
+ ## Authors: Adam Rakowski
+ Bill Kendrick
+ ##
+
+Distort your picture so it looks like it's on a television (TV). (Brighter
+version of "TV".)
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+See also: TV.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/wavelets.txt b/magic/magic-docs/sv_SE.UTF-8/wavelets.txt
new file mode 100644
index 000000000..52764e3b0
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/wavelets.txt
@@ -0,0 +1,20 @@
+ Tux Paint "Magic" Tool: Wavelets
+
+ ### Group: Picture Warps ###
+
+ ## Authors: Bill Kendrick
+ Adam Rakowski
+ ##
+
+Click to make the entire picture wavy, up-and-down. Drag the mouse up and down
+to change the height of the ripples, and left and right to change the width.
+Release the mouse button when it looks the way you like it.
+
+This tool is operated in a freehand fashion.
+
+See also: Waves.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/waves.txt b/magic/magic-docs/sv_SE.UTF-8/waves.txt
new file mode 100644
index 000000000..7e5fd515f
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/waves.txt
@@ -0,0 +1,18 @@
+ Tux Paint "Magic" Tool: Waves
+
+ ### Group: Picture Warps ###
+
+ ## Author: Bill Kendrick ##
+
+Click to make the entire picture wavy, side-to-side. Drag the mouse up and down
+to change the height of the ripples, and left and right to change the width.
+Release the mouse button when it looks the way you like it.
+
+This tool is operated in a freehand fashion.
+
+See also: Wavelets.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/wet_paint.txt b/magic/magic-docs/sv_SE.UTF-8/wet_paint.txt
new file mode 100644
index 000000000..7d2ffc472
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/wet_paint.txt
@@ -0,0 +1,22 @@
+ Tux Paint "Magic" Tool: Wet Paint
+
+ ### Group: Målning ###
+
+ ## Authors: Albert Cahalan
+ Bill Kendrick
+ ##
+
+This draws a light, smudgy coat of paint on the picture.
+
+This tool is operated in a freehand fashion.
+
+This tool offers multiple size settings.
+
+This tool offers color choices.
+
+See also: Smudge.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/xor_colors.txt b/magic/magic-docs/sv_SE.UTF-8/xor_colors.txt
new file mode 100644
index 000000000..b5f002f95
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/xor_colors.txt
@@ -0,0 +1,16 @@
+ Tux Paint "Magic" Tool: Xor Colors
+
+ ### Group: Color Filters ###
+
+ ## Author: Lukasz Dmitrowski ##
+
+Colors based on the position drawn on the picture.
+
+This tool offers both freehand and one-click operation.
+
+This tool offers multiple size settings.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/magic/magic-docs/sv_SE.UTF-8/zoom.txt b/magic/magic-docs/sv_SE.UTF-8/zoom.txt
new file mode 100644
index 000000000..274faad95
--- /dev/null
+++ b/magic/magic-docs/sv_SE.UTF-8/zoom.txt
@@ -0,0 +1,19 @@
+ Tux Paint "Magic" Tool: Zooma
+
+ ### Group: Picture Warps ###
+
+ ## Author: Pere Pujal i Carabantes ##
+
+Click and drag up to zoom in, or down to zoom out. (When scaling down, your
+chosen color will be used as a background color.)
+
+This tool is operated in a freehand fashion.
+
+This tool offers color choices.
+
+See also: Rush & Tile Zoom.
+
+-------------------------------------------------------------------------------
+
+ Tux Paint 0.9.35
+
diff --git a/man/sv_SE.UTF-8/tuxpaint.1 b/man/sv_SE.UTF-8/tuxpaint.1
new file mode 100644
index 000000000..94d10e7db
--- /dev/null
+++ b/man/sv_SE.UTF-8/tuxpaint.1
@@ -0,0 +1,1667 @@
+.\" tuxpaint.1 - 2025.03.24
+.TH TUXPAINT 1 "mars 24, 2025" "0.9.35" "Tux Paint"
+.SH NAMN
+tuxpaint -- "Tux Paint", a drawing program for young children.
+
+.SH SYNOPSYS
+.B tuxpaint
+[\-\-help \-\-version \-\-verbose\-version \-\-usage \-\-copying]
+
+.TP 9
+.B tuxpaint
+[\-\-fullscreen {yes|native|no}]
+.br
+[\-\-allowscreensaver]
+.br
+[\-\-\fIBREDD\fPx\fIHEIGHT\fP]
+.br
+[\-\-native]
+.br
+[\-\-orient=portrait]
+.br
+[\-\-buttonsize \fISIZE\fP | \-\-buttonsize auto]
+.br
+[\-\-startblank]
+.br
+[\-\-nosound]
+.br
+[\-\-nostereo]
+.br
+[\-\-noquit]
+.br
+[\-\-noprint]
+.br
+[\-\-printdelay=\fISECONDS\fP]
+.br
+[\-\-printcfg]
+.br
+[\-\-altprintalways | \-\-altprintnever]
+.br
+[\-\-papersize \fIPAPPERSSTORLEK\fP | \-\-papersize help]
+.br
+[\-\-printcommand \fIKOMMANDO\fP]
+.br
+[\-\-altprintcommand \fIKOMMANDO\fP]
+.br
+[\-\-simpleshapes]
+.br
+[\-\-uppercase]
+.br
+[\-\-grab]
+.br
+[\-\-noshortcuts]
+.br
+[\-\-nowheelmouse]
+.br
+[\-\-nobuttondistinction]
+.br
+[\-\-nofancycursors]
+.br
+[\-\-hidecursor]
+.br
+[\-\-nooutlines]
+.br
+[\-\-nostamps]
+.br
+[\-\-nostampcontrols]
+.br
+[\-\-nostamprotation]
+.br
+[\-\-nomagiccontrols]
+.br
+[\-\-nomagicsizes]
+.br
+[\-\-ungroupmagictools]
+.br
+[\-\-noshapecontrols]
+.br
+[\-\-nolabel]
+.br
+[\-\-nobrushspacing]
+.br
+[\-\-complexity=\fIbeginner\fP | \-\-complexity=\fInovice\fP]
+.br
+[\-\-notemplateexport]
+.br
+[\-\-newcolorslast]
+.br
+[\-\-mirrorstamps]
+.br
+[\-\-colorsrows=\fIROWS\fP]
+.br
+[\-\-mouse-accessibility]
+.br
+[\-\-onscreen-keyboard]
+.br
+[\-\-onscreen-keyboard-layout \fILAYOUT\fP]
+.br
+[\-\-onscreen-keyboard-disable-change]
+.br
+[\-\-joystick-dev=\fIENHET\fP]
+.br
+[\-\-joystick-dev=list]
+.br
+[\-\-joystick-slowness=\fIHASTIGHET\fP]
+.br
+[\-\-joystick-threshold=\fITHRESHOLD\fP]
+.br
+[\-\-joystick-maxsteps=\fISTEG\fP]
+.br
+[\-\-joystick-hat-timeout=\fIMILLISEKUNDER\fP]
+.br
+[\-\-joystick-hat-slowness=\fIHASTIGHET\fP]
+.br
+[\-\-joystick-btn-escape=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-brush=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-stamp=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-lines=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-shapes=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-text=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-label=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-magic=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-undo=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-redo=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-eraser=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-new=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-open=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-save=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-pgsetup=\fIKNAPP\fP]
+.br
+[\-\-joystick-btn-print=\fIKNAPP\fP]
+.br
+[\-\-joystick-buttons-ignore=\fIBUTTON1,BUTTON2,...\fP]
+.br
+[\-\-stampsize=\fISIZE\fP]
+.br
+[\-\-keyboard]
+.br
+[\-\-nosysfonts]
+.br
+[\-\-alllocalefonts]
+.br
+[\-\-uifont \fITYPSNITTSNAMN\fP]
+.br
+[\-\-savedir \fIDIR\fP]
+.br
+[\-\-exportdir \fIDIR\fP]
+.br
+[\-\-datadir \fIDIR\fP]
+.br
+[\-\-saveover]
+.br
+[\-\-saveovernew]
+.br
+[\-\-nosave]
+.br
+[\-\-noerase]
+.br
+[\-\-autosave]
+.br
+[\-\-reversesort]
+.br
+[\-\-colorfile \fIFIL\fP]
+
+.TP 9
+.B tuxpaint (standardvärden)
+[\-\-windowed]
+.br
+[\-\-disablescreensaver]
+.br
+[\-\-800x600]
+.br
+[\-\-orient=landscape]
+.br
+[\-\-buttonsize 48]
+.br
+[\-\-startlast]
+.br
+[\-\-sound]
+.br
+[\-\-stereo]
+.br
+[\-\-quit]
+.br
+[\-\-print]
+.br
+[\-\-printdelay=0]
+.br
+[\-\-noprintcfg]
+.br
+[\-\-altprintmod]
+.br
+[\-\-complexshapes]
+.br
+[\-\-mixedcase]
+.br
+[\-\-dontgrab]
+.br
+[\-\-shortcuts]
+.br
+[\-\-wheelmouse]
+.br
+[\-\-buttondistinction]
+.br
+[\-\-fancycursors]
+.br
+[\-\-showcursor]
+.br
+[\-\-outlines]
+.br
+[\-\-stamps]
+.br
+[\-\-stampcontrols]
+.br
+[\-\-stamprotation]
+.br
+[\-\-magiccontrols]
+.br
+[\-\-magicsizes]
+.br
+[\-\-groupmagictools]
+.br
+[\-\-shapecontrols]
+.br
+[\-\-label]
+.br
+[\-\-brushspacing]
+.br
+[\-\-complexity=\fIadvanced\fP]
+.br
+[\-\-templateexport]
+.br
+[\-\-newcolorsfirst]
+.br
+[\-\-dontmirrorstamps]
+.br
+[\-\-stampsize=default]
+.br
+[\-\-mouse]
+.br
+[\-\-sysfonts]
+.br
+[\-\-currentlocalefont]
+.br
+[\-\-uifont=default]
+.br
+[\-\-saveoverask]
+.br
+[\-\-save]
+.br
+[\-\-erase]
+.br
+[\-\-noautosave]
+.br
+[\-\-noreversesort]
+.br
+
+.TP 9
+.B tuxpaint
+[\-\-locale \fILOKALANPASSNING\fP]
+
+.TP 9
+.B tuxpaint
+[\-\-lang \fILANGUAGE\fP | \-\-lang help]
+
+.TP 9
+.B tuxpaint
+[\-\-nosysconfig]
+.br
+[\-\-nolockfile]
+
+.SH BESKRIVNING
+.PP
+\fITux Paint\fP is a drawing program for young children. It is meant to be
+easy and fun to use. It provides a simple interface and fixed canvas size,
+and provides access to previous images using a thumbnail browser (i.e., no
+access to the underlying filesystem).
+
+Unlike popular drawing programs like "\fIThe GIMP\fP," it has a very
+limited toolset. However, it provides a much simpler interface, and has
+entertaining, child-oriented additions such as sound effects.
+
+.SH OPTIONS - INFORMATIONAL
+.l
+\fItuxpaint\fP accepts the following options to emit information about the
+program. It then exits immediately (without opening a graphical window).
+
+.TP 8
+.B \-\-help
+Display short, helpful information about Tux Paint.
+.TP 8
+.B \-\-version
+Output the version info.
+.TP 8
+.B \-\-verbose\-version
+Output the version info and compile-time build options.
+.TP 8
+.B \-\-usage
+Display a list of all commandline options.
+.TP 8
+.B \-\-copying
+Show the license (GNU GPL) under which Tux Paint is released.
+.TP 8
+.B \-\-listfonts
+Display a list of fonts found by Pango (and so available to Tux Paint via --uifont).
+
+.SH OPTIONS - INTERFACE
+.l
+\fItuxpaint\fP accepts the following options to alter the interface. They
+can be used along with, instead of, or to override options set in
+configuration files. (See below.)
+
+.SS VIDEO
+.TP 8
+.B \-\-fullscreen=yes \-\-fullscreen=native \-\-fullscreen=no \-\-windowed
+Run \fITux Paint\fP in full-screen mode at its default -- or a specified --
+screen resolution ("--fullscreen=yes"); or in full-screen mode at the
+system's native resolution ("--fullscreen=native"); or run in a window
+("--fullscreen=no" or "--windowed") (default).
+
+.TP 8
+.B \-\-native
+When in fullscreen mode, use the system's default screen resolution.
+
+.TP 8
+.B \-\-\fIBREDD\fPx\fIHEIGHT\fP
+Run \fITux Paint\fP in a particularly-sized window, or at a particular
+fullscreen resolution (if \-\-native is not used). Default is 800x600.
+Minimum width is 640. Minimum height is 480. Portrait and landscape
+orientations are both supported. (Also see \-\-orient, below.)
+
+.TP 8
+.B \-\-orient=landscape \-\-orient=portrait
+If \-\-orient=portrait is set, asks \fITux Paint\fP to swap the WIDTH and
+HEIGHT values it uses for windowed or fullscreen mode, without having to
+actually change the WIDTH and HEIGHT values in the configuration file or on
+the command-line. (This is useful on devices where the screen can be
+rotated, e.g. tablet PCs.)
+
+.TP 8
+.B \-\-allowscreensaver \-\-disablescreensaver
+Normally, \fItuxpaint\fP disables your screensaver. Use
+\-\-allowscreensaver to prevent this from happening.
+
+.SS LJUD
+.TP 8
+.B \-\-nosound \-\-sound
+Disable or enable (default) sound.
+
+.TP 8
+.B \-\-nostereo \-\-stereo
+Disable or enable (default) stereo panning support.
+
+.SS INTERFACE SIZE
+.TP 8
+.B \-\-buttonsize \fISIZE\fP \-\-buttonsize auto
+Adjust the size of the buttons in \fITux Paint\fP's user interface, between
+24 and 192 pixels (48 is the default, and suitable for displays with 96 to
+120dpi pixel density). Use "auto" to have \fITux Paint\fP choose a button
+size based on \fITux Paint\fP's window/display size.
+
+.TP 8
+.B \-\-colorsrows=\fIROWS\fP
+How many rows of color palette buttons to show; useful when using a large
+color palette, and/or for use with coarse input devices (like eyegaze
+trackers). It can be between 1 (default) and 3.
+
+.SS INTERFACE SIMPLIFICATION
+.TP 8
+.B \-\-simpleshapes \-\-complexshapes
+Disable or enable (default) the rotation step when using the Shape tool
+within Tux Paint. When disabled, shapes cannot be rotated; however, the
+interface is easier (click, drag, release), which can be useful for younger
+or disabled children.
+
+.TP 8
+.B \-\-nooutlines \-\-outlines
+With "--nooutlines" enabled, much simpler outlines and 'rubber-band' lines
+are displayed when using the Lines, Shapes, Stamps and Eraser tools. (This
+can help when Tux Paint is run on slower computers, or displayed on a
+remote terminal.)
+
+.TP 8
+.B \-\-uppercase \-\-mixedcase
+With "--uppercase" enabled, all text prompts and the Text and Label drawing
+tools will display only uppercase letters. This is useful for children who
+are not yet comfortable with the lowercase characterset. Default mode is
+mixed case.
+
+.SS INITIAL STAMP SIZE
+.TP 8
+.B \-\-stampsize=\fISIZE\fP \-\-stampsize=default
+Overrides the default size of all stamps, relative to their possible sizes
+(determined by Tux Paint, based on the dimensions of both the stamps
+themselves, and the drawing canvas). Valid values are from 0 (smallest) to
+10 (largest). Use "--stampsize=default" to let Tux Paint choose on a
+per-stamp basis (this is the default setting).
+
+.SS STARTING OUT
+.TP 8
+.B \-\-startblank \-\-startlast
+When you start Tux Paint, it loads the last image that was being worked on.
+ The "\-\-startblank" option disables this, so it always starts with a
+blank canvas. The default behavior is "\-\-startlast".
+
+.TP 8
+.B \-\-newcolorslast \-\-newcolorsfirst
+List solid (blank) colors at the end, or beginning (default) of the options
+displayed when using the New tool to start a new picture.
+
+.SS CONTROL SIMPLIFICATION
+.TP 8
+.B \-\-noquit \-\-quit
+Disable or enable (default) the on-screen Quit button and [Escape] key for
+quitting Tux Paint. Instead, use the window close button in the titlebar,
+the [Alt]+[F4] key sequence, or the [Shift]+[Control]+[Escape] key
+sequence.
+
+.TP 8
+.B \-\-nostamps \-\-stamps
+With "--nostamps" set, Rubber Stamp images are not loaded, so the Stamps
+tool will not be available. This option can be used to reduce the time Tux
+Paint takes to load, and reduce the amount of RAM it requires.
+
+.TP 8
+.B \-\-nostampcontrols \-\-stampcontrols
+Disable or enable (default) buttons to control stamps. Controls include
+mirror, flip, shrink and grow. (Note: Not all stamps will be controllable
+in all ways.)
+
+.TP 8
+.B \-\-nostamprotation \-\-stamprotation
+Disable or enable (default) the rotation step when placing a stamp in the
+drawing.
+
+.TP 8
+.B \-\-nomagiccontrols \-\-magiccontrols
+Disable or enable (default) buttons to control Magic tools. Controls
+include controlling whether a Magic tool is used like a paint brush, or if
+it affects the entire image at once. (Note: Not all Magic tools will be
+controllable.)
+
+.TP 8
+.B \-\-nomagicsizes \-\-magicsizes
+Disable or enable (default) Magic size controls. (Note: Not all Magic
+tools offer size controls.)
+
+.TP 8
+.B \-\-ungroupmagictools \-\-groupmagictools
+Disable or enable (default) grouping of Magic tools.
+
+.TP 8
+.B \-\-noshapecontrols \-\-shapecontrols
+Disable or enable (default) buttons to change the Shape tool's behavior --
+shapes expanding from the center, or from a corner, where the mouse is
+initially clicked.
+
+.TP 8
+.B \-\-nolabel \-\-label
+Disable or enable (default) the Label tool, which lets you create text
+which can be altered or moved later.
+
+.TP 8
+.B \-\-nobrushspacing \-\-brushspacing
+Disable or enable (default) the brush spacing option of the Paint and Lines
+tools, which allows you to override the default spacing of a brush.
+
+.TP 8
+.B \-\-complexity=advanced \-\-complexity=beginner \-\-complexity=novice
+Set the complexity (expertise) level, which affects whether certain Magic
+tools are available, or how they operate. (advanced is the default)
+
+.TP 8
+.B \-\-notemplateexport \-\-templateexport
+Disable or enable (default) the ability to create new Templates from saved
+drawings via the Open dialog.
+
+.TP 8
+.B \-\-noerase \-\-erase
+The --noerase option disables Tux Paint's ability to erase files (saved
+drawings, via the Open dialog, and exported templates, via the New dialog).
+Useful to prevent a user from accidentally erasing their own work, or that
+of others (especially used in combination with --saveovernew).
+
+.SH OPTIONS - CONTROLLING TUX PAINT
+.l
+\fItuxpaint\fP accepts the following options to alter how you control Tux
+Paint. They can be used along with, instead of, or to override options set
+in configuration files. (See below.)
+
+.SS MARKÖR
+.TP 8
+.B \-\-nofancycursors \-\-fancycursors
+Disable or enable (default) the 'fancy' mouse pointer shapes in Tux Paint.
+While the shapes are larger, and context sensitive, some environments have
+trouble displaying the mouse pointer, and/or leave 'trails' on the screen.
+
+.TP 8
+.B \-\-hidecursor \-\-showcursor
+Completely hide, or enable (default) the mouse pointer in Tux Paint. This
+can be useful on touchscreen devices, such as tablet PCs.
+
+.SS KEYBOARD
+.TP 8
+.B \-\-noshortcuts \-\-shortcuts
+If "--noshortcuts" mode, keyboard shortcuts (e.g., [Ctrl]+[S] for Save)
+will be disabled. Default mode is for shortcuts to be enabled.
+
+.SS MOUSE AND ACCESSIBILITY
+.TP 8
+.B \-\-grab \-\-dontgrab
+Grab the mouse and keyboard input (if possible), so that the mouse is
+confined to the Tux Paint window. Default is to not grab.
+
+.TP 8
+.B \-\-nowheelmouse \-\-wheelmouse
+By default, the wheel (jog dial) on a mouse will be used to scroll the
+'selector' on the right of the screen. This can be disabled, and the wheel
+completely ignored, with the "--nowheelmouse" option. This is useful for
+children who aren't yet comfortable with the mouse. Default is to support
+the wheel.
+
+.TP 8
+.B \-\-mouse-accessibility
+In this mode, instead of clicking, dragging and releasing (e.g., to draw),
+you click, move, and click again to end the motion. ("Sticky mouse
+clicks.")
+
+.TP 8
+.B \-\-keyboard \-\-mouse
+The "--keyboard" option lets the mouse pointer in Tux Paint be controlled
+with the keyboard. The [Up], [Down], [Left], and [Right] arrow keys move
+the pointer. [Spacebar] acts as the mouse button.
+
+.TP 8
+.B \-\-nobuttondistinction \-\-buttondistinction
+By default, only mouse button #1 (typically the leftmost mouse button on
+mice with more than one button) can be used for interacting with Tux Paint.
+ With the "--nobuttondistinction" option, mouse buttons #2 (middle) and #3
+(right) can be used, as well. This is useful for children who aren't yet
+comfortable with the mouse. Default is to only recognize button #1.
+
+.SS ONSCREEN KEYBOARD
+.TP 8
+.B \-\-onscreen-keyboard
+Presents a clickable on-screen keyboard when using the Text and Label
+tools.
+
+.TP 8
+.B \-\-onscreen-keyboard-layout \fILAYOUT\fP
+Specify the default layout for the on-screen keyboard (see above).
+
+.TP 8
+.B \-\-onscreen-keyboard-disable-change
+Disables the left/right arrow buttons visible on the on-screen keyboard,
+which are used to switch between the available on-screen keyboard layouts.
+
+.SS JOYSTICK
+.TP 8
+.B \-\-joystick-dev=\fIENHET\fP
+Specify which joystick device should be used by Tux Paint. Default value is
+0 (the first joystick).
+
+.TP 8
+.B \-\-joystick-dev=list
+List the system's available joysticks and exit. (Does not launch Tux
+Paint.)
+
+.TP 8
+.B \-\-joystick-slowness=\fIHASTIGHET\fP
+Sets a delay at each axis motion, allowing to slow the joystick. Allowed
+values are from 0 to 500. Default value is 15.
+
+.TP 8
+.B \-\-joystick-threshold=\fITHRESHOLD\fP
+Sets the minimum level of axis motion to start moving the pointer. Allowed
+values are from 0 to 32766. Default value is 3200.
+
+.TP 8
+.B \-\-joystick-maxsteps=\fISTEG\fP
+Sets the maximum pixels the pointer will move at once. Allowed values are
+from 1 to 7. Default value is 7.
+
+.TP 8
+.B \-\-joystick-hat-timeout=\fIMILLISEKUNDER\fP
+Sets the delay after wich the pointer will start moving automatically if
+the hat is keeped pushed. Allowed values are from 0 to 3000. Default value
+is 1000.
+
+.TP 8
+.B \-\-joystick-hat-slowness=\fIHASTIGHET\fP
+Sets a delay at each automatic motion, allowing to slow the speed of the
+hat. Allowed values are from 0 to 500. Default value is 15.
+
+.TP 8
+.B \-\-joystick-btn-escape=\fIKNAPP\fP
+Selects the joystick button number, as seen by SDL, that will be used to
+generate a escape event. Useful to dismiss dialogs and quit.
+
+.TP 8
+.B \-\-joystick-btn-\fIKOMMANDO\fP=\fIKNAPP\fP
+Selects the joystick button number, as seen by SDL, that will be a shortcut
+to various tools within Tux Paint.
+
+.PP
+.RS
+.PD 0
+.TP 2
+-
+brush | Paint
+.TP 2
+-
+stamp | Stamp
+.TP 2
+-
+lines | Lines
+.TP 2
+-
+shapes | Shapes
+.TP 2
+-
+text | Text
+.TP 2
+-
+label | Etikett
+.TP 2
+-
+magic | Magisk
+.TP 2
+-
+undo | Ångra
+.TP 2
+-
+redo | Gör om
+.TP 2
+-
+eraser | Eraser
+.TP 2
+-
+new | Ny
+.TP 2
+-
+open | Open
+.TP 2
+-
+save | Save
+.TP 2
+-
+pgsetup | Print (dialog)
+.TP 2
+-
+print | Print (immediate)
+.RE
+.PD
+
+.TP 8
+.B \-\-joystick-buttons-ignore=\fIBUTTON1,BUTTON2,...\fP
+A set of joystick button numbers, as seen by SDL, that should be ignored.
+Otherwise, unless they are used by one of the "--joystick-btn-..." options
+above, buttons will be seen as a mouse left-click. Comma-separated.
+
+.SH OPTIONS - PRINTING
+.l
+\fItuxpaint\fP accepts the following options to alter how Tux Paint handles
+printing. They can be used along with, instead of, or to override options
+set in configuration files. (See below.)
+
+.SS PRINT PERMISSIONS
+.TP 8
+.B \-\-noprint \-\-print
+Disable or enable (default) the Print command within Tux Paint.
+
+.TP 8
+.B \-\-printdelay=\fISECONDS\fP \-\-printdelay=0
+Only allow printing (via the Print command) once every SECONDS seconds.
+Default is 0 (no limitation).
+
+.SS SHOW PRINTER DIALOG
+.TP 8
+.B \-\-altprintmod \-\-altprintnever \-\-altprintalways
+These options control whether an system printer dialog appears when the
+user clicks the Print button. By default ("--altprintmod"), pressing [Alt]
+while clicking Print will bring up a dialog (unless you're in fullscreen
+mode). With "--altprintalways", the dialog will always appear, even if
+[Alt] is not being held. With "--altprintnever", the dialog will never
+appear, even if [Alt] is being held.
+
+.SS SAVE PRINTER CONFIGURATION
+.TP 8
+.B \-\-printcfg \-\-noprintcfg
+(Windows and Mac OS X only.) Enable or disable loading and saving of
+printer settings. By default, Tux Paint will print to the default printer
+with default settings. Pressing [Alt] while pushing the Print button will
+cause a printer dialog to appear (as long as you're not in fullscreen mode;
+see also "--altprintalways" and "--altprintnever", below.) Unless
+"--noprintcfg" is used, your previous settings will be loaded when Tux
+Paint starts up, and setting changes will be saved for next time.
+
+.SS PRINT COMMANDS
+.TP 8
+.B \-\-printcommand \fIKOMMANDO\fP
+(Only when PostScript printing is used.) Have Tux Paint print via an
+alternate command, rather than lpr(1).
+
+.TP 8
+.B \-\-altprintcommand \fIKOMMANDO\fP
+(Only when PostScript printing is used.) Have Tux Paint print via an
+alternate command, when a dialog is expect (e.g., when holding [Alt] while
+clicking Print; see above), rather than kprinter.
+
+.SS PAPPERSSTORLEK
+.TP 8
+.B \-\-papersize \fIPAPPERSSTORLEK\fP
+(Only when PostScript printing is used.) Ask Tux Paint to generate
+PostScript of a particular paper size. Valid sizes are those supported by
+libpaper. See papersize(5).
+
+.SH OPTIONS - SAVING
+.l
+\fItuxpaint\fP accepts the following options to alter how Tux Paint
+operates when saving or exporting drawings. They can be used along with,
+instead of, or to override options set in configuration files. (See below.)
+
+.SS SAVE OVER EARLIER WORK
+.TP 8
+.B \-\-saveover \-\-saveovernew \-\-saveoverask
+If, when saving a picture, an older version of the file will be
+overwritten, Tux Paint will, by default, ask for confirmation: either save
+over the old file, or create a new file. This prompt can be disabled with
+"--saveover" (which always saves over older versions of pictures) or
+"--saveovernew" (which always saves a new file). The default is to prompt
+("--saveoverask").
+
+.SS SAVE AND EXPORT DIRECTORIES
+.TP 8
+.B \-\-savedir \fIDIR\fP
+Specify where Tux Paint should save and load its drawings.
+
+.TP 8
+.B \-\-exportdir \fIDIR\fP
+Specify where Tux Paint should export drawings and animations.
+
+.SS MORE SAVING OPTIONS
+.TP 8
+.B \-\-nosave \-\-save
+The --nosave option disables Tux Paint's ability to save files. This can be
+used in situations where the program is only being used for fun, or in a
+test environment.
+
+.TP 8
+.B \-\-autosave \-\-noautosave
+The --autosave option prevents Tux Paint from asking whether you want to
+save the current picture when quitting, and assumes you do.
+
+.TP 8
+.B \-\-reversesort \-\-noautosave
+The --reversesort option causes Tux Paint's Open and Slideshow dialogs to
+display the oldest images at the top of the list (normally the newest
+appear at the top, and the oldest at the bottom.
+
+.SH OPTIONS - DATA FILES
+.l
+\fItuxpaint\fP accepts the following options to alter where Tux Paint loads
+data (stamps, brushes, etc.) They can be used along with, instead of, or
+to override options set in configuration files. (See below.)
+
+.TP 8
+.B \-\-datadir \fIDIR\fP
+Specify where Tux Paint should look for personal data files (brushes,
+stamps, etc.).
+
+.TP 8
+.B \-\-colorfile \fIFIL\fP
+This option allows you to override the default color palette in Tux Paint
+and replace it with your own. The file should be a plain ASCII text file
+containing one color description per line. Colors may be in decimal or 6-
+or 3-digit hexadecimal, and followed by a description. (For example,
+"\fI#000 Black\fP" and "\fI255 192 64 Orange\fP".)
+
+.SH OPTIONS - LANGUAGE
+.l
+\fItuxpaint\fP accepts the following options to alter the language used by
+Tux Paint's interface, and other related settings. They can be used along
+with, instead of, or to override options set in configuration files. (See
+below.)
+
+.l
+Various parts of Tux Paint have been translated into numerous languages.
+Tux Paint will try its best to honor your locale setting (i.e., the "LANG"
+environment variable), if possible. You can also specifically set the
+language using options on the command-line or in a configuration file.
+
+.TP 8
+.B \-\-locale \fILOKALANPASSNING\fP
+Specify the language to use, based on locale name (which is typically of
+the form "language[_territory][.codeset][@modifier], where "language" is an
+ISO 639 language code, "territory" is an ISO 3166 country code, and
+"codeset" is a character set or encoding identifier like "ISO-8859-1" or
+"UTF-8".)
+.PP
+.RS
+For example, "de_DE@euro" for German, or "pt_BR" for Brazilian Portuguese.
+.RE
+
+.TP 8
+.B \-\-lang \fILANGUAGE\fP
+Specify the language to use, based on the language's name (as recognized by
+Tux Paint). Choose one of the language names listed below:
+.PP
+.RS
+.PD 0
+.TP 2
+-
+english | american-english
+.TP 2
+-
+acholi | acoli
+.TP 2
+-
+afrikaans
+.TP 2
+-
+akan | twi-fante
+.TP 2
+-
+albanian
+.TP 2
+-
+amharic
+.TP 2
+-
+arabic
+.TP 2
+-
+aragones
+.TP 2
+-
+armenian | hayeren
+.TP 2
+-
+assamese
+.TP 2
+-
+asturian
+.TP 2
+-
+azerbaijani
+.TP 2
+-
+australian-english
+.TP 2
+-
+bambara
+.TP 2
+-
+basque | euskara
+.TP 2
+-
+belarusian | bielaruskaja
+.TP 2
+-
+bengali
+.TP 2
+-
+bodo
+.TP 2
+-
+bokmal
+.TP 2
+-
+bosnian
+.TP 2
+-
+brazilian-portuguese | portugues-brazilian | brazilian
+.TP 2
+-
+breton | brezhoneg
+.TP 2
+-
+british | british-english
+.TP 2
+-
+bulgarian
+.TP 2
+-
+canadian-english
+.TP 2
+-
+catalan | catala
+.TP 2
+-
+chinese | simplified-chinese
+.TP 2
+-
+croatian | hrvatski
+.TP 2
+-
+czech | cesky
+.TP 2
+-
+danish | dansk
+.TP 2
+-
+dogri
+.TP 2
+-
+dutch | nederlands
+.TP 2
+-
+esperanto
+.TP 2
+-
+estonian
+.TP 2
+-
+faroese
+.TP 2
+-
+finnish | suomi
+.TP 2
+-
+french | francais
+.TP 2
+-
+fula | fulah | pulaar-fulfulde
+.TP 2
+-
+gaelic | irish-gaelic | gaidhlig
+.TP 2
+-
+galician | galego
+.TP 2
+-
+georgian
+.TP 2
+-
+german | deutsch
+.TP 2
+-
+greek
+.TP 2
+-
+gronings | zudelk-veenkelonioals
+.TP 2
+-
+gujarati
+.TP 2
+-
+hebrew
+.TP 2
+-
+hindi
+.TP 2
+-
+hungarian | magyar
+.TP 2
+-
+icelandic | islenska
+.TP 2
+-
+indonesian | bahasa-indonesia
+.TP 2
+-
+inuktitut
+.TP 2
+-
+italian | italiano
+.TP 2
+-
+japanese
+.TP 2
+-
+kabyle | kabylian
+.TP 2
+-
+kannada
+.TP 2
+-
+kashmiri-devanagari
+.TP 2
+-
+kashmiri-perso-arabic
+.TP 2
+-
+kiga | chiga
+.TP 2
+-
+kinyarwanda
+.TP 2
+-
+khmer
+.TP 2
+-
+klingon | tlhIngan
+.TP 2
+-
+konkani-devanagari
+.TP 2
+-
+konkani-roman
+.TP 2
+-
+korean
+.TP 2
+-
+kurdish
+.TP 2
+-
+latvian
+.TP 2
+-
+lithuanian | lietuviu
+.TP 2
+-
+luganda
+.TP 2
+-
+luxembourgish | letzebuergesch
+.TP 2
+-
+macedonian
+.TP 2
+-
+maithili
+.TP 2
+-
+malay
+.TP 2
+-
+malayalam
+.TP 2
+-
+manipuri-bengali
+.TP 2
+-
+manipuri-meitei-mayek
+.TP 2
+-
+marathi
+.TP 2
+-
+mexican-spanish | espanol-mejicano | mexican
+.TP 2
+-
+mongolian
+.TP 2
+-
+ndebele
+.TP 2
+-
+nepali
+.TP 2
+-
+northern-sotho | sesotho-sa-leboa
+.TP 2
+-
+norwegian | nynorsk | norsk
+.TP 2
+-
+occitan
+.TP 2
+-
+odia | oriya
+.TP 2
+-
+ojibway | ojibwe
+.TP 2
+-
+persian
+.TP 2
+-
+polish | polski
+.TP 2
+-
+portuguese | portugues
+.TP 2
+-
+punjabi | panjabi
+.TP 2
+-
+romanian
+.TP 2
+-
+russian | russkiy
+.TP 2
+-
+sanskrit
+.TP 2
+-
+santali-devanagari
+.TP 2
+-
+santali-ol-chiki
+.TP 2
+-
+sardinian
+.TP 2
+-
+scottish | scottish-gaelic | ghaidhlig
+.TP 2
+-
+serbian
+.TP 2
+-
+serbian-latin
+.TP 2
+-
+shuswap | secwepemctin
+.TP 2
+-
+shuswap-devanagari
+.TP 2
+-
+sindhi-perso-arabic
+.TP 2
+-
+slovak
+.TP 2
+-
+slovenian | slovensko
+.TP 2
+-
+songhay
+.TP 2
+-
+southafrican-english
+.TP 2
+-
+spanish | espanol
+.TP 2
+-
+sundanese
+.TP 2
+-
+swahili
+.TP 2
+-
+swedish | svenska
+.TP 2
+-
+tagalog
+.TP 2
+-
+tamil
+.TP 2
+-
+telugu
+.TP 2
+-
+thai
+.TP 2
+-
+tibetan
+.TP 2
+-
+traditional-chinese
+.TP 2
+-
+turkish
+.TP 2
+-
+twi
+.TP 2
+-
+ukrainian
+.TP 2
+-
+urdu
+.TP 2
+-
+valencian
+.TP 2
+-
+venda
+.TP 2
+-
+venetian | veneto
+.TP 2
+-
+vietnamese
+.TP 2
+-
+walloon | walon
+.TP 2
+-
+welsh | cymraeg
+.TP 2
+-
+wolof
+.TP 2
+-
+xhosa
+.TP 2
+-
+zapotec | miahuatlan-zapotec
+.TP 2
+-
+zulu
+.RE
+.PD
+
+.TP 8
+.B \-\-lang help
+Display a lists of all supported languages.
+
+.TP 8
+.B \-\-mirrorstamps \-\-dontmirrorstamps
+With "--mirrorstamps" set, stamps which can be mirrored will appear
+mirrored by default. This can be useful when used by people who prefer
+things right-to-left over left-to-right.
+
+.SS TYPSNITT
+.TP 8
+.B \-\-nosysfonts \-\-sysfonts
+Tux Paint normally attempts to search for additional TrueType Fonts
+installed in common places on your system. If this causes trouble, or
+you'd prefer to only make fonts installed in Tux Paint's directory
+available, use the "--nosysfonts" option to disable this feature.
+
+.TP 8
+.B \-\-alllocalefonts \-\-currentlocalefont
+Tux Paint avoids loading any fonts found in its "locale" font subdirectory,
+except any that match the current locale Tux Paint is running under. Use
+the "--alllocalefonts" option to load all such fonts, for use in the Text
+and Label tools. (This was the default behavior, prior to version 0.9.21.)
+
+.TP 8
+.B \-\-uifont=\fI"TYPSNITTSNAMN"\fP \-\-uifont=default
+Specify the name of a font for Tux Paint to attempt to use for its user
+interface (UI) -- button labels, dialog pop-up text, instructional text at
+the bottom. If left unspecified, or "default" is given, then "DejaVu Sans"
+will be used. (This was the default behavior, prior to version 0.9.31.)
+
+.SH ALTERNATIV - DIVERSE
+.l
+\fItuxpaint\fP accepts the following options to alter its behavior. They
+can be used along with, instead of, or to override options set in
+configuration files. (See below.)
+
+.TP 8
+.B \-\-nosysconfig
+With this option, Tux Paint will not attempt to read the system-wide
+configuration file (typically "/etc/tuxpaint/tuxpaint.conf" or
+"/usr/local/etc/tuxpaint/tuxpaint.conf").
+
+.TP 8
+.B \-\-nolockfile
+By default, Tux Paint uses a lockfile (stored in the user's local Tux Paint directory) which prevents it from being launched more than once in 30 seconds. (Sometimes children get too eager, or user interfaces only require one click, but users think they need to double-click.) This option makes Tux Paint ignore the current lockfile.
+
+.SH MILJÖ
+.ad l
+While Tux Paint may refer to a number of environment variables indirectly
+(e.g., via SDL(3)), it directly accesses the following: (See "FILES" below,
+as well.)
+.PP
+.TP 8
+.B HOME
+to determine where picture files go when using the Save and Open commands
+within Tux Paint, to keep track of the current image, when quitting and
+restarting Tux Paint, and to get the user's configuration file.
+
+.TP 8
+.B LANG, LC_ALL, LANGUAGE, och LC_MESSAGES
+to determine language to use, if setlocale(3) refers to "LC_MESSAGES".
+
+.TP 8
+.B SDL_VIDEO_ALLOW_SCREENSAVER
+Set this environment variable to '1' to allow a screensaver to appear while
+Tux Paint is running. This can also be done via the "--allowscreensaver"
+option.
+
+.TP 8
+.B SDL_VIDEO_WINDOW_POS
+If this is NOT set, Tux Paint will set it to "center", to attempt to place
+the Tux Paint window in the center of a display. If it IS set (e.g., to
+"nopref", meaning "no preference"), Tux Paint will not override it.
+
+.SH FILER
+.TP 8
+.B [/usr/local/]/etc/tuxpaint/tuxpaint.conf
+System-wide configuration file. It is read first (unless the
+"--nosysconfig" option was given on the command-line).
+.RS
+.PP
+(Created during installation.)
+.RE
+.TP 8
+.B $HOME/.tuxpaintrc
+User's configuration file. It can be used to set default options (rather
+than setting them on the command-line every time), and/or to override any
+settings in the system-wide configuration file.
+.RS
+.PP
+(Not created or edited automatically; must be created manually. You can do
+this by hand, or use tuxpaint-config(1).)
+.RE
+.TP 8
+.B $HOME/.tuxpaint/saved/
+A directory of previously-saved images (and thumbnails). Only files in
+this directory will be made available using the Open command within Tux
+Paint. Overridden via the "--savedir" option.
+.RS
+.PP
+(Created when Save command is used.)
+.RE
+.TP 8
+.B $HOME/.tuxpaint/current_id.txt
+A reference to the image which was being edited when Tux Paint was last
+quit. (This image is automatically loaded the next time Tux Paint is
+re-run, unless the "--startblank" option is set.)
+.RS
+.PP
+(Created when Tux Paint is Quit.)
+.RE
+.TP 8
+.B $HOME/.tuxpaint/lockfile.dat
+A lockfile that prevents Tux Paint from being launched more than once every
+30 seconds. Disable checking the lockfile by using the "--nolockfile"
+option.
+.RS
+.PP
+(There's no reason to delete the lockfile, as it contains a timestamp
+inside which causes it to expire after 30 seconds.)
+.RE
+.TP 8
+.B $XDG_CONFIG_HOME[XDG_PICTURES_DIR]/TuxPaint/
+A directory where images and animations should be exported (via options
+found in Tux Paint's Open dialog), if the "--exportdir" option is not used
+to override it. If "$XDG_CONFIG_HOME" is set, a configuration file
+"user-dirs.dirs" will be scanned within the directory it points to; if not,
+Tux Paint will attempt to do so within "$HOME/.config/". If a setting
+named "XDG_PICTURES_DIR" is found, it will be used as the location to
+export images. If all else fails, then "$HOME/Pictures/" will be used. A
+"TuxPaint" subdirectory will be created.
+.TP 8
+.B $XDG_DATA_HOME/Trash/ eller $HOME/.local/share/Trash/
+A directory where images are placed when the Erase option is used from the
+Open dialog.
+
+.SH COPYRIGHT
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+.SH ÖVRIG INFORMATION
+See the documentation that comes with Tux Paint for further instructions on using the program's features.
+
+The canonical place to find Tux Paint information is at
+.nh
+https://tuxpaint.org/.
+.hy
+
+.SH AUTHORS
+Lead developer and project manager: Bill Kendrick
+.nh
+.
+.hy
+
+With patches, fixes, extensions, porting, translations, documentation, and
+more from lots of people, including, but probably not limited to (see
+AUTHORS.txt and CHANGES.txt):
+
+Aki,
+Ashish Arora,
+A S Alam,
+Khalid Al Holan,
+Daniel Andersson,
+Hodorog Andrei,
+Joana Portia Antwi-Danso,
+Adorilson Bezerra de Araujo,
+Xandru Armesto,
+Ben Armstrong,
+Ravishankar Ayyakkannu,
+
+Dwayne Bailey,
+Matías Bellone,
+Martin Benjamin,
+Besnik Bleta,
+Denis Bodor,
+Rahul Borade,
+Yacine Bouklif,
+Miguel Anxo Bouzada,
+René Brandenburger,
+Herman Bruyninckx,
+Lucie Burianova,
+Laurentiu Buzdugan,
+
+Albert Cahalan,
+Pere Pujal i Carabantes,
+Hugo Carvalho,
+Felipe Castro,
+Ouychai Chaita,
+Zdenek Chalupský,
+Wei-Lun Chao,
+Jacques Chion,
+Ankit Choudary,
+Yuri Chornoivan,
+Abdoul Cisse,
+Urska Colner,
+Adam 'akanewbie' Corcoran,
+Helder Correia,
+Ricardo Cruz,
+
+Magnus Dahl,
+Laurent Dhima,
+Chandrakant Dhutadmal,
+Yavor Doganov,
+Joe Dalton,
+Tim Dickson,
+Dawa Dolma,
+Kevin Donnelly,
+Dovix,
+Korvigellou An Drouizig (Philippe),
+Serhij Dubyk,
+
+Ander Elortondo,
+Alberto Escudero-Pascual,
+
+T. Surya Fajri,
+Jamil Farzana,
+Fasokan,
+Sveinn í Felli,
+Emanuel Feruzi,
+Doruk Fisek,
+Flavia Floris,
+Fòram na Gàidhlig,
+Fabian Franz,
+Derrick Frimpong,
+Martin Fuhrer,
+Fula Localization Project,
+
+Alexander Gabillondo,
+Török Gábor,
+Gabriel Gazzan,
+Robert Buj Gelonch,
+Olesya Gerasimenko,
+Alexander Geroimenko,
+Torsten Giebl,
+Harvey Ginter,
+Solomon Gizaw,
+Robert Glowczynski,
+Chris Goerner,
+Mikel González,
+Volker Grabsch,
+The Greek Linux i18n Team,
+Edmund GRIMLEY EVANS,
+Frederico Goncalves Guimaraes,
+
+HackerGene,
+Joe Hanson,
+Sam "Criswell" Hart,
+Guy Hed,
+Farinaz Hedayat,
+Prasanta Hembram,
+Willem Heppe,
+Tedi Heriyanto,
+Pjetur G. Hjaltason,
+Knut Erik Hollund,
+Henrik Holst,
+Khaled Hosny,
+Henry House,
+Mohomodou Houssouba,
+Song Huang,
+Karl Ove Hufthammer,
+
+Roland Illig,
+Daniel Illingworth,
+Indigenas Sin Fronteras,
+Juan Irigoien,
+Students of Vocational Higher Secondary School Irimpanam,
+Itai,
+Dmitriy Ivanov,
+
+Mogens Jaeger,
+Lis Gøthe í Jákupsstovu,
+Nedjeljko Jedvaj,
+Aleksandar Jelenak,
+Rasmus Erik Voel Jensen,
+Lauri Jesmin,
+Wang Jian,
+Amed Ç. Jiyan,
+Klaus Ade Johnstad,
+Petri Jooste,
+Richard June,
+
+Andrej Kacian,
+Thomas Kalka,
+Alevtina Karashokova,
+Carole Karema,
+Jorma Karvonen,
+Yannis Kaskamanidis,
+Kazuhiko,
+Gabor Kelemen,
+Mark Kim,
+Thomas Klausner,
+Koby,
+Marcin 'Shard' Konicki,
+Ines Kovacevic,
+Mantas Kriauciunas,
+Freek de Kruijf,
+Andrzej M. Krzysztofowicz,
+Anand Kulkarni,
+Enes Burhan KURAN,
+Piotr Kwilinski,
+Serafeim Kyriaki,
+
+J.F.M. Lange,
+Matthew Lange,
+Fabio Lazarin,
+Niko Lewman,
+Arkadiusz Lipiec,
+Ricky Lontoc,
+Dag H. Loras,
+Burkhard Luck,
+
+Nuno Magalhães,
+Vincent Mahlangu,
+Ankit Malik,
+Neskie Manuel,
+Fred Ulisses Maranhao,
+Yannig MARCHEGAY (Kokoyaya),
+Jorge Mariano,
+Martin,
+Sergio Marques,
+Pheledi Mathibela,
+Scott McCreary,
+Marco Milanesi,
+Never Min,
+Kartik Mistry,
+Viateur MUGENZI,
+Mugunth,
+Benson Muite,
+Noëlla Mupole,
+Steve Murphy,
+Samuel Murray (Groenkloof),
+
+Philibert Ndandali,
+Shumani Mercy Nehulaudzi,
+Mikkel Kirkgaard Nielsen,
+Alesis Novik,
+Nudjaree,
+Daniel Nylander,
+
+Olli,
+Sven Ollino,
+James Olweny,
+Teresa Orive,
+Gareth Owen,
+
+Quentin PAGÈS,
+Sorin Paliga,
+Yannis Papatzikos,
+Nikolay Parukhin,
+Cas Pascal,
+Alessandro Pasotti,
+Flavio Pastor,
+Patrick,
+George Patrick,
+Primoz Peterlin,
+Le Quang Phan,
+Henrik Pihl,
+Auk Piseth,
+Pablo Pita,
+Milan Plzik,
+Eric Poncet,
+Sergei Popov,
+John Popplewell,
+
+Ivana Rakic,
+Adam 'foo-script' Rakowski,
+Rodrigo Perez Ramirez and Indigenas Sin Fronteras,
+Sebastian Rasmussen,
+Robert Readman,
+Leandro Regueiro,
+Samir Ribić,
+Jozef Říha,
+Simona Riva,
+Michael de Rooij,
+Robin Rosenberg,
+Philipp Rösner,
+Ilir Rugova,
+Jaroslav Rynik,
+
+Bert Saal,
+Ibraahiima SAAR,
+Saikumar,
+Pablo Saratxaga,
+Samuel Sarpong,
+Kevin Patrick Scannell,
+Stephanie Schilling,
+Luc 'Begasus' Schrijvers,
+Kiriaki SERAFEIM,
+Pavithran Shakamuri,
+Savitha Shankar,
+Terrence Sheflin,
+Gia Shervashidze,
+Clytie Siddall,
+Kliment Simoncev,
+sipho,
+Tomas Skäre,
+Sokratis Sofianopoulos,
+Khoem Sokhem,
+Songhay localisation and dictionary project,
+Geert Stams,
+Peter Sterba,
+Raivis Strogonovs,
+Luis C. Suárez,
+Sugar Labs i18n team,
+
+Tomasz 'karave' Tarach,
+Michal Terbert,
+Will Thompson,
+Ignacio Tike,
+Tilo,
+Tarmo Toikkanen,
+TOYAMA Shin-ichi,
+Niall Tracey,
+Gerasim Troeglazov,
+tropikhajma,
+Peter Tuhársky,
+Florence Tushabe,
+
+Matej Urbančič,
+
+Vankata453,
+Rita Verbauskaite,
+Daniel Jose Viana,
+Charles Vidal,
+
+Darrell Walisser,
+Frank Weng,
+
+Damian Yerrick,
+
+Muhammad Najmi Ahmad Zabidi,
+臧传明,
+Eugene Zelenko,
+Martin Zhekov,
+and
+Huang Zuzhen.
+
+.SH SEE ALSO
+.BR tuxpaint-import (1),
+.BR tuxpaint-config (1),
+.BR tp-magic-config (1),
+.BR xpaint (1),
+.BR gpaint (1),
+.BR gimp (1),
+.BR kolourpaint (1),
+.BR krita (1),
+.BR gcompris (1)
+.PP
+And documentation within /usr/[local/]share/doc/tuxpaint/0.9.35/.