- NAME
- geometry, tk_library, tk_patchLevel, tk::scalingPct, tk_strictMotif, tk::svgFmt, tk_version — Variables used or set by Tk
- DESCRIPTION
- tk_library
- tk_patchLevel
- tk::scalingPct
- tk_strictMotif
- tk::svgFmt
- tk_version
- INTERNAL AND DEBUGGING VARIABLES
- tk::Priv
- tk_textRedraw
- tk_textRelayout
- OTHER GLOBAL VARIABLES
- geometry
- SEE ALSO
- KEYWORDS
geometry, tk_library, tk_patchLevel, tk::scalingPct, tk_strictMotif, tk::svgFmt, tk_version — Variables used or set by Tk
The following Tcl variables are either set or used by Tk at various times
in its execution:
- tk_library
-
This variable holds the file name for a directory containing a library
of Tcl scripts related to Tk. These scripts include an initialization
file that is normally processed whenever a Tk application starts up,
plus other files containing procedures that implement default behaviors
for widgets.
The initial value of tk_library is set when Tk is added to
an interpreter; this is done by searching several different directories
until one is found that contains an appropriate Tk startup script.
If the TK_LIBRARY environment variable exists, then
the directory it names is checked first.
If TK_LIBRARY is not set or does not refer to an appropriate
directory, then Tk checks several other directories based on a
compiled-in default location, the location of the Tcl library directory,
the location of the binary containing the application, and the current
working directory.
The variable can be modified by an application to switch to a different
library.
- tk_patchLevel
-
Contains a dot-separated sequence of decimal integers giving the
current patch level for Tk.
The patch level is incremented for each new release or patch, and
it uniquely identifies an official version of Tk.
This value is normally the same as the result of
“package require tk”.
- tk::scalingPct
-
Tk sets this variable at initialization time to the scaling percentage
corresponding to the display's DPI scaling level. This value is at least
100 and is restricted to multiples of 25 (100, 125, 150, 175, 200,
225, ...). The sizes and various attributes of the Tk core and Ttk
widgets and their components, as well as the sizes of the images used by
Tk are chosen according to the scaling percentage, and this is
recommended for applications and library packages, too.
Note that any access to this variable is supposed to be strictly
read-only! Note also that whenever the scaling factor used to convert
between physical units and pixels is changed via tk scaling, the
value of the variable tk::scalingPct is automatically updated.
On the windowing systems win32 and aqua the scaling
percentage is computed by rounding [tk scaling] * 75 to the
nearest multiple of 25 that is at least 100. (On aqua the result
is always 100, and the desktop engine automatically scales everything as
needed.) On x11, deriving the scaling percentage from
[tk scaling] is done as fallback method only, because the
implementation of display scaling is highly dependent on the desktop
environment and it mostly manipulates system resources that are resident
outside of Xlib, which Tk is based on. Moreover, for technical reasons,
the value assigned to the variable tk::scalingPct can be different
from the one selected in the system settings (e.g., 200 rather than 125,
150, or 175 when running GNOME on Xorg or the Cinnamon desktop). On
x11 the scaling percentage is computed mostly (but not
exclusively) from the value of the X resource Xft.dpi, and, as an
additional step, Tk synchronizes the scaling factor used to convert
between physical units and pixels with the scaling percentage, with the
aid of the tk scaling command.
- tk_strictMotif
-
This variable is set to zero by default.
If an application sets it to one, then Tk attempts to adhere as
closely as possible to Motif look-and-feel standards.
For example, active elements such as buttons and scrollbar
sliders will not change color when the pointer passes over them.
Modern applications should not normally set this variable.
- tk::svgFmt
-
This variable is set at Tk initialization time to
-
[list svg -scale [expr {$tk::scalingPct / 100.0}]]
Typical values are {svg -scale 1.0}, {svg -scale 1.25},
{svg -scale 2.0}, etc. It is recommended to pass the value of
this variable to the commands image create photo, imageName
configure, imageName put, and imageName read as the
value of their -format option when creating or manipulating SVG
images, to make sure that their sizes will correspond to the display's
DPI scaling level.
Note that any access to this variable is supposed to be strictly
read-only! Note also that whenever the scaling factor used to convert
between physical units and pixels is changed via tk scaling, the
value of the variable tk::svgFmt is automatically updated.
- tk_version
-
Tk sets this variable in the interpreter for each application.
The variable holds the current version number of the Tk
library in the form major.minor. Major and
minor are integers. The major version number increases in
any Tk release that includes changes that are not backward compatible
(i.e. whenever existing Tk applications and scripts may have to change to
work with the new release). The minor version number increases with
each new release of Tk, except that it resets to zero whenever the
major version number changes.
These variables should not normally be set by user code.
- tk::Priv
-
This variable is an array containing several pieces of information
that are private to Tk. The elements of tk::Priv are used by
Tk library procedures and default bindings.
They should not be accessed by any code outside Tk.
- tk_textRedraw
-
- tk_textRelayout
-
These variables are set by text widgets when they have debugging
turned on. The values written to these variables can be used to
test or debug text widget operations. These variables are mostly
used by Tk's test suite.
The following variables are only guaranteed to exist in
wish
executables; the Tk library does not define them itself but many Tk
environments do.
- geometry
-
If set, contains the user-supplied geometry specification to use for
the main Tk window.
package,
tclvars,
wish
environment,
text,
variables,
version
Copyright © 1990-1994 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.