Check-in [d1febd9750]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:update awthemes to version 3.1
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: d1febd9750571ed8658b2ca56f31070dfd93782c
User & Date: chw 2019-10-11 16:14:02
Context
2019-10-11
19:17
update open62541 amalgamation to version 1.0 check-in: 0ba65209b1 user: chw tags: trunk
16:14
update awthemes to version 3.1 check-in: d1febd9750 user: chw tags: trunk
09:40
more tk upstream changes check-in: 173671ccd8 user: chw tags: trunk
Changes

Changes to assets/INVENTORY.


1
2
3
4
5
6
7

{opt assets/ble*}
{opt assets/blt* {libs/$arch/libblt.so jni/blt}}
{req assets/borg* {libs/$arch/libmain.so jni/src src/tk/tcl/wish}}
{opt assets/bwidget*}
{opt assets/can2svg*}
{opt assets/Canvas3d* {libs/$arch/libCanvas3d.so jni/3dcanvas}}
{opt jni/sdl2tk/library/demos}
>







1
2
3
4
5
6
7
8
{opt assets/awthemes*}
{opt assets/ble*}
{opt assets/blt* {libs/$arch/libblt.so jni/blt}}
{req assets/borg* {libs/$arch/libmain.so jni/src src/tk/tcl/wish}}
{opt assets/bwidget*}
{opt assets/can2svg*}
{opt assets/Canvas3d* {libs/$arch/libCanvas3d.so jni/3dcanvas}}
{opt jni/sdl2tk/library/demos}

Changes to assets/awthemes3/README.txt.

1
2
3
4







5
6
7
8
9
10
11

Only the 'awthemes.tcl', 'colorutils.tcl' and 'pkgIndex.tcl' files
are necessary.  The other files are infrastructure files and only
needed for development.








awthemes 3.0
  - Breaking change: The package name has been renamed so
    that 'package require awdark' works.

  - Support for tksvg has been added.
    New graphics have been added to support tksvg, and the graphics

|
|
|
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Only the 'awthemes.tcl', 'colorutils.tcl', 'themeutils.tcl'
and 'pkgIndex.tcl' files are necessary.  The other files are
infrastructure files and only needed for development.

awthemes 3.1
  - Added themeutils.tcl.
      ::themeutils::setThemeColors awdark color-name color ...
    allows the colors to be set.  The graphical colors will be
    changed when tksvg is in use.  See themeutils.tcl for a list
    of color names.

awthemes 3.0
  - Breaking change: The package name has been renamed so
    that 'package require awdark' works.

  - Support for tksvg has been added.
    New graphics have been added to support tksvg, and the graphics

Changes to assets/awthemes3/awthemes.tcl.

22
23
24
25
26
27
28













29
30
31
32
33
34
35
36
37


38
39
40
41
42
43
44
...
109
110
111
112
113
114
115

116

117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
...
150
151
152
153
154
155
156
157
158
159
160
161
162

163
164


165
166
167















168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
...
216
217
218
219
220
221
222




















223
224
225
226
227
228
229
230
231

232
233
234
235
236
237
238
....
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
....
4448
4449
4450
4451
4452
4453
4454









































































4455
4456
4457
4458
4459
4460
4461
....
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
....
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
....
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
....
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
....
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
....
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
#     Sets the listbox widget colors.
#
#   ::ttk::theme::awdark::setBackground color
#     requires the colorutils package
#
#   ::ttk::theme::awdark::setHighlight color
#     requires the colorutils package













#
# Mac OS X notes for prior to 8.6.9:
#   To style the scrollbars, use:
#        ttk::scrollbar .sb -style Vertical.TScrollbar
#     or ttk::scrollbar .sb -style Horizontal.TScrollbar
#   This will turn off the aqua styling and use the theme styling.
#   Also note that the styling for the scrollbar cannot be configured
#     afterwards, it must be configured when the scrollbar is created.
#


# 3.0
#   - tksvg support
# 2.6
#   - Fix mac colors
# 2.5
#   - Added missing TFrame style setup.
# 2.4
................................................................................
try {
  set ap [file normalize [file dirname [info script]]]
  if { $ap ni $::auto_path } {
    lappend ::auto_path $ap
  }
  unset ap
  package require colorutils

} on error {err res} {

}

proc awinit { } {
  global awthemename

  foreach awthemename {awdark awlight} {
    package provide $awthemename 3.0
    package provide ttk::theme::$awthemename 3.0

    namespace eval ::ttk::theme::$awthemename {
      variable colors
      variable images
      variable imgdata
      variable vars

................................................................................
        set vars(have.tksvg) false
        if { ! [catch {package present tksvg}] } {
          set vars(have.tksvg) true
        }

        _setThemeBaseColors

        foreach {k} [array names colors base.*] {
          regsub {^base} $k curr nk
          set colors($nk) $colors($k)
        }
        foreach {k} [array names colors text.*] {
          regsub {^text} $k curr nk

          set colors($nk) $colors($k)
        }


        foreach {k} [array names colors highlight.*] {
          regsub {^highlight} $k curr nk
          set colors($nk) $colors($k)















        }

        _setImageData
        _createTheme
        _setStyledColors
      }

      proc _setThemeBaseColors { } {
        variable vars
        variable colors

        if { $vars(theme.name) eq "awdark" } {
          array set colors {
              base.disabledfg #919282
              base.disabledbg #2d3234
              base.disabledborder #202425
              base.frame      #33393b
              base.dark       #252a2c
              base.darker     #1b1f20
              base.darkest    #000000
              base.bpress     #424a4d
              base.lighter    #525c5f
              base.lightest   #ffffff
              highlight.selectbg   #215d9c
              highlight.selectdisabledbg   #224162
              highlight.darkhighlight #1a497c
              highlight.selectfg   #ffffff
              }
          set colors(base.arrow) $colors(base.lightest)
          set colors(base.arrow.disabled) $colors(base.lighter)
          set colors(base.border) $colors(base.darkest)
          set colors(base.border.light) $colors(base.darkest)
          set colors(text.text) $colors(base.lightest)
          set colors(base.tabborder) $colors(base.darkest)
          set colors(base.tabinactive) $colors(base.frame)
          set colors(base.tabhighlight) #8b9ca1
          set colors(base.entrybg) $colors(base.darker)
        }
        if { $vars(theme.name) eq "awlight" } {
          array set colors {
              base.frame      #e8e8e7
              base.disabledfg #8e8e8f
              base.disabledbg #cacaca
              base.disabledborder #c0c0bd
................................................................................
              base.lighter    #f0f0f0
              base.lightest   #ffffff
              highlight.selectbg   #1a497c
              highlight.selectdisabledbg   #f0f0f0
              highlight.darkhighlight #1a497c
              highlight.selectfg   #ffffff
              }




















          set colors(base.arrow) $colors(base.darkest)
          set colors(base.arrow.disabled) $colors(base.darker)
          set colors(base.border) $colors(base.dark)
          set colors(base.border.light) $colors(base.dark)
          set colors(text.text) $colors(base.darkest)
          set colors(base.tabborder) $colors(base.frame)
          set colors(base.tabinactive) $colors(base.darker)
          set colors(base.tabhighlight) $colors(base.darkest)
          set colors(base.entrybg) $colors(base.lightest)

        }
      }

      proc _setImageData { } {
        variable vars
        variable imgdata
        variable imgtype
................................................................................
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-3"
           cx="12.721766"
           cy="284.22617"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-6"
           cx="11.119109"
           cy="285.81818"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-7"
           cx="9.5164518"
           cy="287.41016"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-5"
           cx="7.913794"
           cy="289.00214"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-35"
           cx="6.3111362"
           cy="290.59412"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-62"
           cx="4.7084789"
           cy="292.18613"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-9"
           cx="3.1058214"
           cy="293.77811"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-1"
           cx="1.5031636"
           cy="295.37009"
           rx="0.69321311"
           ry="0.69321305" />
      </g>
      <g
         id="g959"
         transform="translate(-0.53809974,-0.04111673)">
        <ellipse
           inkscape:transform-center-y="-2.5681986"
           inkscape:transform-center-x="-1.8183937"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-3-7"
           cx="14.967299"
           cy="285.89139"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-1.8042036"
           inkscape:transform-center-x="-1.05441"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-6-0"
           cx="13.364642"
           cy="287.48337"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-1.0402233"
           inkscape:transform-center-x="-0.29042529"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-7-9"
           cx="11.761985"
           cy="289.07538"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-0.27624296"
           inkscape:transform-center-x="0.47355939"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-5-3"
           cx="10.159327"
           cy="290.66736"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="0.48773736"
           inkscape:transform-center-x="1.2375436"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-35-6"
           cx="8.5566683"
           cy="292.25934"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="1.2517323"
           inkscape:transform-center-x="2.0015276"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-62-0"
           cx="6.954011"
           cy="293.85135"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="2.0157126"
           inkscape:transform-center-x="2.7655121"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-9-6"
           cx="5.3513532"
           cy="295.44333"
           rx="0.69321311"
           ry="0.69321305" />
      </g>
      <g
         id="g1056"
         transform="translate(-0.28974602,-0.04111673)">
        <ellipse
           inkscape:transform-center-y="-1.8042036"
           inkscape:transform-center-x="-1.05441"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-6-0-8"
           cx="14.689195"
           cy="289.13831"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-1.0402233"
           inkscape:transform-center-x="-0.29042529"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-7-9-7"
           cx="13.086537"
           cy="290.73032"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-0.27624296"
           inkscape:transform-center-x="0.47355939"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-5-3-9"
           cx="11.48388"
           cy="292.3223"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="0.48773736"
           inkscape:transform-center-x="1.2375436"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-35-6-2"
           cx="9.8812218"
           cy="293.91428"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="1.2517323"
           inkscape:transform-center-x="2.0015276"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-62-0-0"
           cx="8.2785645"
           cy="295.50629"
           rx="0.69321311"
           ry="0.69321305" />
      </g>
      <g
         id="g1034"
         transform="translate(8.4854191,7.1543113)">
        <ellipse
           inkscape:transform-center-y="-1.0402233"
           inkscape:transform-center-x="-0.29042529"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-7-9-7-7"
           cx="5.9463682"
           cy="285.23096"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-0.27624296"
           inkscape:transform-center-x="0.47355939"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-5-3-9-5"
           cx="4.3437109"
           cy="286.82294"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="0.48773736"
           inkscape:transform-center-x="1.2375436"
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-35-6-2-9"
           cx="2.7410524"
           cy="288.41492"
           rx="0.69321311"
           ry="0.69321305" />
      </g>
      <ellipse
         ry="0.69321305"
         rx="0.69321311"
         cy="295.49088"
         cx="14.451189"
         id="path841-79-6-0-8-2"
         style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
         inkscape:transform-center-x="-1.05441"
         inkscape:transform-center-y="-1.8042036" />
    </g>
  </g>
</svg>
}
          # slider-hd
................................................................................
       ry="0"
       transform="scale(-1)" />
  </g>
</svg>
}
          #E == svgdata ==
        }










































































        if { $vars(theme.name) eq "awdark" } {
          if { ! [info exists imgdata(cb-sa)] } {
            # cb-sa
            set imgdata(cb-sa) {
               iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
               AAAOJgAADiYBou8l/AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABSdEVY
................................................................................
               QnjtvO9k08mVGKOIMfrvMylcVbHI0vhzOFyUh8u3zrm7wPK4DS8ZY55Yaz+LSCoimVj7Vax9Dmwf
               Hf4Dx8Kr4mNF2+sAAAAASUVORK5CYII=
            }
          }
        }

        if { $vars(theme.name) eq "awlight" } {
          if { $vars(have.tksvg) } {
            foreach {n} [array names ::ttk::theme::awdark::imgdata] {
              set imgdata($n) $::ttk::theme::awdark::imgdata($n)

              if { [string match *arrow* $n] } {
                set oc $::ttk::theme::awdark::colors(highlight.selectbg)
                set nc $colors(curr.lighter)
                regsub -all $oc $imgdata($n) $nc imgdata($n)
              }
              foreach {oc nc} [list \
                  $::ttk::theme::awdark::colors(base.dark) \
                  $colors(curr.dark) \
                  $::ttk::theme::awdark::colors(base.disabledfg) \
                  $colors(curr.disabledfg) \
                  $::ttk::theme::awdark::colors(base.disabledbg) \
                  $colors(curr.disabledbg) \
                  $::ttk::theme::awdark::colors(base.disabledborder) \
                  $colors(curr.disabledborder) \
                  $::ttk::theme::awdark::colors(base.bpress) \
                  $colors(curr.bpress) \
                  $::ttk::theme::awdark::colors(highlight.selectbg) \
                  $colors(curr.selectbg) \
                  $::ttk::theme::awdark::colors(highlight.selectdisabledbg) \
                  $colors(curr.selectdisabledbg) \
                  $::ttk::theme::awdark::colors(base.border) \
                  $colors(curr.border) \
                  $::ttk::theme::awdark::colors(base.arrow) \
                  $colors(curr.arrow) \
                  ] {
                regsub -all $oc $imgdata($n) $nc imgdata($n)
              }
            }
          }

          if { ! [info exists imgdata(cb-sa)] } {
            # cb-sa
            set imgdata(cb-sa) {
               iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
               AAAOJgAADiYBou8l/AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABSdEVY
               dENvcHlyaWdodABDQyBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlIGh0dHA6Ly9jcmVhdGl2ZWNvbW1v
               bnMub3JnL2xpY2Vuc2VzL2J5LXNhLzQuMC/DVGIFAAAB3klEQVQ4jYWSvW9SURiHn3O4VMtH1ARb
................................................................................
      }

      proc _createNotebookStyle { } {
        variable colors
        variable images
        variable vars

        set tag "$colors(curr.tabhighlight)$colors(curr.tabinactive)$colors(curr.selectbg)"
        foreach {k bg} [list \
            indhover $colors(curr.tabhighlight) \
            indnotactive $colors(curr.tabinactive) \
            indselected $colors(curr.selectbg) \
            ] {
          if { ! [info exists images($k.$bg)] } {
            set images($k.$bg) [image create photo \
                -width $vars(nb.img.width) -height $vars(nb.img.height)]
            set row [lrepeat $vars(nb.img.width) $bg]
            set pix [list]
            for {set i 0} {$i < $vars(nb.img.height)} {incr i} {
................................................................................
        if { $theme eq {} } {
          set theme $vars(theme.name)
        }

        ttk::style theme settings $theme {
          # defaults
          ttk::style configure . \
              -background $colors(curr.frame) \
              -foreground $colors(curr.text) \
              -borderwidth 1 \
              -bordercolor $colors(curr.border) \
              -darkcolor $colors(curr.darkest) \
              -lightcolor $colors(curr.darkest) \
              -troughcolor $colors(curr.entrybg) \
              -selectbackground $colors(curr.selectbg) \
              -selectforeground $colors(curr.selectfg) \
              -selectborderwidth 0 \
              -fieldbackground $colors(curr.entrybg) \
              -focuscolor $colors(curr.selectbg) \
              -insertcolor $colors(curr.lightest) \
              -relief none
          ttk::style map . \
              -background [list disabled $colors(curr.frame)] \
              -foreground [list active $colors(curr.text) \
                  focus $colors(curr.text) \
                  disabled $colors(curr.disabledfg)] \
              -selectbackground [list !focus $colors(curr.darkest)] \
              -selectforeground [list !focus $colors(curr.lightest)] \
              -bordercolor [list disabled $colors(curr.disabledborder)]

          # button

          ttk::style configure TButton \
              -bordercolor $colors(curr.frame) \
              -background $colors(curr.dark) \
              -lightcolor $colors(curr.lighter) \
              -darkcolor $colors(curr.darker)
          ttk::style map TButton \
              -background [list {hover !pressed !disabled} $colors(curr.bpress) \
                  {active !pressed} $colors(curr.bpress) \
                  {selected !disabled} $colors(curr.dark) \
                  pressed $colors(curr.dark) \
                  disabled $colors(curr.disabledbg)] \
              -lightcolor [list pressed $colors(curr.darker)] \
              -darkcolor [list pressed $colors(curr.lighter)]

          # checkbutton

          ttk::style map TCheckbutton \
              -indicatorcolor [list selected $colors(curr.lightest)] \
              -darkcolor [list disabled $colors(curr.frame)] \
              -lightcolor [list disabled $colors(curr.frame)]

          # combobox

          ttk::style configure TCombobox \
              -bordercolor $colors(curr.border) \
              -lightcolor $colors(curr.dark) \
              -darkcolor $colors(curr.dark) \
              -arrowcolor $colors(curr.arrow)
          ttk::style map TCombobox \
              -lightcolor [list active $colors(curr.selectbg) \
                  focus $colors(curr.selectbg)] \
              -darkcolor [list active $colors(curr.selectbg) \
                  focus $colors(curr.selectbg)] \
              -arrowcolor [list disabled $colors(curr.arrow.disabled)] \
              -fieldbackground [list disabled $colors(curr.disabledbg)]
          if { $::tcl_platform(os) eq "Darwin" } {
            # mac os x has cross-platform incompatibilities
            ttk::style configure TCombobox \
                -background $colors(curr.dark)
            ttk::style map TCombobox \
                -background [list disabled $colors(curr.disabledbg)]
          }

          # entry

          ttk::style configure TEntry \
              -background $colors(curr.dark) \
              -bordercolor $colors(curr.border) \
              -lightcolor $colors(curr.dark)
          ttk::style map TEntry \
              -lightcolor [list active $colors(curr.selectbg) \
                  focus $colors(curr.selectbg)] \
              -fieldbackground [list disabled $colors(curr.disabledbg)]
          if { $::tcl_platform(os) eq "Darwin" } {
            # mac os x has cross-platform incompatibilities
            ttk::style configure TEntry \
                -background $colors(curr.dark)
            ttk::style map TEntry \
                -background [list disabled $colors(curr.disabledbg)]
          }

          # frame

          ttk::style configure TFrame \
              -bordercolor $colors(curr.frame) \
              -lightcolor $colors(curr.lighter) \
              -darkcolor $colors(curr.darker)

          # labelframe

          ttk::style configure TLabelframe \
              -bordercolor $colors(curr.frame) \
              -lightcolor $colors(curr.frame) \
              -darkcolor $colors(curr.frame)

          # menubutton

          ttk::style configure TMenubutton \
              -arrowcolor $colors(curr.arrow)
          ttk::style map TMenubutton \
              -background [list {active !disabled} $colors(curr.selectbg)] \
              -foreground [list {active !disabled} $colors(curr.selectfg) \
                  disabled $colors(curr.disabledfg)] \
              -arrowcolor [list disabled $colors(curr.arrow.disabled)]

          # notebook

          ttk::style configure TNotebook \
              -bordercolor $colors(curr.frame) \
              -lightcolor $colors(curr.lighter) \
              -darkcolor $colors(curr.darker)
          ttk::style configure TNotebook.Tab \
              -lightcolor $colors(curr.frame) \
              -darkcolor $colors(curr.frame) \
              -bordercolor $colors(curr.tabborder) \
              -background $colors(curr.dark)

          # panedwindow

          ttk::style configure TPanedwindow \
              -background $colors(curr.dark)
          ttk::style configure Sash \
              -lightcolor $colors(curr.darkhighlight) \
              -darkcolor $colors(curr.darkest) \
              -sashthickness [expr {round(10*$vars(scale.factor))}]

          # progressbar

          ttk::style configure TProgressbar \
              -background $colors(curr.darkhighlight) \
              -bordercolor $colors(curr.border.light) \
              -lightcolor $colors(curr.darkhighlight) \
              -darkcolor $colors(curr.darkhighlight)
          ttk::style map TProgressbar \
              -troughcolor [list disabled $colors(curr.dark)] \
              -darkcolor [list disabled $colors(curr.disabledbg)] \
              -lightcolor [list disabled $colors(curr.disabledbg)]

          # scale

          # background is used both for the background and
          # for the grip colors
          ttk::style configure TScale \
              -background $colors(curr.darkhighlight) \
              -bordercolor $colors(curr.border.light) \
              -lightcolor $colors(curr.darkhighlight) \
              -darkcolor $colors(curr.darkhighlight)
          ttk::style map TScale \
              -troughcolor [list disabled $colors(curr.dark)] \
              -darkcolor [list disabled $colors(curr.disabledbg)] \
              -lightcolor [list disabled $colors(curr.disabledbg)]

          # scrollbar

          ttk::style configure TScrollbar \
              -background $colors(curr.selectbg) \
              -bordercolor $colors(curr.border.light) \
              -lightcolor $colors(curr.selectbg) \
              -darkcolor $colors(curr.selectbg) \
              -arrowcolor $colors(curr.lightest)
          ttk::style map TScrollbar \
              -arrowcolor [list disabled $colors(curr.arrow.disabled)] \
              -darkcolor [list disabled $colors(curr.frame)] \
              -lightcolor [list disabled $colors(curr.frame)]

          # spinbox

          ttk::style configure TSpinbox \
              -bordercolor $colors(curr.border) \
              -lightcolor $colors(curr.dark) \
              -arrowcolor $colors(curr.arrow)
          ttk::style map TSpinbox \
              -lightcolor [list active $colors(curr.selectbg) \
                  focus $colors(curr.selectbg)] \
              -darkcolor [list active $colors(curr.selectbg) \
                  focus $colors(curr.selectbg)] \
              -arrowcolor [list disabled $colors(curr.arrow.disabled)] \
              -fieldbackground [list disabled $colors(curr.disabledbg)]
          if { $::tcl_platform(os) eq "Darwin" } {
            # mac os x has cross-platform incompatibilities
            ttk::style configure TSpinbox \
                -background $colors(curr.dark)
            ttk::style map TSpinbox \
                -background [list disabled $colors(curr.disabledbg)]
          }

          # treeview

          ttk::style configure Treeview \
              -fieldbackground $colors(curr.frame)
          ttk::style map Treeview \
              -background [list selected $colors(curr.selectbg)] \
              -foreground [list selected $colors(curr.selectfg)]
        }
      }

      proc setBackground { bcol } {
        variable colors
        variable vars

................................................................................
        variable images
        variable vars

        if { ! [dict exists $vars(cache.menu) $w] } {
          dict set vars(cache.menu) $w 1
        }

        $w configure -background $colors(curr.frame)
        $w configure -foreground $colors(curr.text)
        $w configure -activebackground $colors(curr.selectbg)
        $w configure -activeforeground $colors(curr.selectfg)
        $w configure -disabledforeground $colors(curr.disabledfg)
        $w configure -selectcolor $colors(curr.selectbg)

        set max [$w index end]
        if { $max eq "none" } {
          return
        }

        # the standard menu does not have a -mode option
................................................................................
        variable images
        variable vars

        if { ! [dict exists $vars(cache.listbox) $w] } {
          dict set vars(cache.listbox) $w 1
        }

        $w configure -background $colors(curr.frame)
        $w configure -foreground $colors(curr.text)
        $w configure -disabledforeground $colors(curr.disabledfg)
        $w configure -selectbackground $colors(curr.selectbg)
        $w configure -selectforeground $colors(curr.selectfg)
        $w configure -borderwidth 1p
        $w configure -relief solid
      }

      proc setTextColors { w {useflag {}} } {
        variable colors
        variable images
................................................................................
        variable vars

        if { ! [dict exists $vars(cache.text) $w] } {
          dict set vars(cache.text) $w $useflag
        }

        if { $useflag eq "-entry" } {
          $w configure -background $colors(curr.entrybg)
        } elseif { $useflag eq "-dark" } {
          $w configure -background $colors(curr.dark)
        } else {
          $w configure -background $colors(curr.frame)
        }
        $w configure -foreground $colors(curr.text)
        $w configure -selectforeground $colors(curr.selectfg)
        $w configure -selectbackground $colors(curr.selectbg)
        $w configure -inactiveselectbackground $colors(curr.darkest)
        $w configure -borderwidth 1p
      }

      proc awCboxHandler { w } {
        variable vars
        variable colors

        set theme [ttk::style theme use]
        if { [info exists colors(curr.entrybg)] &&
            $theme eq $vars(theme.name) &&
            ! [dict exists $vars(cache.listbox) $w] } {
          ::ttk::theme::${vars(theme.name)}::setListboxColors $w
        }
      }

      init
    }
  }
}

awinit
unset -nocomplain ::awthemename







>
>
>
>
>
>
>
>
>
>
>
>
>









>
>







 







>

>






|
|







 







|
<
<
|
|
<
>
|

>
>
|
|
<
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>













|
|
|
|
|
|
|
|
|
|
|
|
|
|

<
<
<
<
<
<
<
<
<







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
|
|
|
|
|
|
|
|
>







 







|






|






|






|






|






|






|












|








|








|








|








|








|








|












|








|








|








|








|












|








|








|












|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







 







|

|
|
|







 







|
|

|
|
|
|
|
|

|
|
|


|
|
|
|
|
|
|




|
|
|
|

|
|
|
|
|
|
|




|
|
|




|
|
|
|

|
|
|
|
|
|



|

|





|
|
|

|
|
|



|

|





|
|
|




|
|
|




|

|
|
|
|




|
|
|

|
|
|
|




|

|
|





|
|
|
|

|
|
|






|
|
|
|

|
|
|




|
|
|
|
|

|
|
|




|
|
|

|
|
|
|
|
|



|

|





|

|
|







 







|
|
|
|
|
|







 







|
|
|
|
|







 







|

|

|

|
|
|
|








|













22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
...
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
...
167
168
169
170
171
172
173
174


175
176

177
178
179
180
181
182
183

184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226









227
228
229
230
231
232
233
...
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
....
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
....
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
....
4892
4893
4894
4895
4896
4897
4898


































4899
4900
4901
4902
4903
4904
4905
....
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
....
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
....
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
....
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
....
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
#     Sets the listbox widget colors.
#
#   ::ttk::theme::awdark::setBackground color
#     requires the colorutils package
#
#   ::ttk::theme::awdark::setHighlight color
#     requires the colorutils package
#     This does not work with the scalable graphics.
#
#   ::themeutils::setThemeColors awdark colorname color ...
#     Allows modification of any of the colors used by awdark and awlight.
#     The graphical colors will be changed to match.
#     e.g.
#       package require colorutils
#       package require themeutils
#       ::themeutils::setThemeColors awdark \
#           highlight.selectbg #007000 highlight.selectdisabledbg #222222
#       package require awdark
#     will change the selection and graphical colors to a green, and the
#     the disabled selection color to a dark grey.
#
# Mac OS X notes for prior to 8.6.9:
#   To style the scrollbars, use:
#        ttk::scrollbar .sb -style Vertical.TScrollbar
#     or ttk::scrollbar .sb -style Horizontal.TScrollbar
#   This will turn off the aqua styling and use the theme styling.
#   Also note that the styling for the scrollbar cannot be configured
#     afterwards, it must be configured when the scrollbar is created.
#
# 3.1
#   - allow user configuration of colors
# 3.0
#   - tksvg support
# 2.6
#   - Fix mac colors
# 2.5
#   - Added missing TFrame style setup.
# 2.4
................................................................................
try {
  set ap [file normalize [file dirname [info script]]]
  if { $ap ni $::auto_path } {
    lappend ::auto_path $ap
  }
  unset ap
  package require colorutils
  package require themeutils
} on error {err res} {
  puts stderr "ERROR: colorutlis and themeutils packages are required"
}

proc awinit { } {
  global awthemename

  foreach awthemename {awdark awlight} {
    package provide $awthemename 3.1
    package provide ttk::theme::$awthemename 3.1

    namespace eval ::ttk::theme::$awthemename {
      variable colors
      variable images
      variable imgdata
      variable vars

................................................................................
        set vars(have.tksvg) false
        if { ! [catch {package present tksvg}] } {
          set vars(have.tksvg) true
        }

        _setThemeBaseColors

        # set up the curr.* named colors



        foreach {k} [array names colors] {

          if { [regexp {^user\.} $k] } { continue }
          set colors(curr.$k) $colors($k)
        }

        # override colors with any user.* colors
        # these are set by the ::themeutils package
        # process the base colors first, then the derived colors


        foreach {k} $::themeutils::vars(names.colors.base) {
          if { [info exists colors(user.$k)] } {
            set colors(curr.$k) $colors(user.$k)
          }
        }

        # sets both the base colors and the curr.* colors
        _setDerivedColors

        # now override any derived colors with user-specified colors
        foreach {k} $::themeutils::vars(names.colors.derived) {
          if { [info exists colors(user.$k)] } {
            set colors(curr.$k) $colors(user.$k)
          }
        }

        _setImageData
        _createTheme
        _setStyledColors
      }

      proc _setThemeBaseColors { } {
        variable vars
        variable colors

        if { $vars(theme.name) eq "awdark" } {
          array set colors {
              base.disabledfg       #919282
              base.disabledbg       #2d3234
              base.disabledborder   #202425
              base.frame            #33393b
              base.dark             #252a2c
              base.darker           #1b1f20
              base.darkest          #000000
              base.bpress           #424a4d
              base.lighter          #525c5f
              base.lightest         #ffffff
              highlight.selectbg    #215d9c
              highlight.selectdisabledbg  #224162
              highlight.darkhighlight     #1a497c
              highlight.selectfg    #ffffff
              }









        }
        if { $vars(theme.name) eq "awlight" } {
          array set colors {
              base.frame      #e8e8e7
              base.disabledfg #8e8e8f
              base.disabledbg #cacaca
              base.disabledborder #c0c0bd
................................................................................
              base.lighter    #f0f0f0
              base.lightest   #ffffff
              highlight.selectbg   #1a497c
              highlight.selectdisabledbg   #f0f0f0
              highlight.darkhighlight #1a497c
              highlight.selectfg   #ffffff
              }
        }
      }

      proc _setDerivedColors { } {
        variable vars
        variable colors

        foreach {prefix} {{} curr.} {
          if { $vars(theme.name) eq "awdark" } {
            set colors(${prefix}base.arrow) $colors(base.lightest)
            set colors(${prefix}base.arrow.disabled) $colors(base.lighter)
            set colors(${prefix}base.border) $colors(base.darkest)
            set colors(${prefix}base.border.light) $colors(base.darkest)
            set colors(${prefix}text.text) $colors(base.lightest)
            set colors(${prefix}base.tabborder) $colors(base.darkest)
            set colors(${prefix}base.tabinactive) $colors(base.frame)
            set colors(${prefix}base.tabhighlight) #8b9ca1
            set colors(${prefix}base.entrybg) $colors(base.darker)
          }
          if { $vars(theme.name) eq "awlight" } {
            set colors(${prefix}base.arrow) $colors(base.darkest)
            set colors(${prefix}base.arrow.disabled) $colors(base.darker)
            set colors(${prefix}base.border) $colors(base.dark)
            set colors(${prefix}base.border.light) $colors(base.dark)
            set colors(${prefix}text.text) $colors(base.darkest)
            set colors(${prefix}base.tabborder) $colors(base.frame)
            set colors(${prefix}base.tabinactive) $colors(base.darker)
            set colors(${prefix}base.tabhighlight) $colors(base.darkest)
            set colors(${prefix}base.entrybg) $colors(base.lightest)
          }
        }
      }

      proc _setImageData { } {
        variable vars
        variable imgdata
        variable imgtype
................................................................................
           style="opacity:1;fill:#215d9b;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-3"
           cx="12.721766"
           cy="284.22617"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-6"
           cx="11.119109"
           cy="285.81818"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-7"
           cx="9.5164518"
           cy="287.41016"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-5"
           cx="7.913794"
           cy="289.00214"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-35"
           cx="6.3111362"
           cy="290.59412"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-62"
           cx="4.7084789"
           cy="292.18613"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-9"
           cx="3.1058214"
           cy="293.77811"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-1"
           cx="1.5031636"
           cy="295.37009"
           rx="0.69321311"
           ry="0.69321305" />
      </g>
      <g
         id="g959"
         transform="translate(-0.53809974,-0.04111673)">
        <ellipse
           inkscape:transform-center-y="-2.5681986"
           inkscape:transform-center-x="-1.8183937"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-3-7"
           cx="14.967299"
           cy="285.89139"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-1.8042036"
           inkscape:transform-center-x="-1.05441"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-6-0"
           cx="13.364642"
           cy="287.48337"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-1.0402233"
           inkscape:transform-center-x="-0.29042529"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-7-9"
           cx="11.761985"
           cy="289.07538"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-0.27624296"
           inkscape:transform-center-x="0.47355939"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-5-3"
           cx="10.159327"
           cy="290.66736"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="0.48773736"
           inkscape:transform-center-x="1.2375436"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-35-6"
           cx="8.5566683"
           cy="292.25934"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="1.2517323"
           inkscape:transform-center-x="2.0015276"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-62-0"
           cx="6.954011"
           cy="293.85135"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="2.0157126"
           inkscape:transform-center-x="2.7655121"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-9-6"
           cx="5.3513532"
           cy="295.44333"
           rx="0.69321311"
           ry="0.69321305" />
      </g>
      <g
         id="g1056"
         transform="translate(-0.28974602,-0.04111673)">
        <ellipse
           inkscape:transform-center-y="-1.8042036"
           inkscape:transform-center-x="-1.05441"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-6-0-8"
           cx="14.689195"
           cy="289.13831"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-1.0402233"
           inkscape:transform-center-x="-0.29042529"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-7-9-7"
           cx="13.086537"
           cy="290.73032"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-0.27624296"
           inkscape:transform-center-x="0.47355939"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-5-3-9"
           cx="11.48388"
           cy="292.3223"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="0.48773736"
           inkscape:transform-center-x="1.2375436"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-35-6-2"
           cx="9.8812218"
           cy="293.91428"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="1.2517323"
           inkscape:transform-center-x="2.0015276"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-62-0-0"
           cx="8.2785645"
           cy="295.50629"
           rx="0.69321311"
           ry="0.69321305" />
      </g>
      <g
         id="g1034"
         transform="translate(8.4854191,7.1543113)">
        <ellipse
           inkscape:transform-center-y="-1.0402233"
           inkscape:transform-center-x="-0.29042529"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-7-9-7-7"
           cx="5.9463682"
           cy="285.23096"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="-0.27624296"
           inkscape:transform-center-x="0.47355939"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-5-3-9-5"
           cx="4.3437109"
           cy="286.82294"
           rx="0.69321311"
           ry="0.69321305" />
        <ellipse
           inkscape:transform-center-y="0.48773736"
           inkscape:transform-center-x="1.2375436"
           style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path841-79-35-6-2-9"
           cx="2.7410524"
           cy="288.41492"
           rx="0.69321311"
           ry="0.69321305" />
      </g>
      <ellipse
         ry="0.69321305"
         rx="0.69321311"
         cy="295.49088"
         cx="14.451189"
         id="path841-79-6-0-8-2"
         style="opacity:1;fill:#215d9c;fill-opacity:1;stroke:#07090b;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
         inkscape:transform-center-x="-1.05441"
         inkscape:transform-center-y="-1.8042036" />
    </g>
  </g>
</svg>
}
          # slider-hd
................................................................................
       ry="0"
       transform="scale(-1)" />
  </g>
</svg>
}
          #E == svgdata ==
        }

        if { $vars(theme.name) eq "awlight" } {
          # convert all the svg colors to awlight specific colors
          if { $vars(have.tksvg) } {
            foreach {n} [array names ::ttk::theme::awdark::imgdata] {
              set imgdata($n) $::ttk::theme::awdark::imgdata($n)
              if { [string match *arrow* $n] } {
                set oc $::ttk::theme::awdark::colors(highlight.selectbg)
                set nc $colors(curr.base.lighter)
                regsub -all $oc $imgdata($n) $nc imgdata($n)
              }
              foreach {oc nc} [list \
                  $::ttk::theme::awdark::colors(base.dark) \
                  $colors(base.dark) \
                  $::ttk::theme::awdark::colors(base.disabledfg) \
                  $colors(base.disabledfg) \
                  $::ttk::theme::awdark::colors(base.disabledbg) \
                  $colors(base.disabledbg) \
                  $::ttk::theme::awdark::colors(base.disabledborder) \
                  $colors(base.disabledborder) \
                  $::ttk::theme::awdark::colors(base.bpress) \
                  $colors(base.bpress) \
                  $::ttk::theme::awdark::colors(highlight.selectbg) \
                  $colors(highlight.selectbg) \
                  $::ttk::theme::awdark::colors(highlight.selectdisabledbg) \
                  $colors(highlight.selectdisabledbg) \
                  $::ttk::theme::awdark::colors(base.border) \
                  $colors(base.border) \
                  $::ttk::theme::awdark::colors(base.arrow) \
                  $colors(base.arrow) \
                  ] {
                regsub -all $oc $imgdata($n) $nc imgdata($n)
              }
            }
          }
        }

        # convert all the svg colors to the current colors
        if { $vars(have.tksvg) } {
          foreach {n} [array names imgdata] {
            if { [string match *arrow* $n] } {
              set oc $colors(highlight.selectbg)
              set nc $colors(curr.highlight.selectbg)
              if { $nc ne $oc } {
                regsub -all $oc $imgdata($n) $nc imgdata($n)
              }
            }
            foreach {oc nc} [list \
                $colors(base.dark) \
                $colors(curr.base.dark) \
                $colors(base.disabledfg) \
                $colors(curr.base.disabledfg) \
                $colors(base.disabledbg) \
                $colors(curr.base.disabledbg) \
                $colors(base.disabledborder) \
                $colors(curr.base.disabledborder) \
                $colors(base.bpress) \
                $colors(curr.base.bpress) \
                $colors(highlight.selectbg) \
                $colors(curr.highlight.selectbg) \
                $colors(highlight.selectdisabledbg) \
                $colors(curr.highlight.selectdisabledbg) \
                $colors(base.border) \
                $colors(curr.base.border) \
                $colors(base.arrow) \
                $colors(curr.base.arrow) \
                ] {
              if { $nc ne $oc } {
                regsub -all $oc $imgdata($n) $nc imgdata($n)
              }
            }
          }
        }

        if { $vars(theme.name) eq "awdark" } {
          if { ! [info exists imgdata(cb-sa)] } {
            # cb-sa
            set imgdata(cb-sa) {
               iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
               AAAOJgAADiYBou8l/AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABSdEVY
................................................................................
               QnjtvO9k08mVGKOIMfrvMylcVbHI0vhzOFyUh8u3zrm7wPK4DS8ZY55Yaz+LSCoimVj7Vax9Dmwf
               Hf4Dx8Kr4mNF2+sAAAAASUVORK5CYII=
            }
          }
        }

        if { $vars(theme.name) eq "awlight" } {


































          if { ! [info exists imgdata(cb-sa)] } {
            # cb-sa
            set imgdata(cb-sa) {
               iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
               AAAOJgAADiYBou8l/AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABSdEVY
               dENvcHlyaWdodABDQyBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlIGh0dHA6Ly9jcmVhdGl2ZWNvbW1v
               bnMub3JnL2xpY2Vuc2VzL2J5LXNhLzQuMC/DVGIFAAAB3klEQVQ4jYWSvW9SURiHn3O4VMtH1ARb
................................................................................
      }

      proc _createNotebookStyle { } {
        variable colors
        variable images
        variable vars

        set tag "$colors(curr.base.tabhighlight)$colors(curr.base.tabinactive)$colors(curr.highlight.selectbg)"
        foreach {k bg} [list \
            indhover $colors(curr.base.tabhighlight) \
            indnotactive $colors(curr.base.tabinactive) \
            indselected $colors(curr.highlight.selectbg) \
            ] {
          if { ! [info exists images($k.$bg)] } {
            set images($k.$bg) [image create photo \
                -width $vars(nb.img.width) -height $vars(nb.img.height)]
            set row [lrepeat $vars(nb.img.width) $bg]
            set pix [list]
            for {set i 0} {$i < $vars(nb.img.height)} {incr i} {
................................................................................
        if { $theme eq {} } {
          set theme $vars(theme.name)
        }

        ttk::style theme settings $theme {
          # defaults
          ttk::style configure . \
              -background $colors(curr.base.frame) \
              -foreground $colors(curr.text.text) \
              -borderwidth 1 \
              -bordercolor $colors(curr.base.border) \
              -darkcolor $colors(curr.base.darkest) \
              -lightcolor $colors(curr.base.darkest) \
              -troughcolor $colors(curr.base.entrybg) \
              -selectbackground $colors(curr.highlight.selectbg) \
              -selectforeground $colors(curr.highlight.selectfg) \
              -selectborderwidth 0 \
              -fieldbackground $colors(curr.base.entrybg) \
              -focuscolor $colors(curr.highlight.selectbg) \
              -insertcolor $colors(curr.base.lightest) \
              -relief none
          ttk::style map . \
              -background [list disabled $colors(curr.base.frame)] \
              -foreground [list active $colors(curr.text.text) \
                  focus $colors(curr.text.text) \
                  disabled $colors(curr.base.disabledfg)] \
              -selectbackground [list !focus $colors(curr.base.darkest)] \
              -selectforeground [list !focus $colors(curr.base.lightest)] \
              -bordercolor [list disabled $colors(curr.base.disabledborder)]

          # button

          ttk::style configure TButton \
              -bordercolor $colors(curr.base.frame) \
              -background $colors(curr.base.dark) \
              -lightcolor $colors(curr.base.lighter) \
              -darkcolor $colors(curr.base.darker)
          ttk::style map TButton \
              -background [list {hover !pressed !disabled} $colors(curr.base.bpress) \
                  {active !pressed} $colors(curr.base.bpress) \
                  {selected !disabled} $colors(curr.base.dark) \
                  pressed $colors(curr.base.dark) \
                  disabled $colors(curr.base.disabledbg)] \
              -lightcolor [list pressed $colors(curr.base.darker)] \
              -darkcolor [list pressed $colors(curr.base.lighter)]

          # checkbutton

          ttk::style map TCheckbutton \
              -indicatorcolor [list selected $colors(curr.base.lightest)] \
              -darkcolor [list disabled $colors(curr.base.frame)] \
              -lightcolor [list disabled $colors(curr.base.frame)]

          # combobox

          ttk::style configure TCombobox \
              -bordercolor $colors(curr.base.border) \
              -lightcolor $colors(curr.base.dark) \
              -darkcolor $colors(curr.base.dark) \
              -arrowcolor $colors(curr.base.arrow)
          ttk::style map TCombobox \
              -lightcolor [list active $colors(curr.highlight.selectbg) \
                  focus $colors(curr.highlight.selectbg)] \
              -darkcolor [list active $colors(curr.highlight.selectbg) \
                  focus $colors(curr.highlight.selectbg)] \
              -arrowcolor [list disabled $colors(curr.base.arrow.disabled)] \
              -fieldbackground [list disabled $colors(curr.base.disabledbg)]
          if { $::tcl_platform(os) eq "Darwin" } {
            # mac os x has cross-platform incompatibilities
            ttk::style configure TCombobox \
                -background $colors(curr.base.dark)
            ttk::style map TCombobox \
                -background [list disabled $colors(curr.base.disabledbg)]
          }

          # entry

          ttk::style configure TEntry \
              -background $colors(curr.base.dark) \
              -bordercolor $colors(curr.base.border) \
              -lightcolor $colors(curr.base.dark)
          ttk::style map TEntry \
              -lightcolor [list active $colors(curr.highlight.selectbg) \
                  focus $colors(curr.highlight.selectbg)] \
              -fieldbackground [list disabled $colors(curr.base.disabledbg)]
          if { $::tcl_platform(os) eq "Darwin" } {
            # mac os x has cross-platform incompatibilities
            ttk::style configure TEntry \
                -background $colors(curr.base.dark)
            ttk::style map TEntry \
                -background [list disabled $colors(curr.base.disabledbg)]
          }

          # frame

          ttk::style configure TFrame \
              -bordercolor $colors(curr.base.frame) \
              -lightcolor $colors(curr.base.lighter) \
              -darkcolor $colors(curr.base.darker)

          # labelframe

          ttk::style configure TLabelframe \
              -bordercolor $colors(curr.base.frame) \
              -lightcolor $colors(curr.base.frame) \
              -darkcolor $colors(curr.base.frame)

          # menubutton

          ttk::style configure TMenubutton \
              -arrowcolor $colors(curr.base.arrow)
          ttk::style map TMenubutton \
              -background [list {active !disabled} $colors(curr.highlight.selectbg)] \
              -foreground [list {active !disabled} $colors(curr.highlight.selectfg) \
                  disabled $colors(curr.base.disabledfg)] \
              -arrowcolor [list disabled $colors(curr.base.arrow.disabled)]

          # notebook

          ttk::style configure TNotebook \
              -bordercolor $colors(curr.base.frame) \
              -lightcolor $colors(curr.base.lighter) \
              -darkcolor $colors(curr.base.darker)
          ttk::style configure TNotebook.Tab \
              -lightcolor $colors(curr.base.frame) \
              -darkcolor $colors(curr.base.frame) \
              -bordercolor $colors(curr.base.tabborder) \
              -background $colors(curr.base.dark)

          # panedwindow

          ttk::style configure TPanedwindow \
              -background $colors(curr.base.dark)
          ttk::style configure Sash \
              -lightcolor $colors(curr.highlight.darkhighlight) \
              -darkcolor $colors(curr.base.darkest) \
              -sashthickness [expr {round(10*$vars(scale.factor))}]

          # progressbar

          ttk::style configure TProgressbar \
              -background $colors(curr.highlight.darkhighlight) \
              -bordercolor $colors(curr.base.border.light) \
              -lightcolor $colors(curr.highlight.darkhighlight) \
              -darkcolor $colors(curr.highlight.darkhighlight)
          ttk::style map TProgressbar \
              -troughcolor [list disabled $colors(curr.base.dark)] \
              -darkcolor [list disabled $colors(curr.base.disabledbg)] \
              -lightcolor [list disabled $colors(curr.base.disabledbg)]

          # scale

          # background is used both for the background and
          # for the grip colors
          ttk::style configure TScale \
              -background $colors(curr.highlight.darkhighlight) \
              -bordercolor $colors(curr.base.border.light) \
              -lightcolor $colors(curr.highlight.darkhighlight) \
              -darkcolor $colors(curr.highlight.darkhighlight)
          ttk::style map TScale \
              -troughcolor [list disabled $colors(curr.base.dark)] \
              -darkcolor [list disabled $colors(curr.base.disabledbg)] \
              -lightcolor [list disabled $colors(curr.base.disabledbg)]

          # scrollbar

          ttk::style configure TScrollbar \
              -background $colors(curr.highlight.selectbg) \
              -bordercolor $colors(curr.base.border.light) \
              -lightcolor $colors(curr.highlight.selectbg) \
              -darkcolor $colors(curr.highlight.selectbg) \
              -arrowcolor $colors(curr.base.lightest)
          ttk::style map TScrollbar \
              -arrowcolor [list disabled $colors(curr.base.arrow.disabled)] \
              -darkcolor [list disabled $colors(curr.base.frame)] \
              -lightcolor [list disabled $colors(curr.base.frame)]

          # spinbox

          ttk::style configure TSpinbox \
              -bordercolor $colors(curr.base.border) \
              -lightcolor $colors(curr.base.dark) \
              -arrowcolor $colors(curr.base.arrow)
          ttk::style map TSpinbox \
              -lightcolor [list active $colors(curr.highlight.selectbg) \
                  focus $colors(curr.highlight.selectbg)] \
              -darkcolor [list active $colors(curr.highlight.selectbg) \
                  focus $colors(curr.highlight.selectbg)] \
              -arrowcolor [list disabled $colors(curr.base.arrow.disabled)] \
              -fieldbackground [list disabled $colors(curr.base.disabledbg)]
          if { $::tcl_platform(os) eq "Darwin" } {
            # mac os x has cross-platform incompatibilities
            ttk::style configure TSpinbox \
                -background $colors(curr.base.dark)
            ttk::style map TSpinbox \
                -background [list disabled $colors(curr.base.disabledbg)]
          }

          # treeview

          ttk::style configure Treeview \
              -fieldbackground $colors(curr.base.frame)
          ttk::style map Treeview \
              -background [list selected $colors(curr.highlight.selectbg)] \
              -foreground [list selected $colors(curr.highlight.selectfg)]
        }
      }

      proc setBackground { bcol } {
        variable colors
        variable vars

................................................................................
        variable images
        variable vars

        if { ! [dict exists $vars(cache.menu) $w] } {
          dict set vars(cache.menu) $w 1
        }

        $w configure -background $colors(curr.base.frame)
        $w configure -foreground $colors(curr.text.text)
        $w configure -activebackground $colors(curr.highlight.selectbg)
        $w configure -activeforeground $colors(curr.highlight.selectfg)
        $w configure -disabledforeground $colors(curr.base.disabledfg)
        $w configure -selectcolor $colors(curr.highlight.selectbg)

        set max [$w index end]
        if { $max eq "none" } {
          return
        }

        # the standard menu does not have a -mode option
................................................................................
        variable images
        variable vars

        if { ! [dict exists $vars(cache.listbox) $w] } {
          dict set vars(cache.listbox) $w 1
        }

        $w configure -background $colors(curr.base.frame)
        $w configure -foreground $colors(curr.text.text)
        $w configure -disabledforeground $colors(curr.base.disabledfg)
        $w configure -selectbackground $colors(curr.highlight.selectbg)
        $w configure -selectforeground $colors(curr.highlight.selectfg)
        $w configure -borderwidth 1p
        $w configure -relief solid
      }

      proc setTextColors { w {useflag {}} } {
        variable colors
        variable images
................................................................................
        variable vars

        if { ! [dict exists $vars(cache.text) $w] } {
          dict set vars(cache.text) $w $useflag
        }

        if { $useflag eq "-entry" } {
          $w configure -background $colors(curr.base.entrybg)
        } elseif { $useflag eq "-dark" } {
          $w configure -background $colors(curr.base.dark)
        } else {
          $w configure -background $colors(curr.base.frame)
        }
        $w configure -foreground $colors(curr.text.text)
        $w configure -selectforeground $colors(curr.highlight.selectfg)
        $w configure -selectbackground $colors(curr.highlight.selectbg)
        $w configure -inactiveselectbackground $colors(curr.base.darkest)
        $w configure -borderwidth 1p
      }

      proc awCboxHandler { w } {
        variable vars
        variable colors

        set theme [ttk::style theme use]
        if { [info exists colors(curr.base.entrybg)] &&
            $theme eq $vars(theme.name) &&
            ! [dict exists $vars(cache.listbox) $w] } {
          ::ttk::theme::${vars(theme.name)}::setListboxColors $w
        }
      }

      init
    }
  }
}

awinit
unset -nocomplain ::awthemename

Changes to assets/awthemes3/pkgIndex.tcl.

1
2
3
4
5
6


7
8
9
10
package ifneeded awdark 3.0 \
    [list source [file join $dir awthemes.tcl]]
package ifneeded awlight 3.0 \
    [list source [file join $dir awthemes.tcl]]
package ifneeded colorutils 4.3 \
    [list source [file join $dir colorutils.tcl]] 


package ifneeded ttk::theme::awdark 3.0 \
    [list source [file join $dir awthemes.tcl]]
package ifneeded ttk::theme::awlight 3.0 \
    [list source [file join $dir awthemes.tcl]]
|

|



>
>
|

|

1
2
3
4
5
6
7
8
9
10
11
12
package ifneeded awdark 3.1 \
    [list source [file join $dir awthemes.tcl]]
package ifneeded awlight 3.1 \
    [list source [file join $dir awthemes.tcl]]
package ifneeded colorutils 4.3 \
    [list source [file join $dir colorutils.tcl]] 
package ifneeded themeutils 1.0 \
    [list source [file join $dir themeutils.tcl]] 
package ifneeded ttk::theme::awdark 3.1 \
    [list source [file join $dir awthemes.tcl]]
package ifneeded ttk::theme::awlight 3.1 \
    [list source [file join $dir awthemes.tcl]]

Added assets/awthemes3/themeutils.tcl.



























































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/usr/bin/tclsh
#
# themeutils.tcl
#
# Copyright 2019 Brad Lanam Pleasant Hill, CA
#
# zlib/libpng license
#

package provide themeutils 1.0

namespace eval ::themeutils {
  variable vars

  proc init {} {
    variable vars

      set vars(names.colors.base) {
          base.disabledfg
          base.disabledbg
          base.disabledborder
          base.frame
          base.dark
          base.darker
          base.darkest
          base.bpress
          base.lighter
          base.lightest
          highlight.selectbg
          highlight.selectdisabledbg
          highlight.darkhighlight
          highlight.selectfg
          }
      set vars(names.colors.derived) {
          base.arrow
          base.arrow.disabled
          base.border
          base.border.light
          text.text
          base.tabborder
          base.tabinactive
          base.tabhighlight
          base.entrybg
          }
# derived colors:
# base.arrow
#     awdark:   base.lightest         awlight:  base.darkest
# base.arrow.disabled
#     awdark:   base.lighter          awlight:  base.darker
# base.border
#     awdark:   base.darkest          awlight:  base.dark
# base.border.light
#     awdark:   base.darkest          awlight:  base.dark
# text.text
#     awdark:   base.lightest         awlight:  base.darkest
# base.tabborder
#     awdark:   base.darkest          awlight:  base.frame
# base.tabinactive
#     awdark:   base.frame            awlight:  base.darker
# base.tabhighlight
#     awdark:   #8b9ca1               awlight:  base.darkest
# base.entrybg
#     awdark:   base.darker           awlight:  base.lightest
  }

  proc setThemeColors { theme args } {
    variable vars

    namespace eval ::ttk::theme::$theme {}

    foreach {cn col} $args {
      set ::ttk::theme::${theme}::colors(user.$cn) $col
    }
  }

  init
}