Tux Paint
version 0.9.32
Environment Variables Documentation

Copyright © 2021-2023 by various contributors; see AUTHORS.txt.
https://tuxpaint.org/

May 5, 2023


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:

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").