Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022

tk_setPalette (1t)


tk_setPalette - Modify the Tk color palette


tk_setPalette background

tk_setPalette name value ?name value ...?



tk_setPalette(1t)            Tk Built-In Commands            tk_setPalette(1t)


       tk_setPalette, tk_bisque - Modify the Tk color palette

       tk_setPalette background

       tk_setPalette name value ?name value ...?


       The  tk_setPalette  procedure changes the color scheme for Tk.  It does
       this by modifying the colors of existing widgets and  by  changing  the
       option  database  so that future widgets will use the new color scheme.
       If tk_setPalette is invoked with a single argument, the argument is the
       name  of  a color to use as the normal background color;  tk_setPalette
       will compute a complete  color  palette  from  this  background  color.
       Alternatively, the arguments to tk_setPalette may consist of any number
       of name-value pairs, where the first argument of the pair is  the  name
       of  an  option in the Tk option database and the second argument is the
       new value to use for that option.  The  following  database  names  are
       currently supported:

              activeBackground               foregroundselectColor
              activeForeground               highlightBackgroundselectBackground
              background      highlightColor selectForeground
              disabledForeground             insertBackgroundtroughColor

       tk_setPalette tries to compute reasonable defaults for any options that
       you do not specify.  You can specify options other than the above  ones
       and  Tk will change those options on widgets as well.  This feature may
       be useful if  you  are  using  custom  widgets  with  additional  color

       Once  it  has  computed  the  new  value  to  use for each of the color
       options, tk_setPalette scans the widget hierarchy to modify the options
       of  all  existing widgets.  For each widget, it checks to see if any of
       the above options is defined  for  the  widget.   If  so,  and  if  the
       option's  current  value is the default, then the value is changed;  if
       the option has a value other than the default, tk_setPalette  will  not
       change it.  The default for an option is the one provided by the widget
       ([lindex [$w configure $option] 3]) unless tk_setPalette has  been  run
       previously,  in  which  case  it is the value specified in the previous
       invocation of tk_setPalette.

       After modifying all the widgets in the application, tk_setPalette  adds
       options  to the option database to change the defaults for widgets cre-
       ated in the future.  The new options are added  at  priority  widgetDe-
       fault,  so  they will be overridden by options from the .Xdefaults file
       or options specified on the command-line that creates a widget.

       The procedure tk_bisque is  provided  for  backward  compatibility:  it
       restores  the  application's colors to the light brown ("bisque") color
       scheme used in Tk 3.6 and earlier versions.

       bisque, color, palette

       See attributes(7) for descriptions of the following attributes:

       |Availability   | runtime/tk-8     |
       |Stability      | Uncommitted      |

       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source        was        downloaded        from         https://source-

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.

Tk                                    4.0                    tk_setPalette(1t)