Provided by: tk9.0-doc_9.0.1-1_all bug

NAME

       geometry,  tk_library,  tk_patchLevel, tk::scalingPct, tk_strictMotif, tk::svgFmt, tk_version - Variables
       used or set by Tk
________________________________________________________________________________________________________________

DESCRIPTION

       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.

   INTERNAL AND DEBUGGING VARIABLES
       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.

OTHER GLOBAL VARIABLES

       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.

SEE ALSO

       package(3tcl), tclvars(3tcl), wish(1)

KEYWORDS

       environment, text, variables, version

Tk                                                     4.1                                           tkvars(3tk)