CHANGES.txt for Tux Paint Configuration Tool

Tux Paint Configuration Tool - A GUI-based configurator for
                               Tux Paint, a simple drawing program for children.

Copyright 2002-2023 by various contributors; see AUTHORS.txt

2023.July.20 (0.0.22)
 * Options for new Tux Paint 0.9.31 features:
   + "Disable 'Make Template'" added to "Simplification".
     Bill Kendrick <>

   + "Disable 'Erase' (file deletion)" added to "Simplification".
     Bill Kendrick <>

   + "UI Font" added to "Locale".  (Queries system, via Pango, for
     available fonts and presents them in a selection list.)
     Bill Kendrick <>

 * Bug fixes:
   + Activate "Apply" & "Reset" buttons immediately upon editing type-in
     and spinner fields; don't require focus to change first.
     Bill Kendrick <>

   + Make sure to remove up generated gettext '.mo' files during
     "make uninstall" process.
     TOYAMA Shin-ichi <>

   + Options that may contain spaces (directory paths, like "savedir",
     or shell comamnds like "printcommand") now have their values wrapped
     in double quotes (").
     - On Linux, use of `wordexp()` to handle shell expansion
       (e.g., "$HOME" or "~") requires things be wrapped in quotes
       if they contain spaces.
     - On other platforms, quotes will be trimmed by Tux Paint itself.
     - Affected options as of 0.9.31: "uifont", "colorfile",
       "savedir", "exportdir", "datadir",
       "printcommand", and "altprintcommand".
     Bill Kendrick <>
     TOYAMA Shin-ichi <>

   + Ensure UI Font list includes fonts bundled with Tux Paint but may not be
     visible to Tux Paint Config.
     Mark Kim <>

 * Other changes:
   + Improvements to debugging output options.
     Mark Kim <>

 * Translation updates:
   + Catalan
     Pere Pujal i Carabantes <>

   + French
     Chion Jacques <>

   + Icelandic
     Sveinn í Felli <>

   + Japanese
     TOYAMA Shin-ichi <>

 * Build updates
   + macOS
     - Update for Tux Paint Config to find the same set of fonts found
       by Tux Paint on macOS.
     - Auto update version when building on macOS.
     Mark Kim <>

   + Dropping old GNOME and KDE specific icon/launcher installers,
     having Makefile replicate more closely what `tuxpaint` does.
     h/t Tim Dickson
     Bill Kendrick <>

   + Default spec file for rpmbuild.
     TOYAMA Shin-ichi <>

 * Miscellaneous:
   + Option to enable debugging (see debug.h)
     Mark Kim <>

2023.May.19 (0.0.21)
  * "Disable Magic Sizes" added to "Simplification",
    to match new setting in Tux Paint 0.9.30.
    Bill Kendrick <>

  * Canvas size calculation appears, based on window size,
    orientation, button size, and color rows.
    Bill Kendrick <>

  * Created "src/", to run 'indent' against source files.
    Ran it during 0.0.21 development.
    Bill Kendrick <>

  * New "haiku" Makefile target that builds with "-lintl"
    Luc 'Begasus' Schrijvers <>
    and Bill Kendrick <>

  * Fix path for tuxpaint.cfg on Haiku
    Luc 'Begasus' Schrijvers <>

  * Translation updates:
    + Chinese (Simplified)
      臧传明 <>

    + Dutch
      Luc 'Begasus' Schrijvers <>

    + Icelandic
      Sveinn í Felli <>

    + Japanese
      TOYAMA Shin-ichi <>

2023.April.2 (0.0.20)
  * "Disable Stamp Rotation" added to "Simplification",
    to match new setting in Tux Paint 0.9.29.
    Bill Kendrick <>

  * "Button Size: Auto" added to "Video/Sound",
    to match new setting option in Tux Paint 0.9.29.
    Bill Kendrick <>

  * Option to set joystick button to activate "Fill" tool
    Bill Kendrick <>

  * [WIN32] Require "administrator" privileges
    to enable saving changes for "All Users" to the file in the system directory.
    TOYAMA Shin-ichi <>

  * Added additional headings, some recently-added options
    (and older, missing ones), and fleshed out the Joystick
    section of Tux Paint Config.'s README.
    Bill Kendrick <>

  * Translation updates:
    + Catalan
      Pere Pujal i Carabantes <>

    + French
      Chion Jacques <>

    + Georgian
      Gia Shervashidze <>

    + Icelandic
      Sveinn í Felli <>

    + Japanese
      TOYAMA Shin-ichi <>

    + Portuguese
      Hugo Carvalho <>

    + Ukrainian
      Yuri Chornoivan <> 

2022.June.3 (0.0.19)
  * "Reverse Sort" option added to "Saving",
    to match new setting in Tux Paint 0.9.28.

  * "Disable Brush spacing" option added to "Simplification",
    to match new setting in Tux Paint 0.9.28.

  * Improved layout to Saving tab
    TOYAMA Shin-ichi <>
    Bill Kendrick <>

  * Build updates:
    * macOS
      Mark Kim <>
      * Applying to Tux Paint Config the same changes already made to the main
        Tux Paint application:
        * uses character class [[:space:]] instead of \t for
          compatibility with newer tools.
        * Add macos/ for building the universal binary.
        * Provide universal binary build instructions.
        * Small tweaks to the Makefile to better guide the user on the next
          steps and make the universal binary build instructions clearer.
      * Remove the `--openfolder` option when calling `bless` from Apple
        Silicon.  This option is no longer valid on Apple Silicon as of the
        March 2022 release of Xcode.

  * Translation updates:
    + Albanian
      Besnik Bleta <>

    + Japanese translation
      TOYAMA Shin-ichi <>

    + Portuguese translation
      Hugo Carvalho <>

2021.November.25 (0.0.18)
  * Interface improvements:
    + Scaling up the Tux Paint Config. window size and
      font size of text shown in the UI, when the screen has
      a high DPI (>= 120) and sufficienlty high resolution
      (>= 1280 wide x >= 900 high).
      (Set an environment variable "TPC_SIZE=small" to
      override this, and use the smaller window & font sizes.
      "TCP_SIZE=large" can be supplied to force a larger UI.)

    + Made widget and label spacing and positioning more dynamic, to
      help with both high-DPI support (above) as well as better
      handling of UI when running in locales that have longer strings.

    + Allow window to be resized.

    Bill Kendrick <>
    TOYAMA Shin-ichi <>
    Pere Pujal i Carabantes <>

  * New features:
    + "Use 'All Users' Settings" checkbox replaced with a
      3-way selection dialog that allows the local config
      to either (a) ignore system-wide configurations,
      and ONLY use the local config's, (b) merge the
      system-wide configuration with the local one
      (the previous default behavior) or (c) use only
      the system-wide one (deletes the local config file).
      - MD Ekramul Ansari <>
        (h/t Pere Pujal i Carabantes for 'rebasing' Erkamul's
        original patch from 2015(!); some bugfixing by Bill K.)

  * Localization updates:
    + Catalan translation
      Pere Pujal i Carabantes <>

    + French translation
      Chion Jacques <>

    + Galician translation
      Miguel Bouzada <>

    + Icelandic translation
      Sveinn í Felli <>

    + Japanese translation
      TOYAMA Shin-ichi <>

    + Portugues translatione
      Hugo Carvalho <>

    + Allowing translations which fail to word-wrap naturally
      in FLTK due to lack of explicit whitespace (e.g. Japanese)
      to wrap (without resorting to including "\n" linebreaks
      within the translated strings), as FLTK doesn't handle
      this itself (as of v.1.3.4).  Utilizes `unibreak` library.

    + Default language option is now localizable (had always
      appeared in English).
      (Shin-ichi with tweaks by Bill)

 * Bug fixes
   * Some settings could not be reset to their defaults; mended.
     ("Button size", "Color palette rows", "Colors last in 'New' dialog",
     "Disable Magic Controls", "Disable Shape Controls", and
     "Disable 'Label' Tool")

2021.June.28 (0.0.17)
  * Moved "Alternative Color Palette" option from
    "Video/Sound" to "Data".

  * Added an "Interface Size" section to "Video/Sound", with
    sliders to control:
    + interface button size ("buttonsize")
    + number of color palette rows ("colorsrows")

  * macOS support for All Users
    macOS can once again save settings for All Users on modern macOS that
    requires authentication before writing to a global settings directory.
    The user, assuming one is of an admin user type, is prompted for their
    password when saving to the All Users directory.
    Mark K. Kim <>

  * Documentation updates:
    * Added macOS installation instructions.
      Mark K. Kim <>

  * Build updates:
    * Fix -Wexpansion-to-defined warning
      Mark K. Kim <>

  * New translation:
    * Albanian
      Besnik Bleta <>

  * Translation updates:
    * Icelandic
      Sveinn í Felli <>

2020.December.27 (0.0.16)
  * Added "User Alternative Export Direction" option,
    under "Saving" section, to match option provided for
    new Tux Paint features (export image and export animated GIF).

  * Added "Disable Shape Controls" option,
    under "Simplification" section, to match new Tux Paint option.

  * Build updates:
    * Support for Mingw64 for 64-bit builds
      TOYAMA Shin-ichi <>

  * Added option for the Sardinian language.

  * Added to README the descriptions of some options which
    were previously missing.

  * Updated translations:
    + Catalan
      Pere Pujal i Carabantes <>

    + French translation
      Chion Jacques <>

    + Galician
      Miguel Bouzada <>

    + Icelandic
      Sveinn í Felli <>

    + Japanese translation
      TOYAMA Shin-ichi <>

2020.May.29 (0.0.15)
  * Added "'New' colors last", to match new Tux Paint feature.
    (Also, renamed "Start Blank" group to "Starting Out".)

  * Added "Stereo" option, to match new Tux Paint feature.

  * Build updates:
    + Allow DESTDIR to be used to specify a packaging directory.
      Tim Dickson <>
      (Reflected for macOS: Mark K. Kim <>)

  * Updated translations:
    + Basque
      Alexander Gabilondo <>

    + Catalan
      Pere Pujal i Carabantes <>

    + French
      Jacques Chion <>

    + Fula
      Ibrahima SARR <>

    + Galician
      Miguel Bouzada <>

    + Norwegian Nynorsk
      Karl Ove Hufthammer <>

2018.August.18 (0.0.14)
  * Updated translations:
    + Catalan
      Robert Buj Gelonch <>

    + British English translation
      Caroline Ford <>

    + Dutch
      William Heppe <>

    + Fula
      Ibrahima SARR <>

    + Portuguese
      Sérgio Marques ( (via Joe)

    + Scottish gaelic
      Michael Bauer <>
      Fòram na Gàidhlig

    + Slovak
      Jaroslav Rynik <>

    + Spanish
      Matías Bellone <>

  * New translations:
    + Kabyle
      Yacine Bouklif <>

  * Added options for "Bengali', "Bodo", "Dogri", "Kabyle",
    "Kashmiri" (both Devanagari and Perso-Arabic),
    "Sindhi" (both Devanagari and Perso-Arabic), and "Urdu" languages
    (added to Tux Paint in v. 0.9.23).

  * Building:
    * Avoid using "install -D" to mkdir
      Thomas Klausner <>

    * Update macOS build files for macOS 10.7 and later.
      Mark K. Kim <>

    * Allow to override build date (in order to make builds reproducible)
      by Chris Lamb, pushed by Bernhard M. Wiedemann

2014.June.29 (0.0.13)
  * Enabled using gettext() with UTF-8.
    Shin-ichi TOYAMA <>

  * Created a Makefile for static-linking.
    Shin-ichi TOYAMA <>

  * Added "Disable Label tool" option, to match new Tux Paint feature.

  * Added options for "Acholi", "Akan", "Amharic", "Fula", "Kiga", "Luganda",
    "Luxembourgish", "Malayalam", "Mongolian", "Northern Sotho", "Persian",
    "Serbian (latin)" and "Venetian" languages (added to Tux Paint recently).

  * Added "Accessibility" tab, with options for sticky mouse clicks,
    keyboard-based mouse movement, and on-screen keyboard
    (new features in Tux Paint).
    Pere Pujal i Carabantes <>

  * Added "Joystick" tab, with options for configuring joystick controls
    (another new feature in Tux Paint).
    Pere Pujal i Carabantes <>

  * Fixed bug where hitting [Cancel] in file/directory chooser dialogs would
    cause Tux Paint Config. to crash.

  * Modularized some of the UI layout code.

  * New translations:
    + Acholi
      Alfred John <>

    + Arabic
      Mohammed <>

    + Basque
      Juan Irigoien <>
      Ander Elortondo <>

    + Bulgarian
      Todor Stoyanov

    + Czech
      Zdenìk Chalupský <>

    + Finnish
      Olli <>
      Tarmo Toikkanen <>

    + Fula
      Fula Localization Project,
      Ibraahiima SAAR <>

    + German
      Markus Hinkelmann <>

    + Hindi
      Gautam <>

    + Inuktitut
      Harvey Ginter <>

    + Latvian
      Raivis Strogonovs <>

    + Malay
      Muhammad Najmi Ahmad Zabidi <>

    + Mongolian
      Batkhuu Ichinkhorloo <>

    + Polish
      Piotr Kwiliński <>

    + Romanian
      Vlad Ungureanu <>

    + Scottish gaelic
      Michael Bauer <>

    + Serbian cyrillic
      Ivana <> as a work in GCI

    + Serbian latin
      Ivana <> as a work in GCI

    + Venetian
      Fabio Lazarin, El Galepìn <>

    + Vietnamese
      Clytie Siddall <>

    + Zulu
      sipho <>

  * Translation Updates:
    + French
      Jacques Chion <>

    + Greek
      Kiriaki SERAFEIM <>

    + Italian
      Flavio Pastore <>

    + Japanese
      Shin-ichi TOYAMA <>

    + Portuguese
      Sergio Marques <>
    + Russian
      Nikolay Parukhin <>

    + Slovak
      Jaroslav Rynik <>

    + Songhay
      Abdoul Cisse <>
      Mohomodou Houssouba <>

    + Spanish
      Lantz Gomez de Segura <>

    + Swedish
      Henrik Holst <>

    + Turkish
      Enes Burhan KURAN

2009.June.28 (0.0.12)
  * Added some missing descriptions of options to README documentation.

  * Added "Disable Magic controls" option, to match new Tux Paint feature.

  * Added "Load all locale fonts" option, to match new Tux Paint feature.

  * Added "Save Printer Configuration" option, to expose the 'printcfg'
    option Tux Paint has had (on Windows and Mac OS X) for some time.

  * Added system to update translation template file (POT), and to
    build and install translation files.  (Based on what's in tuxpaint)

  * Added options for "Asturian", "Shuswap" and "Songhay" languages
    (added to Tux Paint recently).

  * Translated Tux Paint Config.
    + Brazilian Portuguese
      Frederico Goncalves Guimaraes <>

    + Chinese (Traditional)
      Song Huang <>

    + Danish
      Joe Dalton <>

    + Dutch
      Bert Saal <>

    + French
      Arnaud Champollion <>

    + Greek
      Serafeim Kyriaki <>

    + Italian
      Simona Riva <>

    + Portuguese
      Sergio Marques <>

    + Russian
      Sergei Popov <>
      Nikolay Parukhin <>

    + Slovak
      Jaroslav Rynik <>

    + Slovenian
      Matej Urban <>

    + Songhay
      Abdoul Cisse <>
      Mohomodou Houssouba <>

    + Spanish
      Gabriel Gazzan <>

    + Swedish
      Daniel Nylander <>

    + Ukrainian
      Serhij Dubyk <>

2008.April.28 (0.0.11)
  * Desktop icon now gets installed in GNOME desktops on Linux/Unix.
    Nicolas Valcárcel <>, via Ubuntu bug tracker

  * "Ojibwe" is the proper spelling of the language; changed option in TPC.

2008.February.26 (0.0.10)
  * Mac OS X updates
    Martin Fuhrer <>

  * Added "Allow screensaver" option, to match new Tux Paint feature.

  * Added newly supported Tux Paint locales:
    - Australian English
    - Azerbaijani
    - Canadian English
    - Khmer
    - Macedonian
    - Occitan
    - Zapoteco

2007.October.26 (0.0.9)
  * Adeded newly supported Tux Paint locales:
    - Esperanto
    - Ojibway
    - Wolof

  * Added "Data" tab, with checkbox and directory browser for
    Tux Paint 0.9.18's new "datadir" option.

  * Added "nolockfile" option (to "Data" tab).
    ("nolockfile" config. is now accessible via config file,
    as of Tux Paint 0.9.18)

  * Added a slider to control default stamp sizes (to "Simplification" tab).

2007.June.25 (0.0.8)
  * Added a LOT of missing info to the README documentation.

  * Native Cocoa file dialog boxes are now used for selecting files or
    folders on Mac OS X.
    Martin Fuhrer <>

  * All widgets have been offset vertically to close the gap where the menu
    bar would be found on other operating systems (e.g., Mac OS X).
    Martin Fuhrer <>

  * Writes to "~/Library/Application Support/TuxPaint/tuxpaint.cfg" on
    Mac OS X (matches Tux Paint 0.9.17 update for Mac OS X).
    Martin Fuhrer <>

  * Tux Paint Config. can now configure Tux Paint for all users
    (i.e., change system-wide settings) via a new "Settings for..."
    drop-down menu.
    Martin Fuhrer <>

  * A new "Use All Users Settings" checkbox tells Tux Paint Config. to
    delete the current user's settings file (and greys out all config. options
    in Tux Paint Config.), causing Tux Paint to use the system-wide settings.
    Martin Fuhrer <>

  * When "Save Over Existing Pictures" was set to "Never", Tux Paint
    was incorrectly storing option as "saveover=no" instead of
    "saveover=new" in the config file. Fixed.
  * Added more screen resolution possibilities, and broke them up into
    separate width and height pull-downs.  Sizes based on this diagram:

  * Added checkbox for new "native" fullscreen resoltuion option in
    Tux Paint 0.9.17.

  * Added checkbox for new "autosave" option in Tux Paint 0.9.17.

  * Added checkbox for new "hidecursor" option in Tux Paint 0.9.17.
    Split mouse (input device) and cursor (on-screen representation of mouse)
    into separate groups in "Mouse & Keyboard" tab.

  * Added a 'Rotate' checkbox to enable a new "orient" option in Tux Paint.
    (So we don't have to list all width/heights in both width and height
    fields, to allow for portrait screen sizes; e.g., 768x1024.)

  * Added Tux Paint 0.9.17's new languages to the pulldown menu
    (Latvian, Telugu, Twi)

  * Installs Tux Paint Config launcher into 3rd-party "Settings" menu in KDE.

  * Made build output less verbose.

  * Replaced fl_ask() call with fl_choice(), wrapping "Yes"/"No" options
    in gettext() calls.

  * Cleaned up copyright, URLs, etc. in code and docs.

  * 'About' text is word-wrapped (78 chars) in "--help" output.

  * "obj" directory no longer a Makefile target, and hence no longer
    confusing 'make' into thinking things always need rebuilding.

  * Added papersize support; pulling papersizes from libpaper
    (via paperfirst() and papernext()).

2006.September.9 (0.0.7)
  * Updated "Info.plist" file for Mac OS X so that Tux Paint Config doesn't
    conflict with Tux Paint (which was preventing Tux Paint from being managed
    via "Parental Controls").

  * Added support for compilation under Cygwin.  The same 'win32' target used
    to compile under MinG/MSYS may be used.
    Mark K. Kim <>

  * Added resolution entries for some portrait screen sizes
    (e.g., for tablet-style laptops): 768x1024 & 1024x1280.

  * Added checkbox to enable new "startblank" option, in Saving tab.

  * Added option for enabling and picking "colorfile" option,
    in Video/Sound tab.

  * Updated docs with new version and new website URL.
    Added Makefile to run Links to generate plaintext version of HTML README.

2005.Nov.25 (0.0.6)
  * Added "release" target, for building tarball.

  * Displays friendly notice about missing FLTK headers during compilation
    (like Tux Paint does about SDL)

  * Added basic "INSTALL.txt" documentation.

  * Added "[Alt]+Print command" ("altprintcommand=...") support to
    "Printing" tab.

  * Added support for "altprintalways", "altprintnever" and "altprintmod"
    options (to show the print dialog always, never, or only when [Alt] is
    pressed).  In the "Printing" tab.

  * Added 'win32' target to Makefile, for use on Windows with MinGW/MSYS.
    John Popplewell <>

  * "Apply" button would not become clickable ('active') after "Defaults"
    was clicked!  Fixed.

  * Changed Window Size / Resolution from radio buttons to a pulldown
    containing a variety of supported window sizes.

  * Added "Load System Fonts" checkbox (to set "nosysfonts=yes") to the
    "Languages" tab.

  * Added "No Button Distinction" checkbox (to set "nobuttondistinction="yes")
    to the "Mouse & Keyboard" tab.
  * Packed some widgets in the "Saving" tab.

  * Added "Disable 'Save' Button" ("nosave=yes") support to "Saving" tab.

  * Updated version number in title bar; now uses "VER_VERSION" from version.h

  * Added Tux Paint 0.9.15's new languages to the pulldown menu
    (Albanian, Bulgarian, Gaelic, Galician, Georgian, Gronings, Kinyarwanda,
    Swahili, Thai)

  * Removed rectangular borders around option descriptions
    (it looked cluttered).

  * Reduced font size of option descriptions (to reduce clutter and
    improve division between options, since rect. boxes are now gone).

2004.Oct.02 (0.0.5)
  * Added Mac OS X project stuff.
    Jeffrey Drake <>
  * Added VisualC project stuff.
    John Popplewell <>

  * Activated --help, --usage and --copying command-line arguments.

  * Reads all values in.

  * Increased vertical size for the print command descriptions.

  * Writes to ~/.tuxpaintrc under Linux/Unix, and tuxpaint.cfg under Windows.
    (This needs more work, and should stay standardized with Tux Paint!)

  * Language pulldown items include values appropriate for "tuxpaint --lang"
    (e.g., "Chinese (Simplified)" results in "lang=chinese-simplified")
  * Writes all values out.

  * Made sure all changes cause "Apply" button to become active.

  * Added some "About" text.
    Made "About" tab the default.

  * Bill updated Fluid interface based on his suggestions for labels
    and changed option locations.

  * Added "About" tab.

  * Changed some interfaces (e.g., "File Input" with "Browse..." button for
    "savedir" option).

  * Torsten updated FLTK code.

  * Cleaned up skeleton to introduce Torsten's FLTK code.

  * Initial code skeleton