summaryrefslogtreecommitdiffstats
path: root/doc/tkvars.n
diff options
context:
space:
mode:
Diffstat (limited to 'doc/tkvars.n')
-rw-r--r--doc/tkvars.n66
1 files changed, 62 insertions, 4 deletions
diff --git a/doc/tkvars.n b/doc/tkvars.n
index 5ffa40a..e211575 100644
--- a/doc/tkvars.n
+++ b/doc/tkvars.n
@@ -10,7 +10,7 @@
.BS
'\" Note: do not modify the .SH NAME line immediately below!
.SH NAME
-geometry, tk_library, tk_patchLevel, tk_strictMotif, tk_version \- Variables used or set by Tk
+geometry, tk_library, tk_patchLevel, tk::scalingPct, tk_strictMotif, tk::svgFmt, tk_version \- Variables used or set by Tk
.BE
.SH DESCRIPTION
.PP
@@ -50,7 +50,42 @@ it uniquely identifies an official version of Tk.
.RS
.PP
This value is normally the same as the result of
-.QW "\fBpackage require\fR \fBTk\fR" .
+.QW "\fBpackage require\fR \fBtk\fR" .
+.RE
+.TP
+\fBtk::scalingPct\fR
+.
+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.
+.RS
+.PP
+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 \fBtk scaling\fR, the
+value of the variable \fBtk::scalingPct\fR is automatically updated.
+.PP
+On the windowing systems \fBwin32\fR and \fBaqua\fR the scaling
+percentage is computed by rounding [\fBtk scaling\fR] * 75 to the
+nearest multiple of 25 that is at least 100. (On \fBaqua\fR the result
+is always 100, and the desktop engine automatically scales everything as
+needed.) On \fBx11\fR, deriving the scaling percentage from
+[\fBtk scaling\fR] 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 \fBtk::scalingPct\fR 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
+\fBx11\fR 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 \fBtk scaling\fR command.
.RE
.TP
\fBtk_strictMotif\fR
@@ -61,7 +96,30 @@ 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.
-.TP 15
+.TP
+\fBtk::svgFmt\fR
+.
+This variable is set at Tk initialization time to
+.RS
+.RS 4
+.PP
+[\fBlist svg \-scale\fR [\fBexpr\fR {$\fBtk::scalingPct\fR / 100.0}]]
+.RE
+.PP
+Typical values are {\fBsvg \-scale\fR 1.0}, {\fBsvg \-scale\fR 1.25},
+{\fBsvg \-scale\fR 2.0}, etc. It is recommended to pass the value of
+this variable to the commands \fBimage create photo\fR, \fIimageName\fB
+configure\fR, \fIimageName\fB put\fR, and \fIimageName\fB read\fR as the
+value of their \fB\-format\fR option when creating or manipulating SVG
+images, to make sure that their sizes will correspond to the display's
+DPI scaling level.
+.PP
+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 \fBtk scaling\fR, the
+value of the variable \fBtk::svgFmt\fR is automatically updated.
+.RE
+.TP
\fBtk_version\fR
.
Tk sets this variable in the interpreter for each application.
@@ -96,7 +154,7 @@ used by Tk's test suite.
The following variables are only guaranteed to exist in \fBwish\fR
executables; the Tk library does not define them itself but many Tk
environments do.
-.TP 6
+.TP
\fBgeometry\fR
.
If set, contains the user-supplied geometry specification to use for