pdflinkcheck 1.1.73__py3-none-any.whl → 1.2.29__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. pdflinkcheck/__init__.py +88 -21
  2. pdflinkcheck/__main__.py +6 -0
  3. pdflinkcheck/analysis_pdfium.py +131 -0
  4. pdflinkcheck/{analyze_pymupdf.py → analysis_pymupdf.py} +109 -145
  5. pdflinkcheck/{analyze_pypdf.py → analysis_pypdf.py} +67 -37
  6. pdflinkcheck/cli.py +111 -116
  7. pdflinkcheck/data/I Have Questions.md +51 -0
  8. pdflinkcheck/data/LICENSE +20 -654
  9. pdflinkcheck/data/README.md +65 -67
  10. pdflinkcheck/data/icons/BoxArt-1080x1080.png +0 -0
  11. pdflinkcheck/data/icons/Logo-150x150.png +0 -0
  12. pdflinkcheck/data/icons/Logo-300x300.png +0 -0
  13. pdflinkcheck/data/icons/Logo-71x71.png +0 -0
  14. pdflinkcheck/data/icons/PosterArt-720x1080.png +0 -0
  15. pdflinkcheck/data/icons/SmallLogo-44x44.png +0 -0
  16. pdflinkcheck/data/icons/SplashScreen-620x300.png +0 -0
  17. pdflinkcheck/data/icons/StoreLogo-50x50.png +0 -0
  18. pdflinkcheck/data/icons/WideLogo-310x150.png +0 -0
  19. pdflinkcheck/data/icons/red_pdf_512px.ico +0 -0
  20. pdflinkcheck/data/pyproject.toml +25 -37
  21. pdflinkcheck/data/themes/forest/forest-dark/border-accent-hover.png +0 -0
  22. pdflinkcheck/data/themes/forest/forest-dark/border-accent.png +0 -0
  23. pdflinkcheck/data/themes/forest/forest-dark/border-basic.png +0 -0
  24. pdflinkcheck/data/themes/forest/forest-dark/border-hover.png +0 -0
  25. pdflinkcheck/data/themes/forest/forest-dark/border-invalid.png +0 -0
  26. pdflinkcheck/data/themes/forest/forest-dark/card.png +0 -0
  27. pdflinkcheck/data/themes/forest/forest-dark/check-accent.png +0 -0
  28. pdflinkcheck/data/themes/forest/forest-dark/check-basic.png +0 -0
  29. pdflinkcheck/data/themes/forest/forest-dark/check-hover.png +0 -0
  30. pdflinkcheck/data/themes/forest/forest-dark/check-tri-accent.png +0 -0
  31. pdflinkcheck/data/themes/forest/forest-dark/check-tri-basic.png +0 -0
  32. pdflinkcheck/data/themes/forest/forest-dark/check-tri-hover.png +0 -0
  33. pdflinkcheck/data/themes/forest/forest-dark/check-unsel-accent.png +0 -0
  34. pdflinkcheck/data/themes/forest/forest-dark/check-unsel-basic.png +0 -0
  35. pdflinkcheck/data/themes/forest/forest-dark/check-unsel-hover.png +0 -0
  36. pdflinkcheck/data/themes/forest/forest-dark/check-unsel-pressed.png +0 -0
  37. pdflinkcheck/data/themes/forest/forest-dark/combo-button-basic.png +0 -0
  38. pdflinkcheck/data/themes/forest/forest-dark/combo-button-focus.png +0 -0
  39. pdflinkcheck/data/themes/forest/forest-dark/combo-button-hover.png +0 -0
  40. pdflinkcheck/data/themes/forest/forest-dark/down.png +0 -0
  41. pdflinkcheck/data/themes/forest/forest-dark/empty.png +0 -0
  42. pdflinkcheck/data/themes/forest/forest-dark/hor-accent.png +0 -0
  43. pdflinkcheck/data/themes/forest/forest-dark/hor-basic.png +0 -0
  44. pdflinkcheck/data/themes/forest/forest-dark/hor-hover.png +0 -0
  45. pdflinkcheck/data/themes/forest/forest-dark/notebook.png +0 -0
  46. pdflinkcheck/data/themes/forest/forest-dark/off-accent.png +0 -0
  47. pdflinkcheck/data/themes/forest/forest-dark/off-basic.png +0 -0
  48. pdflinkcheck/data/themes/forest/forest-dark/off-hover.png +0 -0
  49. pdflinkcheck/data/themes/forest/forest-dark/on-accent.png +0 -0
  50. pdflinkcheck/data/themes/forest/forest-dark/on-basic.png +0 -0
  51. pdflinkcheck/data/themes/forest/forest-dark/on-hover.png +0 -0
  52. pdflinkcheck/data/themes/forest/forest-dark/radio-accent.png +0 -0
  53. pdflinkcheck/data/themes/forest/forest-dark/radio-basic.png +0 -0
  54. pdflinkcheck/data/themes/forest/forest-dark/radio-hover.png +0 -0
  55. pdflinkcheck/data/themes/forest/forest-dark/radio-tri-accent.png +0 -0
  56. pdflinkcheck/data/themes/forest/forest-dark/radio-tri-basic.png +0 -0
  57. pdflinkcheck/data/themes/forest/forest-dark/radio-tri-hover.png +0 -0
  58. pdflinkcheck/data/themes/forest/forest-dark/radio-unsel-accent.png +0 -0
  59. pdflinkcheck/data/themes/forest/forest-dark/radio-unsel-basic.png +0 -0
  60. pdflinkcheck/data/themes/forest/forest-dark/radio-unsel-hover.png +0 -0
  61. pdflinkcheck/data/themes/forest/forest-dark/radio-unsel-pressed.png +0 -0
  62. pdflinkcheck/data/themes/forest/forest-dark/rect-accent-hover.png +0 -0
  63. pdflinkcheck/data/themes/forest/forest-dark/rect-accent.png +0 -0
  64. pdflinkcheck/data/themes/forest/forest-dark/rect-basic.png +0 -0
  65. pdflinkcheck/data/themes/forest/forest-dark/rect-hover.png +0 -0
  66. pdflinkcheck/data/themes/forest/forest-dark/right.png +0 -0
  67. pdflinkcheck/data/themes/forest/forest-dark/scale-hor.png +0 -0
  68. pdflinkcheck/data/themes/forest/forest-dark/scale-vert.png +0 -0
  69. pdflinkcheck/data/themes/forest/forest-dark/separator.png +0 -0
  70. pdflinkcheck/data/themes/forest/forest-dark/sizegrip.png +0 -0
  71. pdflinkcheck/data/themes/forest/forest-dark/spin-button-down-basic.png +0 -0
  72. pdflinkcheck/data/themes/forest/forest-dark/spin-button-down-focus.png +0 -0
  73. pdflinkcheck/data/themes/forest/forest-dark/spin-button-up.png +0 -0
  74. pdflinkcheck/data/themes/forest/forest-dark/tab-accent.png +0 -0
  75. pdflinkcheck/data/themes/forest/forest-dark/tab-basic.png +0 -0
  76. pdflinkcheck/data/themes/forest/forest-dark/tab-hover.png +0 -0
  77. pdflinkcheck/data/themes/forest/forest-dark/thumb-hor-accent.png +0 -0
  78. pdflinkcheck/data/themes/forest/forest-dark/thumb-hor-basic.png +0 -0
  79. pdflinkcheck/data/themes/forest/forest-dark/thumb-hor-hover.png +0 -0
  80. pdflinkcheck/data/themes/forest/forest-dark/thumb-vert-accent.png +0 -0
  81. pdflinkcheck/data/themes/forest/forest-dark/thumb-vert-basic.png +0 -0
  82. pdflinkcheck/data/themes/forest/forest-dark/thumb-vert-hover.png +0 -0
  83. pdflinkcheck/data/themes/forest/forest-dark/tree-basic.png +0 -0
  84. pdflinkcheck/data/themes/forest/forest-dark/tree-pressed.png +0 -0
  85. pdflinkcheck/data/themes/forest/forest-dark/up.png +0 -0
  86. pdflinkcheck/data/themes/forest/forest-dark/vert-accent.png +0 -0
  87. pdflinkcheck/data/themes/forest/forest-dark/vert-basic.png +0 -0
  88. pdflinkcheck/data/themes/forest/forest-dark/vert-hover.png +0 -0
  89. pdflinkcheck/data/themes/forest/forest-dark.tcl +536 -0
  90. pdflinkcheck/data/themes/forest/forest-light/border-accent-hover.png +0 -0
  91. pdflinkcheck/data/themes/forest/forest-light/border-accent.png +0 -0
  92. pdflinkcheck/data/themes/forest/forest-light/border-basic.png +0 -0
  93. pdflinkcheck/data/themes/forest/forest-light/border-hover.png +0 -0
  94. pdflinkcheck/data/themes/forest/forest-light/border-invalid.png +0 -0
  95. pdflinkcheck/data/themes/forest/forest-light/card.png +0 -0
  96. pdflinkcheck/data/themes/forest/forest-light/check-accent.png +0 -0
  97. pdflinkcheck/data/themes/forest/forest-light/check-basic.png +0 -0
  98. pdflinkcheck/data/themes/forest/forest-light/check-hover.png +0 -0
  99. pdflinkcheck/data/themes/forest/forest-light/check-tri-accent.png +0 -0
  100. pdflinkcheck/data/themes/forest/forest-light/check-tri-basic.png +0 -0
  101. pdflinkcheck/data/themes/forest/forest-light/check-tri-hover.png +0 -0
  102. pdflinkcheck/data/themes/forest/forest-light/check-unsel-accent.png +0 -0
  103. pdflinkcheck/data/themes/forest/forest-light/check-unsel-basic.png +0 -0
  104. pdflinkcheck/data/themes/forest/forest-light/check-unsel-hover.png +0 -0
  105. pdflinkcheck/data/themes/forest/forest-light/check-unsel-pressed.png +0 -0
  106. pdflinkcheck/data/themes/forest/forest-light/combo-button-basic.png +0 -0
  107. pdflinkcheck/data/themes/forest/forest-light/combo-button-focus.png +0 -0
  108. pdflinkcheck/data/themes/forest/forest-light/combo-button-hover.png +0 -0
  109. pdflinkcheck/data/themes/forest/forest-light/down-focus.png +0 -0
  110. pdflinkcheck/data/themes/forest/forest-light/down.png +0 -0
  111. pdflinkcheck/data/themes/forest/forest-light/empty.png +0 -0
  112. pdflinkcheck/data/themes/forest/forest-light/hor-accent.png +0 -0
  113. pdflinkcheck/data/themes/forest/forest-light/hor-basic.png +0 -0
  114. pdflinkcheck/data/themes/forest/forest-light/hor-hover.png +0 -0
  115. pdflinkcheck/data/themes/forest/forest-light/notebook.png +0 -0
  116. pdflinkcheck/data/themes/forest/forest-light/off-accent.png +0 -0
  117. pdflinkcheck/data/themes/forest/forest-light/off-basic.png +0 -0
  118. pdflinkcheck/data/themes/forest/forest-light/off-hover.png +0 -0
  119. pdflinkcheck/data/themes/forest/forest-light/on-accent.png +0 -0
  120. pdflinkcheck/data/themes/forest/forest-light/on-basic.png +0 -0
  121. pdflinkcheck/data/themes/forest/forest-light/on-hover.png +0 -0
  122. pdflinkcheck/data/themes/forest/forest-light/radio-accent.png +0 -0
  123. pdflinkcheck/data/themes/forest/forest-light/radio-basic.png +0 -0
  124. pdflinkcheck/data/themes/forest/forest-light/radio-hover.png +0 -0
  125. pdflinkcheck/data/themes/forest/forest-light/radio-tri-accent.png +0 -0
  126. pdflinkcheck/data/themes/forest/forest-light/radio-tri-basic.png +0 -0
  127. pdflinkcheck/data/themes/forest/forest-light/radio-tri-hover.png +0 -0
  128. pdflinkcheck/data/themes/forest/forest-light/radio-unsel-accent.png +0 -0
  129. pdflinkcheck/data/themes/forest/forest-light/radio-unsel-basic.png +0 -0
  130. pdflinkcheck/data/themes/forest/forest-light/radio-unsel-hover.png +0 -0
  131. pdflinkcheck/data/themes/forest/forest-light/radio-unsel-pressed.png +0 -0
  132. pdflinkcheck/data/themes/forest/forest-light/rect-accent-hover.png +0 -0
  133. pdflinkcheck/data/themes/forest/forest-light/rect-accent.png +0 -0
  134. pdflinkcheck/data/themes/forest/forest-light/rect-basic.png +0 -0
  135. pdflinkcheck/data/themes/forest/forest-light/rect-hover.png +0 -0
  136. pdflinkcheck/data/themes/forest/forest-light/right-focus.png +0 -0
  137. pdflinkcheck/data/themes/forest/forest-light/right.png +0 -0
  138. pdflinkcheck/data/themes/forest/forest-light/scale-hor.png +0 -0
  139. pdflinkcheck/data/themes/forest/forest-light/scale-vert.png +0 -0
  140. pdflinkcheck/data/themes/forest/forest-light/separator.png +0 -0
  141. pdflinkcheck/data/themes/forest/forest-light/sizegrip.png +0 -0
  142. pdflinkcheck/data/themes/forest/forest-light/spin-button-down-basic.png +0 -0
  143. pdflinkcheck/data/themes/forest/forest-light/spin-button-down-focus.png +0 -0
  144. pdflinkcheck/data/themes/forest/forest-light/spin-button-up.png +0 -0
  145. pdflinkcheck/data/themes/forest/forest-light/tab-accent.png +0 -0
  146. pdflinkcheck/data/themes/forest/forest-light/tab-basic.png +0 -0
  147. pdflinkcheck/data/themes/forest/forest-light/tab-hover.png +0 -0
  148. pdflinkcheck/data/themes/forest/forest-light/thumb-hor-accent.png +0 -0
  149. pdflinkcheck/data/themes/forest/forest-light/thumb-hor-basic.png +0 -0
  150. pdflinkcheck/data/themes/forest/forest-light/thumb-hor-hover.png +0 -0
  151. pdflinkcheck/data/themes/forest/forest-light/thumb-vert-accent.png +0 -0
  152. pdflinkcheck/data/themes/forest/forest-light/thumb-vert-basic.png +0 -0
  153. pdflinkcheck/data/themes/forest/forest-light/thumb-vert-hover.png +0 -0
  154. pdflinkcheck/data/themes/forest/forest-light/tree-basic.png +0 -0
  155. pdflinkcheck/data/themes/forest/forest-light/tree-pressed.png +0 -0
  156. pdflinkcheck/data/themes/forest/forest-light/up.png +0 -0
  157. pdflinkcheck/data/themes/forest/forest-light/vert-accent.png +0 -0
  158. pdflinkcheck/data/themes/forest/forest-light/vert-basic.png +0 -0
  159. pdflinkcheck/data/themes/forest/forest-light/vert-hover.png +0 -0
  160. pdflinkcheck/data/themes/forest/forest-light.tcl +544 -0
  161. pdflinkcheck/datacopy.py +18 -1
  162. pdflinkcheck/dev.py +12 -25
  163. pdflinkcheck/environment.py +76 -0
  164. pdflinkcheck/gui.py +366 -457
  165. pdflinkcheck/helpers.py +88 -0
  166. pdflinkcheck/io.py +27 -23
  167. pdflinkcheck/report.py +692 -121
  168. pdflinkcheck/security.py +189 -0
  169. pdflinkcheck/splash.py +38 -0
  170. pdflinkcheck/stdlib_server.py +14 -20
  171. pdflinkcheck/stdlib_server_alt.py +571 -0
  172. pdflinkcheck/tk_utils.py +188 -0
  173. pdflinkcheck/update_msix_version.py +49 -0
  174. pdflinkcheck/validate.py +129 -218
  175. pdflinkcheck/version_info.py +6 -3
  176. {pdflinkcheck-1.1.73.dist-info → pdflinkcheck-1.2.29.dist-info}/METADATA +84 -81
  177. pdflinkcheck-1.2.29.dist-info/RECORD +183 -0
  178. pdflinkcheck-1.2.29.dist-info/WHEEL +5 -0
  179. {pdflinkcheck-1.1.73.dist-info → pdflinkcheck-1.2.29.dist-info}/entry_points.txt +0 -1
  180. pdflinkcheck-1.2.29.dist-info/licenses/LICENSE +27 -0
  181. pdflinkcheck-1.2.29.dist-info/licenses/LICENSE-MIT +9 -0
  182. pdflinkcheck-1.2.29.dist-info/top_level.txt +1 -0
  183. pdflinkcheck/analyze_pypdf_v2.py +0 -218
  184. pdflinkcheck-1.1.73.dist-info/RECORD +0 -21
  185. pdflinkcheck-1.1.73.dist-info/WHEEL +0 -4
  186. /pdflinkcheck-1.1.73.dist-info/licenses/LICENSE → /pdflinkcheck-1.2.29.dist-info/licenses/LICENSE-AGPL3 +0 -0
@@ -0,0 +1,536 @@
1
+ # Copyright (c) 2021 rdbende <rdbende@gmail.com>
2
+
3
+ # The Forest theme is a beautiful and modern ttk theme inspired by Excel.
4
+
5
+ # Repository: https://github.com/rdbende/Forest-ttk-theme/
6
+
7
+ package require Tk 8.6
8
+
9
+ namespace eval ttk::theme::forest-dark {
10
+
11
+ variable version 1.0
12
+ package provide ttk::theme::forest-dark $version
13
+ variable colors
14
+ array set colors {
15
+ -fg "#eeeeee"
16
+ -bg "#313131"
17
+ -disabledfg "#595959"
18
+ -disabledbg "#ffffff"
19
+ -selectfg "#ffffff"
20
+ -selectbg "#217346"
21
+ }
22
+
23
+ proc LoadImages {imgdir} {
24
+ variable I
25
+ foreach file [glob -directory $imgdir *.png] {
26
+ set img [file tail [file rootname $file]]
27
+ set I($img) [image create photo -file $file -format png]
28
+ }
29
+ }
30
+
31
+ LoadImages [file join [file dirname [info script]] forest-dark]
32
+
33
+ # Settings
34
+ ttk::style theme create forest-dark -parent default -settings {
35
+ ttk::style configure . \
36
+ -background $colors(-bg) \
37
+ -foreground $colors(-fg) \
38
+ -troughcolor $colors(-bg) \
39
+ -focuscolor $colors(-selectbg) \
40
+ -selectbackground $colors(-selectbg) \
41
+ -selectforeground $colors(-selectfg) \
42
+ -insertwidth 1 \
43
+ -insertcolor $colors(-fg) \
44
+ -fieldbackground $colors(-selectbg) \
45
+ -font {TkDefaultFont 10} \
46
+ -borderwidth 1 \
47
+ -relief flat
48
+
49
+ ttk::style map . -foreground [list disabled $colors(-disabledfg)]
50
+
51
+ tk_setPalette background [ttk::style lookup . -background] \
52
+ foreground [ttk::style lookup . -foreground] \
53
+ highlightColor [ttk::style lookup . -focuscolor] \
54
+ selectBackground [ttk::style lookup . -selectbackground] \
55
+ selectForeground [ttk::style lookup . -selectforeground] \
56
+ activeBackground [ttk::style lookup . -selectbackground] \
57
+ activeForeground [ttk::style lookup . -selectforeground]
58
+
59
+ option add *font [ttk::style lookup . -font]
60
+
61
+
62
+ # Layouts
63
+ ttk::style layout TButton {
64
+ Button.button -children {
65
+ Button.padding -children {
66
+ Button.label -side left -expand true
67
+ }
68
+ }
69
+ }
70
+
71
+ ttk::style layout Toolbutton {
72
+ Toolbutton.button -children {
73
+ Toolbutton.padding -children {
74
+ Toolbutton.label -side left -expand true
75
+ }
76
+ }
77
+ }
78
+
79
+ ttk::style layout TMenubutton {
80
+ Menubutton.button -children {
81
+ Menubutton.padding -children {
82
+ Menubutton.indicator -side right
83
+ Menubutton.label -side right -expand true
84
+ }
85
+ }
86
+ }
87
+
88
+ ttk::style layout TOptionMenu {
89
+ OptionMenu.button -children {
90
+ OptionMenu.padding -children {
91
+ OptionMenu.indicator -side right
92
+ OptionMenu.label -side right -expand true
93
+ }
94
+ }
95
+ }
96
+
97
+ ttk::style layout Accent.TButton {
98
+ AccentButton.button -children {
99
+ AccentButton.padding -children {
100
+ AccentButton.label -side left -expand true
101
+ }
102
+ }
103
+ }
104
+
105
+ ttk::style layout TCheckbutton {
106
+ Checkbutton.button -children {
107
+ Checkbutton.padding -children {
108
+ Checkbutton.indicator -side left
109
+ Checkbutton.label -side right -expand true
110
+ }
111
+ }
112
+ }
113
+
114
+ ttk::style layout Switch {
115
+ Switch.button -children {
116
+ Switch.padding -children {
117
+ Switch.indicator -side left
118
+ Switch.label -side right -expand true
119
+ }
120
+ }
121
+ }
122
+
123
+ ttk::style layout ToggleButton {
124
+ ToggleButton.button -children {
125
+ ToggleButton.padding -children {
126
+ ToggleButton.label -side left -expand true
127
+ }
128
+ }
129
+ }
130
+
131
+ ttk::style layout TRadiobutton {
132
+ Radiobutton.button -children {
133
+ Radiobutton.padding -children {
134
+ Radiobutton.indicator -side left
135
+ Radiobutton.label -side right -expand true
136
+ }
137
+ }
138
+ }
139
+
140
+ ttk::style layout Vertical.TScrollbar {
141
+ Vertical.Scrollbar.trough -sticky ns -children {
142
+ Vertical.Scrollbar.thumb -expand true
143
+ }
144
+ }
145
+
146
+ ttk::style layout Horizontal.TScrollbar {
147
+ Horizontal.Scrollbar.trough -sticky ew -children {
148
+ Horizontal.Scrollbar.thumb -expand true
149
+ }
150
+ }
151
+
152
+ ttk::style layout TCombobox {
153
+ Combobox.field -sticky nswe -children {
154
+ Combobox.padding -expand true -sticky nswe -children {
155
+ Combobox.textarea -sticky nswe
156
+ }
157
+ }
158
+ Combobox.button -side right -sticky ns -children {
159
+ Combobox.arrow -sticky nsew
160
+ }
161
+ }
162
+
163
+ ttk::style layout TSpinbox {
164
+ Spinbox.field -sticky nsew -children {
165
+ Spinbox.padding -expand true -sticky nswe -children {
166
+ Spinbox.textarea -sticky nsew
167
+ }
168
+
169
+ }
170
+ null -side right -sticky nsew -children {
171
+ Spinbox.uparrow -side right -sticky nsew -children {
172
+ Spinbox.symuparrow
173
+ }
174
+ Spinbox.downarrow -side left -sticky nsew -children {
175
+ Spinbox.symdownarrow
176
+ }
177
+ }
178
+ }
179
+
180
+ ttk::style layout Horizontal.TSeparator {
181
+ Horizontal.separator -sticky nswe
182
+ }
183
+
184
+ ttk::style layout Vertical.TSeparator {
185
+ Vertical.separator -sticky nswe
186
+ }
187
+
188
+ ttk::style layout Card {
189
+ Card.field {
190
+ Card.padding -expand 1
191
+ }
192
+ }
193
+
194
+ ttk::style layout TLabelframe {
195
+ Labelframe.border {
196
+ Labelframe.padding -expand 1 -children {
197
+ Labelframe.label -side left
198
+ }
199
+ }
200
+ }
201
+
202
+ ttk::style layout TNotebook {
203
+ Notebook.border -children {
204
+ TNotebook.Tab -expand 1 -side top
205
+ Notebook.client -sticky nsew
206
+ }
207
+ }
208
+
209
+ ttk::style layout TNotebook.Tab {
210
+ Notebook.tab -children {
211
+ Notebook.padding -side top -children {
212
+ Notebook.label
213
+ }
214
+ }
215
+ }
216
+
217
+ ttk::style layout Treeview.Item {
218
+ Treeitem.padding -sticky nswe -children {
219
+ Treeitem.indicator -side left -sticky {}
220
+ Treeitem.image -side left -sticky {}
221
+ Treeitem.text -side left -sticky {}
222
+ }
223
+ }
224
+
225
+
226
+ # Elements
227
+
228
+ # Button
229
+ ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
230
+
231
+ ttk::style element create Button.button image \
232
+ [list $I(rect-basic) \
233
+ {selected disabled} $I(rect-basic) \
234
+ disabled $I(rect-basic) \
235
+ selected $I(rect-basic) \
236
+ pressed $I(rect-basic) \
237
+ active $I(rect-hover) \
238
+ ] -border 4 -sticky nsew
239
+
240
+ # Toolbutton
241
+ ttk::style configure Toolbutton -padding {8 4 8 4} -width -10 -anchor center
242
+
243
+ ttk::style element create Toolbutton.button image \
244
+ [list $I(empty) \
245
+ {selected disabled} $I(empty) \
246
+ disabled $I(empty) \
247
+ selected $I(rect-basic) \
248
+ pressed $I(rect-basic) \
249
+ active $I(rect-basic) \
250
+ ] -border 4 -sticky nsew
251
+
252
+ # Menubutton
253
+ ttk::style configure TMenubutton -padding {8 4 4 4}
254
+
255
+ ttk::style element create Menubutton.button image \
256
+ [list $I(rect-basic) \
257
+ disabled $I(rect-basic) \
258
+ pressed $I(rect-basic) \
259
+ active $I(rect-hover) \
260
+ ] -border 4 -sticky nsew
261
+
262
+ ttk::style element create Menubutton.indicator image \
263
+ [list $I(down) \
264
+ active $I(down) \
265
+ pressed $I(down) \
266
+ disabled $I(down) \
267
+ ] -width 15 -sticky e
268
+
269
+ # OptionMenu
270
+ ttk::style configure TOptionMenu -padding {8 4 4 4}
271
+
272
+ ttk::style element create OptionMenu.button image \
273
+ [list $I(rect-basic) \
274
+ disabled $I(rect-basic) \
275
+ pressed $I(rect-basic) \
276
+ active $I(rect-hover) \
277
+ ] -border 4 -sticky nsew
278
+
279
+ ttk::style element create OptionMenu.indicator image \
280
+ [list $I(down) \
281
+ active $I(down) \
282
+ pressed $I(down) \
283
+ disabled $I(down) \
284
+ ] -width 15 -sticky e
285
+
286
+ # AccentButton
287
+ ttk::style configure Accent.TButton -padding {8 4 8 4} -width -10 -anchor center -foreground #eeeeee
288
+
289
+ ttk::style element create AccentButton.button image \
290
+ [list $I(rect-accent) \
291
+ {selected disabled} $I(rect-accent-hover) \
292
+ disabled $I(rect-accent-hover) \
293
+ selected $I(rect-accent) \
294
+ pressed $I(rect-accent) \
295
+ active $I(rect-accent-hover) \
296
+ ] -border 4 -sticky nsew
297
+
298
+ # Checkbutton
299
+ ttk::style configure TCheckbutton -padding 4
300
+
301
+ ttk::style element create Checkbutton.indicator image \
302
+ [list $I(check-unsel-accent) \
303
+ {alternate disabled} $I(check-tri-basic) \
304
+ {selected disabled} $I(check-basic) \
305
+ disabled $I(check-unsel-basic) \
306
+ {pressed alternate} $I(check-tri-hover) \
307
+ {active alternate} $I(check-tri-hover) \
308
+ alternate $I(check-tri-accent) \
309
+ {pressed selected} $I(check-hover) \
310
+ {active selected} $I(check-hover) \
311
+ selected $I(check-accent) \
312
+ {pressed !selected} $I(check-unsel-pressed) \
313
+ active $I(check-unsel-hover) \
314
+ ] -width 26 -sticky w
315
+
316
+ # Switch
317
+ ttk::style element create Switch.indicator image \
318
+ [list $I(off-accent) \
319
+ {selected disabled} $I(on-basic) \
320
+ disabled $I(off-basic) \
321
+ {pressed selected} $I(on-accent) \
322
+ {active selected} $I(on-hover) \
323
+ selected $I(on-accent) \
324
+ {pressed !selected} $I(off-accent) \
325
+ active $I(off-hover) \
326
+ ] -width 46 -sticky w
327
+
328
+ # ToggleButton
329
+ ttk::style configure ToggleButton -padding {8 4 8 4} -width -10 -anchor center
330
+
331
+ ttk::style element create ToggleButton.button image \
332
+ [list $I(rect-basic) \
333
+ {selected disabled} $I(rect-accent-hover) \
334
+ disabled $I(rect-basic) \
335
+ {pressed selected} $I(rect-basic) \
336
+ {active selected} $I(rect-accent-hover) \
337
+ selected $I(rect-accent) \
338
+ {pressed !selected} $I(rect-accent) \
339
+ active $I(rect-hover) \
340
+ ] -border 4 -sticky nsew
341
+
342
+ # Radiobutton
343
+ ttk::style configure TRadiobutton -padding 4
344
+
345
+ ttk::style element create Radiobutton.indicator image \
346
+ [list $I(radio-unsel-accent) \
347
+ {alternate disabled} $I(radio-tri-basic) \
348
+ {selected disabled} $I(radio-basic) \
349
+ disabled $I(radio-unsel-basic) \
350
+ {pressed alternate} $I(radio-tri-hover) \
351
+ {active alternate} $I(radio-tri-hover) \
352
+ alternate $I(radio-tri-accent) \
353
+ {pressed selected} $I(radio-hover) \
354
+ {active selected} $I(radio-hover) \
355
+ selected $I(radio-accent) \
356
+ {pressed !selected} $I(radio-unsel-pressed) \
357
+ active $I(radio-unsel-hover) \
358
+ ] -width 26 -sticky w
359
+
360
+ # Scrollbar
361
+ ttk::style element create Horizontal.Scrollbar.trough image $I(hor-basic) \
362
+ -sticky ew
363
+
364
+ ttk::style element create Horizontal.Scrollbar.thumb image \
365
+ [list $I(hor-accent) \
366
+ disabled $I(hor-basic) \
367
+ pressed $I(hor-hover) \
368
+ active $I(hor-hover) \
369
+ ] -sticky ew
370
+
371
+ ttk::style element create Vertical.Scrollbar.trough image $I(vert-basic) \
372
+ -sticky ns
373
+
374
+ ttk::style element create Vertical.Scrollbar.thumb image \
375
+ [list $I(vert-accent) \
376
+ disabled $I(vert-basic) \
377
+ pressed $I(vert-hover) \
378
+ active $I(vert-hover) \
379
+ ] -sticky ns
380
+
381
+ # Scale
382
+ ttk::style element create Horizontal.Scale.trough image $I(scale-hor) \
383
+ -border 5 -padding 0
384
+
385
+ ttk::style element create Horizontal.Scale.slider image \
386
+ [list $I(thumb-hor-accent) \
387
+ disabled $I(thumb-hor-basic) \
388
+ pressed $I(thumb-hor-hover) \
389
+ active $I(thumb-hor-hover) \
390
+ ] -sticky {}
391
+
392
+ ttk::style element create Vertical.Scale.trough image $I(scale-vert) \
393
+ -border 5 -padding 0
394
+
395
+ ttk::style element create Vertical.Scale.slider image \
396
+ [list $I(thumb-vert-accent) \
397
+ disabled $I(thumb-vert-basic) \
398
+ pressed $I(thumb-vert-hover) \
399
+ active $I(thumb-vert-hover) \
400
+ ] -sticky {}
401
+
402
+ # Progressbar
403
+ ttk::style element create Horizontal.Progressbar.trough image $I(hor-basic) \
404
+ -sticky ew
405
+
406
+ ttk::style element create Horizontal.Progressbar.pbar image $I(hor-accent) \
407
+ -sticky ew
408
+
409
+ ttk::style element create Vertical.Progressbar.trough image $I(vert-basic) \
410
+ -sticky ns
411
+
412
+ ttk::style element create Vertical.Progressbar.pbar image $I(vert-accent) \
413
+ -sticky ns
414
+
415
+ # Entry
416
+ ttk::style element create Entry.field image \
417
+ [list $I(border-basic) \
418
+ {focus hover} $I(border-accent) \
419
+ invalid $I(border-invalid) \
420
+ disabled $I(border-basic) \
421
+ focus $I(border-accent) \
422
+ hover $I(border-hover) \
423
+ ] -border 5 -padding {8} -sticky nsew
424
+
425
+ # Combobox
426
+ ttk::style map TCombobox -selectbackground [list \
427
+ {!focus} $colors(-selectbg) \
428
+ {readonly hover} $colors(-selectbg) \
429
+ {readonly focus} $colors(-selectbg) \
430
+ ]
431
+
432
+ ttk::style map TCombobox -selectforeground [list \
433
+ {!focus} $colors(-selectfg) \
434
+ {readonly hover} $colors(-selectfg) \
435
+ {readonly focus} $colors(-selectfg) \
436
+ ]
437
+
438
+ ttk::style element create Combobox.field image \
439
+ [list $I(border-basic) \
440
+ {readonly disabled} $I(rect-basic) \
441
+ {readonly pressed} $I(rect-basic) \
442
+ {readonly focus hover} $I(rect-hover) \
443
+ {readonly focus} $I(rect-hover) \
444
+ {readonly hover} $I(rect-hover) \
445
+ {focus hover} $I(border-accent) \
446
+ readonly $I(rect-basic) \
447
+ invalid $I(border-invalid) \
448
+ disabled $I(border-basic) \
449
+ focus $I(border-accent) \
450
+ hover $I(border-hover) \
451
+ ] -border 5 -padding {8 8 28 8}
452
+
453
+ ttk::style element create Combobox.button image \
454
+ [list $I(combo-button-basic) \
455
+ {!readonly focus} $I(combo-button-focus) \
456
+ {readonly focus} $I(combo-button-hover) \
457
+ {readonly hover} $I(combo-button-hover)
458
+ ] -border 5 -padding {2 6 6 6}
459
+
460
+ ttk::style element create Combobox.arrow image $I(down) -width 15 -sticky e
461
+
462
+ # Spinbox
463
+ ttk::style element create Spinbox.field image \
464
+ [list $I(border-basic) \
465
+ invalid $I(border-invalid) \
466
+ disabled $I(border-basic) \
467
+ focus $I(border-accent) \
468
+ hover $I(border-hover) \
469
+ ] -border 5 -padding {8 8 54 8} -sticky nsew
470
+
471
+ ttk::style element create Spinbox.uparrow image $I(spin-button-up) -border 4 -sticky nsew
472
+
473
+ ttk::style element create Spinbox.downarrow image \
474
+ [list $I(spin-button-down-basic) \
475
+ focus $I(spin-button-down-focus) \
476
+ ] -border 4 -sticky nsew
477
+
478
+ ttk::style element create Spinbox.symuparrow image $I(up) -width 15 -sticky {}
479
+ ttk::style element create Spinbox.symdownarrow image $I(down) -width 17 -sticky {}
480
+
481
+ # Sizegrip
482
+ ttk::style element create Sizegrip.sizegrip image $I(sizegrip) \
483
+ -sticky nsew
484
+
485
+ # Separator
486
+ ttk::style element create Horizontal.separator image $I(separator)
487
+
488
+ ttk::style element create Vertical.separator image $I(separator)
489
+
490
+ # Card
491
+ ttk::style element create Card.field image $I(card) \
492
+ -border 10 -padding 4 -sticky nsew
493
+
494
+ # Labelframe
495
+ ttk::style element create Labelframe.border image $I(card) \
496
+ -border 5 -padding 4 -sticky nsew
497
+
498
+ # Notebook
499
+ ttk::style configure TNotebook -padding 2
500
+
501
+ ttk::style element create Notebook.border image $I(card) -border 5
502
+
503
+ ttk::style element create Notebook.client image $I(notebook) -border 5
504
+
505
+ ttk::style element create Notebook.tab image \
506
+ [list $I(tab-basic) \
507
+ selected $I(tab-accent) \
508
+ active $I(tab-hover) \
509
+ ] -border 5 -padding {14 4}
510
+
511
+ # Treeview
512
+ ttk::style element create Treeview.field image $I(card) \
513
+ -border 5
514
+
515
+ ttk::style element create Treeheading.cell image \
516
+ [list $I(tree-basic) \
517
+ pressed $I(tree-pressed)
518
+ ] -border 5 -padding 6 -sticky nsew
519
+
520
+ ttk::style element create Treeitem.indicator image \
521
+ [list $I(right) \
522
+ user2 $I(empty) \
523
+ user1 $I(down) \
524
+ ] -width 17 -sticky {}
525
+
526
+ ttk::style configure Treeview -background $colors(-bg)
527
+ ttk::style configure Treeview.Item -padding {2 0 0 0}
528
+
529
+ ttk::style map Treeview \
530
+ -background [list selected $colors(-selectbg)] \
531
+ -foreground [list selected $colors(-selectfg)]
532
+
533
+ # Sashes
534
+ #ttk::style map TPanedwindow -background [list hover $colors(-bg)]
535
+ }
536
+ }