diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index ce3f41f..e671b91 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,15 +4,10 @@
-
-
-
+
-
-
-
@@ -54,13 +49,14 @@
"Python.main.executor": "Run",
"Python.messagebox.executor": "Run",
"Python.start_wg.executor": "Run",
+ "Python.testtheme.executor": "Run",
"Python.wg_func.executor": "Run",
"Python.wg_main.executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true",
"Shell Script.install.executor": "Run",
"git-widget-placeholder": "main",
"last_opened_file_path": "/home/punix/Pyapps/wire-py",
- "settings.editor.selected.configurable": "preferences.lookFeel"
+ "settings.editor.selected.configurable": "configurable.group.editor"
}
}
@@ -68,6 +64,8 @@
+
+
@@ -139,30 +137,6 @@
1723279982210
-
-
- 1724237471056
-
-
-
- 1724237471056
-
-
-
- 1724272761629
-
-
-
- 1724272761629
-
-
-
- 1724371229008
-
-
-
- 1724371229008
-
1724400463791
@@ -531,7 +505,31 @@
1728059870005
-
+
+
+ 1729103964804
+
+
+
+ 1729103964804
+
+
+
+ 1729283656386
+
+
+
+ 1729283656387
+
+
+
+ 1729283719951
+
+
+
+ 1729283719951
+
+
@@ -572,8 +570,6 @@
-
-
@@ -597,6 +593,19 @@
-
+
+
+
+
+
+
+
+
+ file://$PROJECT_DIR$/wg_main.py
+ 185
+
+
+
+
\ No newline at end of file
diff --git a/Changelog b/Changelog
index 3cf77ea..884b39a 100644
--- a/Changelog
+++ b/Changelog
@@ -11,6 +11,18 @@ My standard System: Linux Mint 22 Cinnamon
- for loops with lists replaced by List Comprehensions
- Keeping Classes Together
+ ### Added
+19-10-2024
+
+ - Add Options, Help, Update Label and Update Menubutton
+ - Theme now separate Light and Dark
+
+ ### Added
+16-10-2024
+
+ - Menu add
+ - New Modern Dark and Light(default) Theme
+
### Added
12-10-2024
diff --git a/TK-Themes/LICENSE b/TK-Themes/LICENSE
new file mode 100644
index 0000000..0212030
--- /dev/null
+++ b/TK-Themes/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 rdbende
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/TK-Themes/theme/dark.tcl b/TK-Themes/theme/dark.tcl
new file mode 100644
index 0000000..2ad09db
--- /dev/null
+++ b/TK-Themes/theme/dark.tcl
@@ -0,0 +1,539 @@
+# Copyright (c) 2021 rdbende
+
+# inspired by rdbende modified azure to water by Désire Werner Menrath polunga40@unity-mail.de 2024
+
+package require Tk 8.6
+
+namespace eval ttk::theme::water-dark {
+ variable version 2.0
+ package provide ttk::theme::water-dark $version
+
+ ttk::style theme create water-dark -parent clam -settings {
+ proc load_images {imgdir} {
+ variable I
+ foreach file [glob -directory $imgdir *.png] {
+ set img [file tail [file rootname $file]]
+ set I($img) [image create photo -file $file -format png]
+ }
+ }
+
+ load_images [file join [file dirname [info script]] dark]
+
+ array set colors {
+ -fg "#ffffff"
+ -bg "#333333"
+ -disabledfg "#aaaaaa"
+ -disabledbg "#737373"
+ -selectfg "#ffffff"
+ -selectbg "#007fff"
+ }
+
+ ttk::style layout TButton {
+ Button.button -children {
+ Button.padding -children {
+ Button.label -side left -expand true
+ }
+ }
+ }
+
+ ttk::style layout Toolbutton {
+ Toolbutton.button -children {
+ Toolbutton.padding -children {
+ Toolbutton.label -side left -expand true
+ }
+ }
+ }
+
+ ttk::style layout TMenubutton {
+ Menubutton.button -children {
+ Menubutton.padding -children {
+ Menubutton.indicator -side right
+ Menubutton.label -side right -expand true
+ }
+ }
+ }
+
+ ttk::style layout TOptionMenu {
+ OptionMenu.button -children {
+ OptionMenu.padding -children {
+ OptionMenu.indicator -side right
+ OptionMenu.label -side right -expand true
+ }
+ }
+ }
+
+ ttk::style layout Accent.TButton {
+ AccentButton.button -children {
+ AccentButton.padding -children {
+ AccentButton.label -side left -expand true
+ }
+ }
+ }
+
+ ttk::style layout TCheckbutton {
+ Checkbutton.button -children {
+ Checkbutton.padding -children {
+ Checkbutton.indicator -side left
+ Checkbutton.label -side right -expand true
+ }
+ }
+ }
+
+ ttk::style layout Switch.TCheckbutton {
+ Switch.button -children {
+ Switch.padding -children {
+ Switch.indicator -side left
+ Switch.label -side right -expand true
+ }
+ }
+ }
+
+ ttk::style layout Toggle.TButton {
+ ToggleButton.button -children {
+ ToggleButton.padding -children {
+ ToggleButton.label -side left -expand true
+ }
+ }
+ }
+
+ ttk::style layout TRadiobutton {
+ Radiobutton.button -children {
+ Radiobutton.padding -children {
+ Radiobutton.indicator -side left
+ Radiobutton.label -side right -expand true
+ }
+ }
+ }
+
+ ttk::style layout Vertical.TScrollbar {
+ Vertical.Scrollbar.trough -sticky ns -children {
+ Vertical.Scrollbar.thumb -expand true
+ }
+ }
+
+ ttk::style layout Horizontal.TScrollbar {
+ Horizontal.Scrollbar.trough -sticky ew -children {
+ Horizontal.Scrollbar.thumb -expand true
+ }
+ }
+
+ ttk::style layout TCombobox {
+ Combobox.field -sticky nswe -children {
+ Combobox.padding -expand true -sticky nswe -children {
+ Combobox.textarea -sticky nswe
+ }
+ }
+ Combobox.button -side right -sticky ns -children {
+ Combobox.arrow -sticky nsew
+ }
+ }
+
+ ttk::style layout TSpinbox {
+ Spinbox.field -sticky nsew -children {
+ Spinbox.padding -expand true -sticky nswe -children {
+ Spinbox.textarea -sticky nswe
+ }
+
+ }
+ Spinbox.button -side right -sticky ns -children {
+ null -side right -children {
+ Spinbox.uparrow -side top
+ Spinbox.downarrow -side bottom
+ }
+ }
+ }
+
+ ttk::style layout Horizontal.TSeparator {
+ Horizontal.separator -sticky nswe
+ }
+
+ ttk::style layout Vertical.TSeparator {
+ Vertical.separator -sticky nswe
+ }
+
+ ttk::style layout Horizontal.Tick.TScale {
+ Horizontal.TickScale.trough -sticky ew -children {
+ Horizontal.TickScale.slider -sticky w
+ }
+ }
+
+ ttk::style layout Vertical.Tick.TScale {
+ Vertical.TickScale.trough -sticky ns -children {
+ Vertical.TickScale.slider -sticky n
+ }
+ }
+
+ ttk::style layout Card.TFrame {
+ Card.field {
+ Card.padding -expand 1
+ }
+ }
+
+ ttk::style layout TLabelframe {
+ Labelframe.border {
+ Labelframe.padding -expand 1 -children {
+ Labelframe.label -side right
+ }
+ }
+ }
+
+ ttk::style layout TNotebook.Tab {
+ Notebook.tab -children {
+ Notebook.padding -side top -children {
+ Notebook.label -side top -sticky {}
+ }
+ }
+ }
+
+ ttk::style layout Treeview.Item {
+ Treeitem.padding -sticky nswe -children {
+ Treeitem.indicator -side left -sticky {}
+ Treeitem.image -side left -sticky {}
+ Treeitem.text -side left -sticky {}
+ }
+ }
+
+
+ # Elements
+
+ # Button
+ ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
+
+ ttk::style element create Button.button image \
+ [list $I(box-basic) \
+ {selected disabled} $I(box-basic) \
+ disabled $I(box-basic) \
+ pressed $I(box-basic) \
+ selected $I(box-basic) \
+ active $I(button-hover) \
+ focus $I(button-hover) \
+ ] -border 4 -sticky ewns
+
+ # Toolbutton
+ ttk::style configure Toolbutton -padding {8 4 8 4} -width -5 -anchor center
+
+ ttk::style element create Toolbutton.button image \
+ [list $I(empty) \
+ {selected disabled} $I(empty) \
+ disabled $I(empty) \
+ pressed $I(rect-basic) \
+ selected $I(rect-basic) \
+ active $I(rect-basic) \
+ ] -border 4 -sticky ewns
+
+ # Menubutton
+ ttk::style configure TMenubutton -padding {8 4 4 4}
+
+ ttk::style element create Menubutton.button \
+ image [list $I(rect-basic) \
+ disabled $I(rect-basic) \
+ pressed $I(rect-basic) \
+ active $I(button-hover) \
+ ] -border 4 -sticky ewns
+
+ ttk::style element create Menubutton.indicator \
+ image [list $I(down) \
+ active $I(down) \
+ pressed $I(down) \
+ disabled $I(down) \
+ ] -width 15 -sticky e
+
+ # OptionMenu
+ ttk::style configure TOptionMenu -padding {8 4 4 4}
+
+ ttk::style element create OptionMenu.button \
+ image [list $I(rect-basic) \
+ disabled $I(rect-basic) \
+ pressed $I(rect-basic) \
+ active $I(button-hover) \
+ ] -border 4 -sticky ewns
+
+ ttk::style element create OptionMenu.indicator \
+ image [list $I(down) \
+ active $I(down) \
+ pressed $I(down) \
+ disabled $I(down) \
+ ] -width 15 -sticky e
+
+ # AccentButton
+ ttk::style configure Accent.TButton -padding {8 4 8 4} -width -10 -anchor center
+
+ ttk::style element create AccentButton.button image \
+ [list $I(rect-accent) \
+ {selected disabled} $I(rect-accent-hover) \
+ disabled $I(rect-accent-hover) \
+ pressed $I(rect-accent) \
+ selected $I(rect-accent) \
+ active $I(rect-accent-hover) \
+ focus $I(rect-accent-hover) \
+ ] -border 4 -sticky ewns
+
+ # Checkbutton
+ ttk::style configure TCheckbutton -padding 4
+
+ ttk::style element create Checkbutton.indicator image \
+ [list $I(box-basic) \
+ {alternate disabled} $I(check-tri-basic) \
+ {selected disabled} $I(check-basic) \
+ disabled $I(box-basic) \
+ {pressed alternate} $I(check-tri-hover) \
+ {active alternate} $I(check-tri-hover) \
+ alternate $I(check-tri-accent) \
+ {pressed selected} $I(check-hover) \
+ {active selected} $I(check-hover) \
+ selected $I(check-accent) \
+ {pressed !selected} $I(rect-hover) \
+ active $I(box-hover) \
+ ] -width 26 -sticky w
+
+ # Switch
+ ttk::style element create Switch.indicator image \
+ [list $I(off-basic) \
+ {selected disabled} $I(on-basic) \
+ disabled $I(off-basic) \
+ {pressed selected} $I(on-accent) \
+ {active selected} $I(on-accent) \
+ selected $I(on-accent) \
+ {pressed !selected} $I(off-basic) \
+ active $I(off-basic) \
+ ] -width 46 -sticky w
+
+ # ToggleButton
+ ttk::style configure Toggle.TButton -padding {8 4 8 4} -width -10 -anchor center
+
+ ttk::style element create ToggleButton.button image \
+ [list $I(rect-basic) \
+ {selected disabled} $I(rect-accent-hover) \
+ disabled $I(rect-basic) \
+ {pressed selected} $I(rect-basic) \
+ {active selected} $I(rect-accent) \
+ selected $I(rect-accent) \
+ {pressed !selected} $I(rect-accent) \
+ active $I(rect-basic) \
+ ] -border 4 -sticky ewns
+
+ # Radiobutton
+ ttk::style configure TRadiobutton -padding 4
+
+ ttk::style element create Radiobutton.indicator image \
+ [list $I(outline-basic) \
+ {alternate disabled} $I(radio-tri-basic) \
+ {selected disabled} $I(radio-basic) \
+ disabled $I(outline-basic) \
+ {pressed alternate} $I(radio-tri-hover) \
+ {active alternate} $I(radio-tri-hover) \
+ alternate $I(radio-tri-accent) \
+ {pressed selected} $I(radio-hover) \
+ {active selected} $I(radio-hover) \
+ selected $I(radio-accent) \
+ {pressed !selected} $I(circle-hover) \
+ active $I(outline-hover) \
+ ] -width 26 -sticky w
+
+ # Scrollbar
+ ttk::style element create Horizontal.Scrollbar.trough image $I(hor-basic) \
+ -sticky ew
+
+ ttk::style element create Horizontal.Scrollbar.thumb \
+ image [list $I(hor-accent) \
+ disabled $I(hor-basic) \
+ pressed $I(hor-hover) \
+ active $I(hor-hover) \
+ ] -sticky ew
+
+ ttk::style element create Vertical.Scrollbar.trough image $I(vert-basic) \
+ -sticky ns
+
+ ttk::style element create Vertical.Scrollbar.thumb \
+ image [list $I(vert-accent) \
+ disabled $I(vert-basic) \
+ pressed $I(vert-hover) \
+ active $I(vert-hover) \
+ ] -sticky ns
+
+ # Scale
+ ttk::style element create Horizontal.Scale.trough image $I(scale-hor) \
+ -border 5 -padding 0
+
+ ttk::style element create Horizontal.Scale.slider \
+ image [list $I(circle-accent) \
+ disabled $I(circle-basic) \
+ pressed $I(circle-hover) \
+ active $I(circle-hover) \
+ ] -sticky {}
+
+ ttk::style element create Vertical.Scale.trough image $I(scale-vert) \
+ -border 5 -padding 0
+
+ ttk::style element create Vertical.Scale.slider \
+ image [list $I(circle-accent) \
+ disabled $I(circle-basic) \
+ pressed $I(circle-hover) \
+ active $I(circle-hover) \
+ ] -sticky {}
+
+ # Tickscale
+ ttk::style element create Horizontal.TickScale.trough image $I(scale-hor) \
+ -border 5 -padding 0
+
+ ttk::style element create Horizontal.TickScale.slider \
+ image [list $I(tick-hor-accent) \
+ disabled $I(tick-hor-basic) \
+ pressed $I(tick-hor-hover) \
+ active $I(tick-hor-hover) \
+ ] -sticky {}
+
+ ttk::style element create Vertical.TickScale.trough image $I(scale-vert) \
+ -border 5 -padding 0
+
+ ttk::style element create Vertical.TickScale.slider \
+ image [list $I(tick-vert-accent) \
+ disabled $I(tick-vert-basic) \
+ pressed $I(tick-vert-hover) \
+ active $I(tick-vert-hover) \
+ ] -sticky {}
+
+ # Progressbar
+ ttk::style element create Horizontal.Progressbar.trough image $I(hor-basic) \
+ -sticky ew
+
+ ttk::style element create Horizontal.Progressbar.pbar image $I(hor-accent) \
+ -sticky ew
+
+ ttk::style element create Vertical.Progressbar.trough image $I(vert-basic) \
+ -sticky ns
+
+ ttk::style element create Vertical.Progressbar.pbar image $I(vert-accent) \
+ -sticky ns
+
+ # Entry
+ ttk::style element create Entry.field \
+ image [list $I(box-basic) \
+ {focus hover} $I(box-accent) \
+ invalid $I(box-invalid) \
+ disabled $I(box-basic) \
+ focus $I(box-accent) \
+ hover $I(box-hover) \
+ ] -border 5 -padding {8} -sticky news
+
+ # Combobox
+ ttk::style map TCombobox -selectbackground [list \
+ {!focus} $colors(-selectbg) \
+ {readonly hover} $colors(-selectbg) \
+ {readonly focus} $colors(-selectbg) \
+ ]
+
+ ttk::style map TCombobox -selectforeground [list \
+ {!focus} $colors(-selectfg) \
+ {readonly hover} $colors(-selectfg) \
+ {readonly focus} $colors(-selectfg) \
+ ]
+
+ ttk::style element create Combobox.field \
+ image [list $I(box-basic) \
+ {readonly disabled} $I(rect-basic) \
+ {readonly pressed} $I(rect-basic) \
+ {readonly focus hover} $I(button-hover) \
+ {readonly focus} $I(button-hover) \
+ {readonly hover} $I(button-hover) \
+ {focus hover} $I(box-accent) \
+ readonly $I(rect-basic) \
+ invalid $I(box-invalid) \
+ disabled $I(box-basic) \
+ focus $I(box-accent) \
+ hover $I(box-hover) \
+ ] -border 5 -padding {8}
+
+ ttk::style element create Combobox.button \
+ image [list $I(combo-button-basic) \
+ {!readonly focus} $I(combo-button-focus) \
+ {readonly focus} $I(combo-button-hover) \
+ {readonly hover} $I(combo-button-hover)
+ ] -border 5 -padding {2 6 6 6}
+
+ ttk::style element create Combobox.arrow image $I(down) \
+ -width 15 -sticky e
+
+ # Spinbox
+ ttk::style element create Spinbox.field \
+ image [list $I(box-basic) \
+ invalid $I(box-invalid) \
+ disabled $I(box-basic) \
+ focus $I(box-accent) \
+ hover $I(box-hover) \
+ ] -border 5 -padding {8} -sticky news
+
+ ttk::style element create Spinbox.uparrow \
+ image [list $I(up) \
+ disabled $I(up) \
+ pressed $I(up-accent) \
+ active $I(up-accent) \
+ ] -border 4 -width 15 -sticky e
+
+ ttk::style element create Spinbox.downarrow \
+ image [list $I(down) \
+ disabled $I(down) \
+ pressed $I(down-accent) \
+ active $I(down-accent) \
+ ] -border 4 -width 15 -sticky e
+
+ ttk::style element create Spinbox.button \
+ image [list $I(combo-button-basic) \
+ {!readonly focus} $I(combo-button-focus) \
+ {readonly focus} $I(combo-button-hover) \
+ {readonly hover} $I(combo-button-hover)
+ ] -border 5 -padding {2 6 6 6}
+
+ # Sizegrip
+ ttk::style element create Sizegrip.sizegrip image $I(size) \
+ -sticky ewns
+
+ # Separator
+ ttk::style element create Horizontal.separator image $I(separator)
+
+ ttk::style element create Vertical.separator image $I(separator)
+
+ # Card
+ ttk::style element create Card.field image $I(card) \
+ -border 10 -padding 4 -sticky news
+
+ # Labelframe
+ ttk::style element create Labelframe.border image $I(card) \
+ -border 5 -padding 4 -sticky news
+
+ # Notebook
+ ttk::style element create Notebook.client \
+ image $I(notebook) -border 5
+
+ ttk::style element create Notebook.tab \
+ image [list $I(tab-disabled) \
+ selected $I(tab-basic) \
+ active $I(tab-hover) \
+ ] -border 5 -padding {14 4}
+
+ # Treeview
+ ttk::style element create Treeview.field image $I(card) \
+ -border 5
+
+ ttk::style element create Treeheading.cell \
+ image [list $I(tree-basic) \
+ pressed $I(tree-pressed)
+ ] -border 5 -padding 4 -sticky ewns
+
+ ttk::style element create Treeitem.indicator \
+ image [list $I(right) \
+ user2 $I(empty) \
+ user1 $I(down) \
+ ] -width 26 -sticky {}
+
+ ttk::style configure Treeview -background $colors(-bg)
+ ttk::style configure Treeview.Item -padding {2 0 0 0}
+ ttk::style map Treeview \
+ -background [list selected $colors(-selectbg)] \
+ -foreground [list selected $colors(-selectfg)]
+
+ # Panedwindow
+ # Insane hack to remove clam's ugly sash
+ ttk::style configure Sash -gripcount 0
+ }
+}
diff --git a/TK-Themes/theme/dark/box-accent.png b/TK-Themes/theme/dark/box-accent.png
new file mode 100644
index 0000000..767a81b
Binary files /dev/null and b/TK-Themes/theme/dark/box-accent.png differ
diff --git a/TK-Themes/theme/dark/box-basic.png b/TK-Themes/theme/dark/box-basic.png
new file mode 100644
index 0000000..0b28fed
Binary files /dev/null and b/TK-Themes/theme/dark/box-basic.png differ
diff --git a/TK-Themes/theme/dark/box-hover.png b/TK-Themes/theme/dark/box-hover.png
new file mode 100644
index 0000000..3ca7c19
Binary files /dev/null and b/TK-Themes/theme/dark/box-hover.png differ
diff --git a/TK-Themes/theme/dark/box-invalid.png b/TK-Themes/theme/dark/box-invalid.png
new file mode 100644
index 0000000..f180e94
Binary files /dev/null and b/TK-Themes/theme/dark/box-invalid.png differ
diff --git a/TK-Themes/theme/dark/button-hover.png b/TK-Themes/theme/dark/button-hover.png
new file mode 100644
index 0000000..300eb09
Binary files /dev/null and b/TK-Themes/theme/dark/button-hover.png differ
diff --git a/TK-Themes/theme/dark/card.png b/TK-Themes/theme/dark/card.png
new file mode 100644
index 0000000..3978e9f
Binary files /dev/null and b/TK-Themes/theme/dark/card.png differ
diff --git a/TK-Themes/theme/dark/check-accent.png b/TK-Themes/theme/dark/check-accent.png
new file mode 100644
index 0000000..7cabf6a
Binary files /dev/null and b/TK-Themes/theme/dark/check-accent.png differ
diff --git a/TK-Themes/theme/dark/check-basic.png b/TK-Themes/theme/dark/check-basic.png
new file mode 100644
index 0000000..529718e
Binary files /dev/null and b/TK-Themes/theme/dark/check-basic.png differ
diff --git a/TK-Themes/theme/dark/check-hover.png b/TK-Themes/theme/dark/check-hover.png
new file mode 100644
index 0000000..c96c80c
Binary files /dev/null and b/TK-Themes/theme/dark/check-hover.png differ
diff --git a/TK-Themes/theme/dark/check-tri-accent.png b/TK-Themes/theme/dark/check-tri-accent.png
new file mode 100644
index 0000000..1d0c255
Binary files /dev/null and b/TK-Themes/theme/dark/check-tri-accent.png differ
diff --git a/TK-Themes/theme/dark/check-tri-basic.png b/TK-Themes/theme/dark/check-tri-basic.png
new file mode 100644
index 0000000..d0188f5
Binary files /dev/null and b/TK-Themes/theme/dark/check-tri-basic.png differ
diff --git a/TK-Themes/theme/dark/check-tri-hover.png b/TK-Themes/theme/dark/check-tri-hover.png
new file mode 100644
index 0000000..ae3e19f
Binary files /dev/null and b/TK-Themes/theme/dark/check-tri-hover.png differ
diff --git a/TK-Themes/theme/dark/circle-accent.png b/TK-Themes/theme/dark/circle-accent.png
new file mode 100644
index 0000000..1b25b16
Binary files /dev/null and b/TK-Themes/theme/dark/circle-accent.png differ
diff --git a/TK-Themes/theme/dark/circle-basic.png b/TK-Themes/theme/dark/circle-basic.png
new file mode 100644
index 0000000..85f2bac
Binary files /dev/null and b/TK-Themes/theme/dark/circle-basic.png differ
diff --git a/TK-Themes/theme/dark/circle-hover.png b/TK-Themes/theme/dark/circle-hover.png
new file mode 100644
index 0000000..b439cd6
Binary files /dev/null and b/TK-Themes/theme/dark/circle-hover.png differ
diff --git a/TK-Themes/theme/dark/combo-button-basic.png b/TK-Themes/theme/dark/combo-button-basic.png
new file mode 100644
index 0000000..4aef1b2
Binary files /dev/null and b/TK-Themes/theme/dark/combo-button-basic.png differ
diff --git a/TK-Themes/theme/dark/combo-button-focus.png b/TK-Themes/theme/dark/combo-button-focus.png
new file mode 100644
index 0000000..e37db17
Binary files /dev/null and b/TK-Themes/theme/dark/combo-button-focus.png differ
diff --git a/TK-Themes/theme/dark/combo-button-hover.png b/TK-Themes/theme/dark/combo-button-hover.png
new file mode 100644
index 0000000..493cf52
Binary files /dev/null and b/TK-Themes/theme/dark/combo-button-hover.png differ
diff --git a/TK-Themes/theme/dark/down-accent.png b/TK-Themes/theme/dark/down-accent.png
new file mode 100644
index 0000000..5bb987d
Binary files /dev/null and b/TK-Themes/theme/dark/down-accent.png differ
diff --git a/TK-Themes/theme/dark/down.png b/TK-Themes/theme/dark/down.png
new file mode 100644
index 0000000..d83f92d
Binary files /dev/null and b/TK-Themes/theme/dark/down.png differ
diff --git a/TK-Themes/theme/dark/empty.png b/TK-Themes/theme/dark/empty.png
new file mode 100644
index 0000000..202e3de
Binary files /dev/null and b/TK-Themes/theme/dark/empty.png differ
diff --git a/TK-Themes/theme/dark/hor-accent.png b/TK-Themes/theme/dark/hor-accent.png
new file mode 100644
index 0000000..ab4b182
Binary files /dev/null and b/TK-Themes/theme/dark/hor-accent.png differ
diff --git a/TK-Themes/theme/dark/hor-basic.png b/TK-Themes/theme/dark/hor-basic.png
new file mode 100644
index 0000000..bbc2e50
Binary files /dev/null and b/TK-Themes/theme/dark/hor-basic.png differ
diff --git a/TK-Themes/theme/dark/hor-hover.png b/TK-Themes/theme/dark/hor-hover.png
new file mode 100644
index 0000000..56216f4
Binary files /dev/null and b/TK-Themes/theme/dark/hor-hover.png differ
diff --git a/TK-Themes/theme/dark/notebook.png b/TK-Themes/theme/dark/notebook.png
new file mode 100644
index 0000000..5b937c1
Binary files /dev/null and b/TK-Themes/theme/dark/notebook.png differ
diff --git a/TK-Themes/theme/dark/off-basic.png b/TK-Themes/theme/dark/off-basic.png
new file mode 100644
index 0000000..2ca539a
Binary files /dev/null and b/TK-Themes/theme/dark/off-basic.png differ
diff --git a/TK-Themes/theme/dark/on-accent.png b/TK-Themes/theme/dark/on-accent.png
new file mode 100644
index 0000000..9d48eb6
Binary files /dev/null and b/TK-Themes/theme/dark/on-accent.png differ
diff --git a/TK-Themes/theme/dark/on-basic.png b/TK-Themes/theme/dark/on-basic.png
new file mode 100644
index 0000000..9dce6a5
Binary files /dev/null and b/TK-Themes/theme/dark/on-basic.png differ
diff --git a/TK-Themes/theme/dark/outline-basic.png b/TK-Themes/theme/dark/outline-basic.png
new file mode 100644
index 0000000..2f76a1b
Binary files /dev/null and b/TK-Themes/theme/dark/outline-basic.png differ
diff --git a/TK-Themes/theme/dark/outline-hover.png b/TK-Themes/theme/dark/outline-hover.png
new file mode 100644
index 0000000..7ce5290
Binary files /dev/null and b/TK-Themes/theme/dark/outline-hover.png differ
diff --git a/TK-Themes/theme/dark/radio-accent.png b/TK-Themes/theme/dark/radio-accent.png
new file mode 100644
index 0000000..6535a97
Binary files /dev/null and b/TK-Themes/theme/dark/radio-accent.png differ
diff --git a/TK-Themes/theme/dark/radio-basic.png b/TK-Themes/theme/dark/radio-basic.png
new file mode 100644
index 0000000..f9b55a6
Binary files /dev/null and b/TK-Themes/theme/dark/radio-basic.png differ
diff --git a/TK-Themes/theme/dark/radio-hover.png b/TK-Themes/theme/dark/radio-hover.png
new file mode 100644
index 0000000..4f3eab8
Binary files /dev/null and b/TK-Themes/theme/dark/radio-hover.png differ
diff --git a/TK-Themes/theme/dark/radio-tri-accent.png b/TK-Themes/theme/dark/radio-tri-accent.png
new file mode 100644
index 0000000..b09b6ae
Binary files /dev/null and b/TK-Themes/theme/dark/radio-tri-accent.png differ
diff --git a/TK-Themes/theme/dark/radio-tri-basic.png b/TK-Themes/theme/dark/radio-tri-basic.png
new file mode 100644
index 0000000..def9e27
Binary files /dev/null and b/TK-Themes/theme/dark/radio-tri-basic.png differ
diff --git a/TK-Themes/theme/dark/radio-tri-hover.png b/TK-Themes/theme/dark/radio-tri-hover.png
new file mode 100644
index 0000000..86f1b59
Binary files /dev/null and b/TK-Themes/theme/dark/radio-tri-hover.png differ
diff --git a/TK-Themes/theme/dark/rect-accent-hover.png b/TK-Themes/theme/dark/rect-accent-hover.png
new file mode 100644
index 0000000..bb49129
Binary files /dev/null and b/TK-Themes/theme/dark/rect-accent-hover.png differ
diff --git a/TK-Themes/theme/dark/rect-accent.png b/TK-Themes/theme/dark/rect-accent.png
new file mode 100644
index 0000000..a4821d1
Binary files /dev/null and b/TK-Themes/theme/dark/rect-accent.png differ
diff --git a/TK-Themes/theme/dark/rect-basic.png b/TK-Themes/theme/dark/rect-basic.png
new file mode 100644
index 0000000..8ab4d10
Binary files /dev/null and b/TK-Themes/theme/dark/rect-basic.png differ
diff --git a/TK-Themes/theme/dark/rect-hover.png b/TK-Themes/theme/dark/rect-hover.png
new file mode 100644
index 0000000..b9e4c35
Binary files /dev/null and b/TK-Themes/theme/dark/rect-hover.png differ
diff --git a/TK-Themes/theme/dark/right.png b/TK-Themes/theme/dark/right.png
new file mode 100644
index 0000000..bc840c2
Binary files /dev/null and b/TK-Themes/theme/dark/right.png differ
diff --git a/TK-Themes/theme/dark/scale-hor.png b/TK-Themes/theme/dark/scale-hor.png
new file mode 100644
index 0000000..570530e
Binary files /dev/null and b/TK-Themes/theme/dark/scale-hor.png differ
diff --git a/TK-Themes/theme/dark/scale-vert.png b/TK-Themes/theme/dark/scale-vert.png
new file mode 100644
index 0000000..c6fcf6f
Binary files /dev/null and b/TK-Themes/theme/dark/scale-vert.png differ
diff --git a/TK-Themes/theme/dark/separator.png b/TK-Themes/theme/dark/separator.png
new file mode 100644
index 0000000..411c970
Binary files /dev/null and b/TK-Themes/theme/dark/separator.png differ
diff --git a/TK-Themes/theme/dark/size.png b/TK-Themes/theme/dark/size.png
new file mode 100644
index 0000000..51c682e
Binary files /dev/null and b/TK-Themes/theme/dark/size.png differ
diff --git a/TK-Themes/theme/dark/tab-basic.png b/TK-Themes/theme/dark/tab-basic.png
new file mode 100644
index 0000000..8c6d008
Binary files /dev/null and b/TK-Themes/theme/dark/tab-basic.png differ
diff --git a/TK-Themes/theme/dark/tab-disabled.png b/TK-Themes/theme/dark/tab-disabled.png
new file mode 100644
index 0000000..736c438
Binary files /dev/null and b/TK-Themes/theme/dark/tab-disabled.png differ
diff --git a/TK-Themes/theme/dark/tab-hover.png b/TK-Themes/theme/dark/tab-hover.png
new file mode 100644
index 0000000..213e82b
Binary files /dev/null and b/TK-Themes/theme/dark/tab-hover.png differ
diff --git a/TK-Themes/theme/dark/tick-hor-accent.png b/TK-Themes/theme/dark/tick-hor-accent.png
new file mode 100644
index 0000000..3a90f28
Binary files /dev/null and b/TK-Themes/theme/dark/tick-hor-accent.png differ
diff --git a/TK-Themes/theme/dark/tick-hor-basic.png b/TK-Themes/theme/dark/tick-hor-basic.png
new file mode 100644
index 0000000..ee4b441
Binary files /dev/null and b/TK-Themes/theme/dark/tick-hor-basic.png differ
diff --git a/TK-Themes/theme/dark/tick-hor-hover.png b/TK-Themes/theme/dark/tick-hor-hover.png
new file mode 100644
index 0000000..bc859f4
Binary files /dev/null and b/TK-Themes/theme/dark/tick-hor-hover.png differ
diff --git a/TK-Themes/theme/dark/tick-vert-accent.png b/TK-Themes/theme/dark/tick-vert-accent.png
new file mode 100644
index 0000000..0c0ff98
Binary files /dev/null and b/TK-Themes/theme/dark/tick-vert-accent.png differ
diff --git a/TK-Themes/theme/dark/tick-vert-basic.png b/TK-Themes/theme/dark/tick-vert-basic.png
new file mode 100644
index 0000000..9e0a5ee
Binary files /dev/null and b/TK-Themes/theme/dark/tick-vert-basic.png differ
diff --git a/TK-Themes/theme/dark/tick-vert-hover.png b/TK-Themes/theme/dark/tick-vert-hover.png
new file mode 100644
index 0000000..e9ff3a3
Binary files /dev/null and b/TK-Themes/theme/dark/tick-vert-hover.png differ
diff --git a/TK-Themes/theme/dark/tree-basic.png b/TK-Themes/theme/dark/tree-basic.png
new file mode 100644
index 0000000..c71808d
Binary files /dev/null and b/TK-Themes/theme/dark/tree-basic.png differ
diff --git a/TK-Themes/theme/dark/tree-pressed.png b/TK-Themes/theme/dark/tree-pressed.png
new file mode 100644
index 0000000..41b65c6
Binary files /dev/null and b/TK-Themes/theme/dark/tree-pressed.png differ
diff --git a/TK-Themes/theme/dark/up-accent.png b/TK-Themes/theme/dark/up-accent.png
new file mode 100644
index 0000000..54a20f8
Binary files /dev/null and b/TK-Themes/theme/dark/up-accent.png differ
diff --git a/TK-Themes/theme/dark/up.png b/TK-Themes/theme/dark/up.png
new file mode 100644
index 0000000..069d440
Binary files /dev/null and b/TK-Themes/theme/dark/up.png differ
diff --git a/TK-Themes/theme/dark/vert-accent.png b/TK-Themes/theme/dark/vert-accent.png
new file mode 100644
index 0000000..495f804
Binary files /dev/null and b/TK-Themes/theme/dark/vert-accent.png differ
diff --git a/TK-Themes/theme/dark/vert-basic.png b/TK-Themes/theme/dark/vert-basic.png
new file mode 100644
index 0000000..4f6c46e
Binary files /dev/null and b/TK-Themes/theme/dark/vert-basic.png differ
diff --git a/TK-Themes/theme/dark/vert-hover.png b/TK-Themes/theme/dark/vert-hover.png
new file mode 100644
index 0000000..142ccce
Binary files /dev/null and b/TK-Themes/theme/dark/vert-hover.png differ
diff --git a/TK-Themes/theme/light.tcl b/TK-Themes/theme/light.tcl
new file mode 100644
index 0000000..dbd6dad
--- /dev/null
+++ b/TK-Themes/theme/light.tcl
@@ -0,0 +1,539 @@
+# Copyright (c) 2021 rdbende
+
+# inspired by rdbende modified azure to water by Désire Werner Menrath polunga40@unity-mail.de 2024
+
+package require Tk 8.6
+
+namespace eval ttk::theme::water-light {
+ variable version 2.0
+ package provide ttk::theme::water-light $version
+
+ ttk::style theme create water-light -parent clam -settings {
+ proc load_images {imgdir} {
+ variable I
+ foreach file [glob -directory $imgdir *.png] {
+ set img [file tail [file rootname $file]]
+ set I($img) [image create photo -file $file -format png]
+ }
+ }
+
+ load_images [file join [file dirname [info script]] light]
+
+ array set colors {
+ -fg "#000000"
+ -bg "#ffffff"
+ -disabledfg "#737373"
+ -disabledbg "#ffffff"
+ -selectfg "#ffffff"
+ -selectbg "#007fff"
+ }
+
+ ttk::style layout TButton {
+ Button.button -children {
+ Button.padding -children {
+ Button.label -side left -expand true
+ }
+ }
+ }
+
+ ttk::style layout Toolbutton {
+ Toolbutton.button -children {
+ Toolbutton.padding -children {
+ Toolbutton.label -side left -expand true
+ }
+ }
+ }
+
+ ttk::style layout TMenubutton {
+ Menubutton.button -children {
+ Menubutton.padding -children {
+ Menubutton.indicator -side right
+ Menubutton.label -side right -expand true
+ }
+ }
+ }
+
+ ttk::style layout TOptionMenu {
+ OptionMenu.button -children {
+ OptionMenu.padding -children {
+ OptionMenu.indicator -side right
+ OptionMenu.label -side right -expand true
+ }
+ }
+ }
+
+ ttk::style layout Accent.TButton {
+ AccentButton.button -children {
+ AccentButton.padding -children {
+ AccentButton.label -side left -expand true
+ }
+ }
+ }
+
+ ttk::style layout TCheckbutton {
+ Checkbutton.button -children {
+ Checkbutton.padding -children {
+ Checkbutton.indicator -side left
+ Checkbutton.label -side right -expand true
+ }
+ }
+ }
+
+ ttk::style layout Switch.TCheckbutton {
+ Switch.button -children {
+ Switch.padding -children {
+ Switch.indicator -side left
+ Switch.label -side right -expand true
+ }
+ }
+ }
+
+ ttk::style layout Toggle.TButton {
+ ToggleButton.button -children {
+ ToggleButton.padding -children {
+ ToggleButton.label -side left -expand true
+ }
+ }
+ }
+
+ ttk::style layout TRadiobutton {
+ Radiobutton.button -children {
+ Radiobutton.padding -children {
+ Radiobutton.indicator -side left
+ Radiobutton.label -side right -expand true
+ }
+ }
+ }
+
+ ttk::style layout Vertical.TScrollbar {
+ Vertical.Scrollbar.trough -sticky ns -children {
+ Vertical.Scrollbar.thumb -expand true
+ }
+ }
+
+ ttk::style layout Horizontal.TScrollbar {
+ Horizontal.Scrollbar.trough -sticky ew -children {
+ Horizontal.Scrollbar.thumb -expand true
+ }
+ }
+
+ ttk::style layout TCombobox {
+ Combobox.field -sticky nswe -children {
+ Combobox.padding -expand true -sticky nswe -children {
+ Combobox.textarea -sticky nswe
+ }
+ }
+ Combobox.button -side right -sticky ns -children {
+ Combobox.arrow -sticky nsew
+ }
+ }
+
+ ttk::style layout TSpinbox {
+ Spinbox.field -sticky nsew -children {
+ Spinbox.padding -expand true -sticky nswe -children {
+ Spinbox.textarea -sticky nswe
+ }
+
+ }
+ Spinbox.button -side right -sticky ns -children {
+ null -side right -children {
+ Spinbox.uparrow -side top
+ Spinbox.downarrow -side bottom
+ }
+ }
+ }
+
+ ttk::style layout Horizontal.TSeparator {
+ Horizontal.separator -sticky nswe
+ }
+
+ ttk::style layout Vertical.TSeparator {
+ Vertical.separator -sticky nswe
+ }
+
+ ttk::style layout Horizontal.Tick.TScale {
+ Horizontal.TickScale.trough -sticky ew -children {
+ Horizontal.TickScale.slider -sticky w
+ }
+ }
+
+ ttk::style layout Vertical.Tick.TScale {
+ Vertical.TickScale.trough -sticky ns -children {
+ Vertical.TickScale.slider -sticky n
+ }
+ }
+
+ ttk::style layout Card.TFrame {
+ Card.field {
+ Card.padding -expand 1
+ }
+ }
+
+ ttk::style layout TLabelframe {
+ Labelframe.border {
+ Labelframe.padding -expand 1 -children {
+ Labelframe.label -side right
+ }
+ }
+ }
+
+ ttk::style layout TNotebook.Tab {
+ Notebook.tab -children {
+ Notebook.padding -side top -children {
+ Notebook.label -side top -sticky {}
+ }
+ }
+ }
+
+ ttk::style layout Treeview.Item {
+ Treeitem.padding -sticky nswe -children {
+ Treeitem.indicator -side left -sticky {}
+ Treeitem.image -side left -sticky {}
+ Treeitem.text -side left -sticky {}
+ }
+ }
+
+
+ # Elements
+
+ # Button
+ ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
+
+ ttk::style element create Button.button image \
+ [list $I(box-basic) \
+ {selected disabled} $I(box-basic) \
+ disabled $I(box-basic) \
+ selected $I(box-basic) \
+ pressed $I(box-basic) \
+ active $I(button-hover) \
+ focus $I(button-hover) \
+ ] -border 4 -sticky ewns
+
+ # Toolbutton
+ ttk::style configure Toolbutton -padding {8 4 8 4} -width -5 -anchor center
+
+ ttk::style element create Toolbutton.button image \
+ [list $I(empty) \
+ {selected disabled} $I(empty) \
+ disabled $I(empty) \
+ selected $I(rect-basic) \
+ pressed $I(rect-basic) \
+ active $I(rect-basic) \
+ ] -border 4 -sticky ewns
+
+ # Menubutton
+ ttk::style configure TMenubutton -padding {8 4 4 4}
+
+ ttk::style element create Menubutton.button \
+ image [list $I(rect-basic) \
+ disabled $I(rect-basic) \
+ pressed $I(rect-basic) \
+ active $I(button-hover) \
+ ] -border 4 -sticky ewns
+
+ ttk::style element create Menubutton.indicator \
+ image [list $I(down) \
+ active $I(down) \
+ pressed $I(down) \
+ disabled $I(down) \
+ ] -width 15 -sticky e
+
+ # OptionMenu
+ ttk::style configure TOptionMenu -padding {8 4 4 4}
+
+ ttk::style element create OptionMenu.button \
+ image [list $I(rect-basic) \
+ disabled $I(rect-basic) \
+ pressed $I(rect-basic) \
+ active $I(button-hover) \
+ ] -border 4 -sticky ewns
+
+ ttk::style element create OptionMenu.indicator \
+ image [list $I(down) \
+ active $I(down) \
+ pressed $I(down) \
+ disabled $I(down) \
+ ] -width 15 -sticky e
+
+ # AccentButton
+ ttk::style configure Accent.TButton -padding {8 4 8 4} -width -10 -anchor center
+
+ ttk::style element create AccentButton.button image \
+ [list $I(rect-accent) \
+ {selected disabled} $I(rect-accent-hover) \
+ disabled $I(rect-accent-hover) \
+ selected $I(rect-accent) \
+ pressed $I(rect-accent) \
+ active $I(rect-accent-hover) \
+ focus $I(rect-accent-hover) \
+ ] -border 4 -sticky ewns
+
+ # Checkbutton
+ ttk::style configure TCheckbutton -padding 4
+
+ ttk::style element create Checkbutton.indicator image \
+ [list $I(box-basic) \
+ {alternate disabled} $I(check-tri-basic) \
+ {selected disabled} $I(check-basic) \
+ disabled $I(box-basic) \
+ {pressed alternate} $I(check-tri-hover) \
+ {active alternate} $I(check-tri-hover) \
+ alternate $I(check-tri-accent) \
+ {pressed selected} $I(check-hover) \
+ {active selected} $I(check-hover) \
+ selected $I(check-accent) \
+ {pressed !selected} $I(rect-hover) \
+ active $I(box-hover) \
+ ] -width 26 -sticky w
+
+ # Switch
+ ttk::style element create Switch.indicator image \
+ [list $I(off-basic) \
+ {selected disabled} $I(on-basic) \
+ disabled $I(off-basic) \
+ {pressed selected} $I(on-hover) \
+ {active selected} $I(on-hover) \
+ selected $I(on-accent) \
+ {pressed !selected} $I(off-hover) \
+ active $I(off-hover) \
+ ] -width 46 -sticky w
+
+ # ToggleButton
+ ttk::style configure Toggle.TButton -padding {8 4 8 4} -width -10 -anchor center
+
+ ttk::style element create ToggleButton.button image \
+ [list $I(rect-basic) \
+ {selected disabled} $I(rect-accent-hover) \
+ disabled $I(rect-basic) \
+ {pressed selected} $I(rect-basic) \
+ {active selected} $I(rect-accent) \
+ selected $I(rect-accent) \
+ {pressed !selected} $I(rect-accent) \
+ active $I(rect-basic) \
+ ] -border 4 -sticky ewns
+
+ # Radiobutton
+ ttk::style configure TRadiobutton -padding 4
+
+ ttk::style element create Radiobutton.indicator image \
+ [list $I(outline-basic) \
+ {alternate disabled} $I(radio-tri-basic) \
+ {selected disabled} $I(radio-basic) \
+ disabled $I(outline-basic) \
+ {pressed alternate} $I(radio-tri-hover) \
+ {active alternate} $I(radio-tri-hover) \
+ alternate $I(radio-tri-accent) \
+ {pressed selected} $I(radio-hover) \
+ {active selected} $I(radio-hover) \
+ selected $I(radio-accent) \
+ {pressed !selected} $I(circle-hover) \
+ active $I(outline-hover) \
+ ] -width 26 -sticky w
+
+ # Scrollbar
+ ttk::style element create Horizontal.Scrollbar.trough image $I(hor-basic) \
+ -sticky ew
+
+ ttk::style element create Horizontal.Scrollbar.thumb \
+ image [list $I(hor-accent) \
+ disabled $I(hor-basic) \
+ pressed $I(hor-hover) \
+ active $I(hor-hover) \
+ ] -sticky ew
+
+ ttk::style element create Vertical.Scrollbar.trough image $I(vert-basic) \
+ -sticky ns
+
+ ttk::style element create Vertical.Scrollbar.thumb \
+ image [list $I(vert-accent) \
+ disabled $I(vert-basic) \
+ pressed $I(vert-hover) \
+ active $I(vert-hover) \
+ ] -sticky ns
+
+ # Scale
+ ttk::style element create Horizontal.Scale.trough image $I(scale-hor) \
+ -border 5 -padding 0
+
+ ttk::style element create Horizontal.Scale.slider \
+ image [list $I(circle-accent) \
+ disabled $I(circle-basic) \
+ pressed $I(circle-hover) \
+ active $I(circle-hover) \
+ ] -sticky {}
+
+ ttk::style element create Vertical.Scale.trough image $I(scale-vert) \
+ -border 5 -padding 0
+
+ ttk::style element create Vertical.Scale.slider \
+ image [list $I(circle-accent) \
+ disabled $I(circle-basic) \
+ pressed $I(circle-hover) \
+ active $I(circle-hover) \
+ ] -sticky {}
+
+ # Tickscale
+ ttk::style element create Horizontal.TickScale.trough image $I(scale-hor) \
+ -border 5 -padding 0
+
+ ttk::style element create Horizontal.TickScale.slider \
+ image [list $I(tick-hor-accent) \
+ disabled $I(tick-hor-basic) \
+ pressed $I(tick-hor-hover) \
+ active $I(tick-hor-hover) \
+ ] -sticky {}
+
+ ttk::style element create Vertical.TickScale.trough image $I(scale-vert) \
+ -border 5 -padding 0
+
+ ttk::style element create Vertical.TickScale.slider \
+ image [list $I(tick-vert-accent) \
+ disabled $I(tick-vert-basic) \
+ pressed $I(tick-vert-hover) \
+ active $I(tick-vert-hover) \
+ ] -sticky {}
+
+ # Progressbar
+ ttk::style element create Horizontal.Progressbar.trough image $I(hor-basic) \
+ -sticky ew
+
+ ttk::style element create Horizontal.Progressbar.pbar image $I(hor-accent) \
+ -sticky ew
+
+ ttk::style element create Vertical.Progressbar.trough image $I(vert-basic) \
+ -sticky ns
+
+ ttk::style element create Vertical.Progressbar.pbar image $I(vert-accent) \
+ -sticky ns
+
+ # Entry
+ ttk::style element create Entry.field \
+ image [list $I(box-basic) \
+ {focus hover} $I(box-accent) \
+ invalid $I(box-invalid) \
+ disabled $I(box-basic) \
+ focus $I(box-accent) \
+ hover $I(box-hover) \
+ ] -border 5 -padding {8} -sticky news
+
+ # Combobox
+ ttk::style map TCombobox -selectbackground [list \
+ {!focus} $colors(-selectbg) \
+ {readonly hover} $colors(-selectbg) \
+ {readonly focus} $colors(-selectbg) \
+ ]
+
+ ttk::style map TCombobox -selectforeground [list \
+ {!focus} $colors(-selectfg) \
+ {readonly hover} $colors(-selectfg) \
+ {readonly focus} $colors(-selectfg) \
+ ]
+
+ ttk::style element create Combobox.field \
+ image [list $I(box-basic) \
+ {readonly disabled} $I(rect-basic) \
+ {readonly pressed} $I(rect-basic) \
+ {readonly focus hover} $I(button-hover) \
+ {readonly focus} $I(button-hover) \
+ {readonly hover} $I(button-hover) \
+ {focus hover} $I(box-accent) \
+ readonly $I(rect-basic) \
+ invalid $I(box-invalid) \
+ disabled $I(box-basic) \
+ focus $I(box-accent) \
+ hover $I(box-hover) \
+ ] -border 5 -padding {8}
+
+ ttk::style element create Combobox.button \
+ image [list $I(combo-button-basic) \
+ {!readonly focus} $I(combo-button-focus) \
+ {readonly focus} $I(combo-button-hover) \
+ {readonly hover} $I(combo-button-hover)
+ ] -border 5 -padding {2 6 6 6}
+
+ ttk::style element create Combobox.arrow image $I(down) \
+ -width 15 -sticky e
+
+ # Spinbox
+ ttk::style element create Spinbox.field \
+ image [list $I(box-basic) \
+ invalid $I(box-invalid) \
+ disabled $I(box-basic) \
+ focus $I(box-accent) \
+ hover $I(box-hover) \
+ ] -border 5 -padding {8} -sticky news
+
+ ttk::style element create Spinbox.uparrow \
+ image [list $I(up) \
+ disabled $I(up) \
+ pressed $I(up-accent) \
+ active $I(up-accent) \
+ ] -border 4 -width 15 -sticky e
+
+ ttk::style element create Spinbox.downarrow \
+ image [list $I(down) \
+ disabled $I(down) \
+ pressed $I(down-accent) \
+ active $I(down-accent) \
+ ] -border 4 -width 15 -sticky e
+
+ ttk::style element create Spinbox.button \
+ image [list $I(combo-button-basic) \
+ {!readonly focus} $I(combo-button-focus) \
+ {readonly focus} $I(combo-button-hover) \
+ {readonly hover} $I(combo-button-hover)
+ ] -border 5 -padding {2 6 6 6}
+
+ # Sizegrip
+ ttk::style element create Sizegrip.sizegrip image $I(size) \
+ -sticky ewns
+
+ # Separator
+ ttk::style element create Horizontal.separator image $I(separator)
+
+ ttk::style element create Vertical.separator image $I(separator)
+
+ # Card
+ ttk::style element create Card.field image $I(card) \
+ -border 10 -padding 4 -sticky news
+
+ # Labelframe
+ ttk::style element create Labelframe.border image $I(card) \
+ -border 5 -padding 4 -sticky news
+
+ # Notebook
+ ttk::style element create Notebook.client \
+ image $I(notebook) -border 5
+
+ ttk::style element create Notebook.tab \
+ image [list $I(tab-disabled) \
+ selected $I(tab-basic) \
+ active $I(tab-hover) \
+ ] -border 5 -padding {14 4}
+
+ # Treeview
+ ttk::style element create Treeview.field image $I(card) \
+ -border 5
+
+ ttk::style element create Treeheading.cell \
+ image [list $I(tree-basic) \
+ pressed $I(tree-pressed)
+ ] -border 5 -padding 4 -sticky ewns
+
+ ttk::style element create Treeitem.indicator \
+ image [list $I(right) \
+ user2 $I(empty) \
+ user1 $I(down) \
+ ] -width 26 -sticky {}
+
+ ttk::style configure Treeview -background $colors(-bg)
+ ttk::style configure Treeview.Item -padding {2 0 0 0}
+ ttk::style map Treeview \
+ -background [list selected #ccc] \
+ -foreground [list selected $colors(-fg)]
+
+ # Panedwindow
+ # Insane hack to remove clam's ugly sash
+ ttk::style configure Sash -gripcount 0
+ }
+}
diff --git a/TK-Themes/theme/light/box-accent.png b/TK-Themes/theme/light/box-accent.png
new file mode 100644
index 0000000..70c1e38
Binary files /dev/null and b/TK-Themes/theme/light/box-accent.png differ
diff --git a/TK-Themes/theme/light/box-basic.png b/TK-Themes/theme/light/box-basic.png
new file mode 100644
index 0000000..090a00b
Binary files /dev/null and b/TK-Themes/theme/light/box-basic.png differ
diff --git a/TK-Themes/theme/light/box-hover.png b/TK-Themes/theme/light/box-hover.png
new file mode 100644
index 0000000..e691da4
Binary files /dev/null and b/TK-Themes/theme/light/box-hover.png differ
diff --git a/TK-Themes/theme/light/box-invalid.png b/TK-Themes/theme/light/box-invalid.png
new file mode 100644
index 0000000..1f16f5c
Binary files /dev/null and b/TK-Themes/theme/light/box-invalid.png differ
diff --git a/TK-Themes/theme/light/button-hover.png b/TK-Themes/theme/light/button-hover.png
new file mode 100644
index 0000000..13366eb
Binary files /dev/null and b/TK-Themes/theme/light/button-hover.png differ
diff --git a/TK-Themes/theme/light/card.png b/TK-Themes/theme/light/card.png
new file mode 100644
index 0000000..09152f5
Binary files /dev/null and b/TK-Themes/theme/light/card.png differ
diff --git a/TK-Themes/theme/light/check-accent.png b/TK-Themes/theme/light/check-accent.png
new file mode 100644
index 0000000..67de0a6
Binary files /dev/null and b/TK-Themes/theme/light/check-accent.png differ
diff --git a/TK-Themes/theme/light/check-basic.png b/TK-Themes/theme/light/check-basic.png
new file mode 100644
index 0000000..0c00612
Binary files /dev/null and b/TK-Themes/theme/light/check-basic.png differ
diff --git a/TK-Themes/theme/light/check-hover.png b/TK-Themes/theme/light/check-hover.png
new file mode 100644
index 0000000..3811696
Binary files /dev/null and b/TK-Themes/theme/light/check-hover.png differ
diff --git a/TK-Themes/theme/light/check-tri-accent.png b/TK-Themes/theme/light/check-tri-accent.png
new file mode 100644
index 0000000..c02f75d
Binary files /dev/null and b/TK-Themes/theme/light/check-tri-accent.png differ
diff --git a/TK-Themes/theme/light/check-tri-basic.png b/TK-Themes/theme/light/check-tri-basic.png
new file mode 100644
index 0000000..e92bea5
Binary files /dev/null and b/TK-Themes/theme/light/check-tri-basic.png differ
diff --git a/TK-Themes/theme/light/check-tri-hover.png b/TK-Themes/theme/light/check-tri-hover.png
new file mode 100644
index 0000000..d611d76
Binary files /dev/null and b/TK-Themes/theme/light/check-tri-hover.png differ
diff --git a/TK-Themes/theme/light/circle-accent.png b/TK-Themes/theme/light/circle-accent.png
new file mode 100644
index 0000000..b2202e2
Binary files /dev/null and b/TK-Themes/theme/light/circle-accent.png differ
diff --git a/TK-Themes/theme/light/circle-basic.png b/TK-Themes/theme/light/circle-basic.png
new file mode 100644
index 0000000..b16202e
Binary files /dev/null and b/TK-Themes/theme/light/circle-basic.png differ
diff --git a/TK-Themes/theme/light/circle-hover.png b/TK-Themes/theme/light/circle-hover.png
new file mode 100644
index 0000000..6ea1803
Binary files /dev/null and b/TK-Themes/theme/light/circle-hover.png differ
diff --git a/TK-Themes/theme/light/combo-button-basic.png b/TK-Themes/theme/light/combo-button-basic.png
new file mode 100644
index 0000000..b7daa04
Binary files /dev/null and b/TK-Themes/theme/light/combo-button-basic.png differ
diff --git a/TK-Themes/theme/light/combo-button-focus.png b/TK-Themes/theme/light/combo-button-focus.png
new file mode 100644
index 0000000..521aef0
Binary files /dev/null and b/TK-Themes/theme/light/combo-button-focus.png differ
diff --git a/TK-Themes/theme/light/combo-button-hover.png b/TK-Themes/theme/light/combo-button-hover.png
new file mode 100644
index 0000000..1d06c57
Binary files /dev/null and b/TK-Themes/theme/light/combo-button-hover.png differ
diff --git a/TK-Themes/theme/light/down-accent.png b/TK-Themes/theme/light/down-accent.png
new file mode 100644
index 0000000..5bb987d
Binary files /dev/null and b/TK-Themes/theme/light/down-accent.png differ
diff --git a/TK-Themes/theme/light/down.png b/TK-Themes/theme/light/down.png
new file mode 100644
index 0000000..1fd7e4f
Binary files /dev/null and b/TK-Themes/theme/light/down.png differ
diff --git a/TK-Themes/theme/light/empty.png b/TK-Themes/theme/light/empty.png
new file mode 100644
index 0000000..202e3de
Binary files /dev/null and b/TK-Themes/theme/light/empty.png differ
diff --git a/TK-Themes/theme/light/hor-accent.png b/TK-Themes/theme/light/hor-accent.png
new file mode 100644
index 0000000..20ea079
Binary files /dev/null and b/TK-Themes/theme/light/hor-accent.png differ
diff --git a/TK-Themes/theme/light/hor-basic.png b/TK-Themes/theme/light/hor-basic.png
new file mode 100644
index 0000000..eb18d1e
Binary files /dev/null and b/TK-Themes/theme/light/hor-basic.png differ
diff --git a/TK-Themes/theme/light/hor-hover.png b/TK-Themes/theme/light/hor-hover.png
new file mode 100644
index 0000000..4d6c0f1
Binary files /dev/null and b/TK-Themes/theme/light/hor-hover.png differ
diff --git a/TK-Themes/theme/light/notebook.png b/TK-Themes/theme/light/notebook.png
new file mode 100644
index 0000000..430d9f2
Binary files /dev/null and b/TK-Themes/theme/light/notebook.png differ
diff --git a/TK-Themes/theme/light/off-basic.png b/TK-Themes/theme/light/off-basic.png
new file mode 100644
index 0000000..cf383f0
Binary files /dev/null and b/TK-Themes/theme/light/off-basic.png differ
diff --git a/TK-Themes/theme/light/off-hover.png b/TK-Themes/theme/light/off-hover.png
new file mode 100644
index 0000000..893b39c
Binary files /dev/null and b/TK-Themes/theme/light/off-hover.png differ
diff --git a/TK-Themes/theme/light/on-accent.png b/TK-Themes/theme/light/on-accent.png
new file mode 100644
index 0000000..31ee2fc
Binary files /dev/null and b/TK-Themes/theme/light/on-accent.png differ
diff --git a/TK-Themes/theme/light/on-basic.png b/TK-Themes/theme/light/on-basic.png
new file mode 100644
index 0000000..23ec72f
Binary files /dev/null and b/TK-Themes/theme/light/on-basic.png differ
diff --git a/TK-Themes/theme/light/on-hover.png b/TK-Themes/theme/light/on-hover.png
new file mode 100644
index 0000000..d55f7ae
Binary files /dev/null and b/TK-Themes/theme/light/on-hover.png differ
diff --git a/TK-Themes/theme/light/outline-basic.png b/TK-Themes/theme/light/outline-basic.png
new file mode 100644
index 0000000..2e79874
Binary files /dev/null and b/TK-Themes/theme/light/outline-basic.png differ
diff --git a/TK-Themes/theme/light/outline-hover.png b/TK-Themes/theme/light/outline-hover.png
new file mode 100644
index 0000000..502915d
Binary files /dev/null and b/TK-Themes/theme/light/outline-hover.png differ
diff --git a/TK-Themes/theme/light/radio-accent.png b/TK-Themes/theme/light/radio-accent.png
new file mode 100644
index 0000000..4daef1d
Binary files /dev/null and b/TK-Themes/theme/light/radio-accent.png differ
diff --git a/TK-Themes/theme/light/radio-basic.png b/TK-Themes/theme/light/radio-basic.png
new file mode 100644
index 0000000..793531e
Binary files /dev/null and b/TK-Themes/theme/light/radio-basic.png differ
diff --git a/TK-Themes/theme/light/radio-hover.png b/TK-Themes/theme/light/radio-hover.png
new file mode 100644
index 0000000..d6faa74
Binary files /dev/null and b/TK-Themes/theme/light/radio-hover.png differ
diff --git a/TK-Themes/theme/light/radio-tri-accent.png b/TK-Themes/theme/light/radio-tri-accent.png
new file mode 100644
index 0000000..806d575
Binary files /dev/null and b/TK-Themes/theme/light/radio-tri-accent.png differ
diff --git a/TK-Themes/theme/light/radio-tri-basic.png b/TK-Themes/theme/light/radio-tri-basic.png
new file mode 100644
index 0000000..da85d03
Binary files /dev/null and b/TK-Themes/theme/light/radio-tri-basic.png differ
diff --git a/TK-Themes/theme/light/radio-tri-hover.png b/TK-Themes/theme/light/radio-tri-hover.png
new file mode 100644
index 0000000..ded14a6
Binary files /dev/null and b/TK-Themes/theme/light/radio-tri-hover.png differ
diff --git a/TK-Themes/theme/light/rect-accent-hover.png b/TK-Themes/theme/light/rect-accent-hover.png
new file mode 100644
index 0000000..5daa96a
Binary files /dev/null and b/TK-Themes/theme/light/rect-accent-hover.png differ
diff --git a/TK-Themes/theme/light/rect-accent.png b/TK-Themes/theme/light/rect-accent.png
new file mode 100644
index 0000000..8b3f822
Binary files /dev/null and b/TK-Themes/theme/light/rect-accent.png differ
diff --git a/TK-Themes/theme/light/rect-basic.png b/TK-Themes/theme/light/rect-basic.png
new file mode 100644
index 0000000..239ca31
Binary files /dev/null and b/TK-Themes/theme/light/rect-basic.png differ
diff --git a/TK-Themes/theme/light/rect-hover.png b/TK-Themes/theme/light/rect-hover.png
new file mode 100644
index 0000000..9252c4f
Binary files /dev/null and b/TK-Themes/theme/light/rect-hover.png differ
diff --git a/TK-Themes/theme/light/right.png b/TK-Themes/theme/light/right.png
new file mode 100644
index 0000000..8122cc9
Binary files /dev/null and b/TK-Themes/theme/light/right.png differ
diff --git a/TK-Themes/theme/light/scale-hor.png b/TK-Themes/theme/light/scale-hor.png
new file mode 100644
index 0000000..d11f508
Binary files /dev/null and b/TK-Themes/theme/light/scale-hor.png differ
diff --git a/TK-Themes/theme/light/scale-vert.png b/TK-Themes/theme/light/scale-vert.png
new file mode 100644
index 0000000..f78595d
Binary files /dev/null and b/TK-Themes/theme/light/scale-vert.png differ
diff --git a/TK-Themes/theme/light/separator.png b/TK-Themes/theme/light/separator.png
new file mode 100644
index 0000000..7bffc9a
Binary files /dev/null and b/TK-Themes/theme/light/separator.png differ
diff --git a/TK-Themes/theme/light/size.png b/TK-Themes/theme/light/size.png
new file mode 100644
index 0000000..bde3ade
Binary files /dev/null and b/TK-Themes/theme/light/size.png differ
diff --git a/TK-Themes/theme/light/tab-basic.png b/TK-Themes/theme/light/tab-basic.png
new file mode 100644
index 0000000..365fdff
Binary files /dev/null and b/TK-Themes/theme/light/tab-basic.png differ
diff --git a/TK-Themes/theme/light/tab-disabled.png b/TK-Themes/theme/light/tab-disabled.png
new file mode 100644
index 0000000..eeee518
Binary files /dev/null and b/TK-Themes/theme/light/tab-disabled.png differ
diff --git a/TK-Themes/theme/light/tab-hover.png b/TK-Themes/theme/light/tab-hover.png
new file mode 100644
index 0000000..5003806
Binary files /dev/null and b/TK-Themes/theme/light/tab-hover.png differ
diff --git a/TK-Themes/theme/light/tick-hor-accent.png b/TK-Themes/theme/light/tick-hor-accent.png
new file mode 100644
index 0000000..aa32534
Binary files /dev/null and b/TK-Themes/theme/light/tick-hor-accent.png differ
diff --git a/TK-Themes/theme/light/tick-hor-basic.png b/TK-Themes/theme/light/tick-hor-basic.png
new file mode 100644
index 0000000..ba727d7
Binary files /dev/null and b/TK-Themes/theme/light/tick-hor-basic.png differ
diff --git a/TK-Themes/theme/light/tick-hor-hover.png b/TK-Themes/theme/light/tick-hor-hover.png
new file mode 100644
index 0000000..cb66b59
Binary files /dev/null and b/TK-Themes/theme/light/tick-hor-hover.png differ
diff --git a/TK-Themes/theme/light/tick-vert-accent.png b/TK-Themes/theme/light/tick-vert-accent.png
new file mode 100644
index 0000000..53c102d
Binary files /dev/null and b/TK-Themes/theme/light/tick-vert-accent.png differ
diff --git a/TK-Themes/theme/light/tick-vert-basic.png b/TK-Themes/theme/light/tick-vert-basic.png
new file mode 100644
index 0000000..a58440d
Binary files /dev/null and b/TK-Themes/theme/light/tick-vert-basic.png differ
diff --git a/TK-Themes/theme/light/tick-vert-hover.png b/TK-Themes/theme/light/tick-vert-hover.png
new file mode 100644
index 0000000..18cbec5
Binary files /dev/null and b/TK-Themes/theme/light/tick-vert-hover.png differ
diff --git a/TK-Themes/theme/light/tree-basic.png b/TK-Themes/theme/light/tree-basic.png
new file mode 100644
index 0000000..755062b
Binary files /dev/null and b/TK-Themes/theme/light/tree-basic.png differ
diff --git a/TK-Themes/theme/light/tree-pressed.png b/TK-Themes/theme/light/tree-pressed.png
new file mode 100644
index 0000000..ee28416
Binary files /dev/null and b/TK-Themes/theme/light/tree-pressed.png differ
diff --git a/TK-Themes/theme/light/up-accent.png b/TK-Themes/theme/light/up-accent.png
new file mode 100644
index 0000000..54a20f8
Binary files /dev/null and b/TK-Themes/theme/light/up-accent.png differ
diff --git a/TK-Themes/theme/light/up.png b/TK-Themes/theme/light/up.png
new file mode 100644
index 0000000..16568f2
Binary files /dev/null and b/TK-Themes/theme/light/up.png differ
diff --git a/TK-Themes/theme/light/vert-accent.png b/TK-Themes/theme/light/vert-accent.png
new file mode 100644
index 0000000..58b0c32
Binary files /dev/null and b/TK-Themes/theme/light/vert-accent.png differ
diff --git a/TK-Themes/theme/light/vert-basic.png b/TK-Themes/theme/light/vert-basic.png
new file mode 100644
index 0000000..d5f61ec
Binary files /dev/null and b/TK-Themes/theme/light/vert-basic.png differ
diff --git a/TK-Themes/theme/light/vert-hover.png b/TK-Themes/theme/light/vert-hover.png
new file mode 100644
index 0000000..bfdc9d0
Binary files /dev/null and b/TK-Themes/theme/light/vert-hover.png differ
diff --git a/TK-Themes/water.tcl b/TK-Themes/water.tcl
new file mode 100755
index 0000000..ac96081
--- /dev/null
+++ b/TK-Themes/water.tcl
@@ -0,0 +1,88 @@
+# Copyright © 2021 rdbende
+# inspired by rdbende modified azure to water by Désire Werner Menrath polunga40@unity-mail.de 2024
+
+source [file join [file dirname [info script]] theme light.tcl]
+source [file join [file dirname [info script]] theme dark.tcl]
+
+option add *tearOff 0
+
+proc set_theme {mode} {
+ if {$mode == "dark"} {
+ ttk::style theme use "water-dark"
+
+ array set colors {
+ -fg "#ffffff"
+ -bg "#333333"
+ -disabledfg "#ffffff"
+ -disabledbg "#737373"
+ -selectfg "#000000"
+ -selectbg "#00c4ff"
+ }
+
+ ttk::style configure . \
+ -background $colors(-bg) \
+ -foreground $colors(-fg) \
+ -troughcolor $colors(-bg) \
+ -focuscolor $colors(-selectbg) \
+ -selectbackground $colors(-selectbg) \
+ -selectforeground $colors(-selectfg) \
+ -insertcolor $colors(-fg) \
+ -insertwidth 1 \
+ -fieldbackground $colors(-selectbg) \
+ -font {"Segoe Ui" 10} \
+ -borderwidth 1 \
+ -relief flat
+
+ tk_setPalette background [ttk::style lookup . -background] \
+ foreground [ttk::style lookup . -foreground] \
+ highlightColor [ttk::style lookup . -focuscolor] \
+ selectBackground [ttk::style lookup . -selectbackground] \
+ selectForeground [ttk::style lookup . -selectforeground] \
+ activeBackground [ttk::style lookup . -selectbackground] \
+ activeForeground [ttk::style lookup . -selectforeground]
+
+ ttk::style map . -foreground [list disabled $colors(-disabledfg)]
+
+ option add *font [ttk::style lookup . -font]
+ option add *Menu.selectcolor $colors(-fg)
+
+ } elseif {$mode == "light"} {
+ ttk::style theme use "water-light"
+
+ array set colors {
+ -fg "#000000"
+ -bg "#ffffff"
+ -disabledfg "#737373"
+ -disabledbg "#ffffff"
+ -selectfg "#000000"
+ -selectbg "#00c4ff"
+ }
+
+ ttk::style configure . \
+ -background $colors(-bg) \
+ -foreground $colors(-fg) \
+ -troughcolor $colors(-bg) \
+ -focuscolor $colors(-selectbg) \
+ -selectbackground $colors(-selectbg) \
+ -selectforeground $colors(-selectfg) \
+ -insertcolor $colors(-fg) \
+ -insertwidth 1 \
+ -fieldbackground $colors(-selectbg) \
+ -font {"Segoe Ui" 10} \
+ -borderwidth 1 \
+ -relief flat
+
+ tk_setPalette background [ttk::style lookup . -background] \
+ foreground [ttk::style lookup . -foreground] \
+ highlightColor [ttk::style lookup . -focuscolor] \
+ selectBackground [ttk::style lookup . -selectbackground] \
+ selectForeground [ttk::style lookup . -selectforeground] \
+ activeBackground [ttk::style lookup . -selectbackground] \
+ activeForeground [ttk::style lookup . -selectforeground]
+
+ ttk::style map . -foreground [list disabled $colors(-disabledfg)]
+
+ option add *font [ttk::style lookup . -font]
+ option add *Menu.selectcolor $colors(-fg)
+ }
+}
diff --git a/install b/install
index e063cf7..7a967c4 100755
--- a/install
+++ b/install
@@ -6,10 +6,10 @@ BLUE='\033[30;1;34m'
install_file_with(){
clear
- sudo apt install python3-tk , tcl-ttkthemes && \
+ sudo apt install python3-tk && \
sudo cp -u wg_main.py start_wg.py wg_func.py wirepy.py /usr/bin/ && \
- sudo mkdir -p /etc/wire_py && sudo touch /etc/wire_py/.keys && sudo cp -n settings theme /etc/wire_py/ && \
- sudo cp -uR wp-icons /usr/share/icons/ && \
+ sudo mkdir -p /etc/wire_py && sudo touch /etc/wire_py/.keys && sudo cp -u settings theme /etc/wire_py/ && \
+ sudo cp -uR wp-icons /usr/share/icons/ && sudo cp -uR TK-Themes /usr/share/ && \
sudo chown -R root:root /etc/wire_py && sudo chmod 755 /etc/wire_py && \
sudo ln -sf /usr/bin/wirepy.py /usr/local/bin/wirepy && \
sudo cp -u org.wirepy.policy /usr/share/polkit-1/actions/ && \
@@ -22,8 +22,8 @@ install_arch_d(){
clear
sudo pacman -S --noconfirm tk python3 python-requests && \
sudo cp -u wg_main.py start_wg.py wg_func.py wirepy.py /usr/bin/ && \
- sudo mkdir -p /etc/wire_py && sudo touch /etc/wire_py/.keys && sudo cp -n settings theme /etc/wire_py/ && \
- sudo cp -uR wp-icons /usr/share/icons/ && \
+ sudo mkdir -p /etc/wire_py && sudo touch /etc/wire_py/.keys && sudo cp -u settings theme /etc/wire_py/ && \
+ sudo cp -uR wp-icons /usr/share/icons/ && sudo cp -uR TK-Themes /usr/share/ && \
sudo chown -R root:root /etc/wire_py && sudo chmod 755 /etc/wire_py && \
sudo ln -sf /usr/bin/wirepy.py /usr/local/bin/wirepy && \
sudo cp -u org.wirepy.policy /usr/share/polkit-1/actions/ && \
@@ -91,8 +91,8 @@ elif grep -i 'fedora' /etc/os-release > /dev/null 2>&1
sudo cp -u wg_main.py start_wg.py wg_func.py wirepy.py /usr/bin/ && \
sudo mkdir -p /etc/wire_py && sudo touch /etc/wire_py/.keys && \
- sudo cp -n settings theme /etc/wire_py/ && \
- sudo cp -uR wp-icons /usr/share/icons/ && \
+ sudo cp -u settings theme /etc/wire_py/ && \
+ sudo cp -uR wp-icons /usr/share/icons/ && sudo cp -uR TK-Themes /usr/share/ && \
sudo chown -R root:root /etc/wire_py && sudo chmod 755 /etc/wire_py && \
sudo ln -sf /usr/bin/wirepy.py /usr/local/bin/wirepy && \
sudo cp -u org.wirepy.policy /usr/share/polkit-1/actions/ && \
@@ -107,8 +107,8 @@ elif grep -i 'suse' /etc/os-release > /dev/null 2>&1
then sudo zypper install python311-tk
sudo cp -u wg_main.py start_wg.py wg_func.py wirepy.py /usr/bin/ && \
sudo mkdir -p /etc/wire_py && sudo touch /etc/wire_py/.keys && \
- sudo cp -n settings theme /etc/wire_py/ && \
- sudo cp -uR wp-icons /usr/share/icons/ && \
+ sudo cp -u settings theme /etc/wire_py/ && \
+ sudo cp -uR wp-icons /usr/share/icons/ && sudo cp -uR TK-Themes /usr/share/ && \
sudo chown -R root:root /etc/wire_py && sudo chmod 755 /etc/wire_py && \
sudo ln -sf /usr/bin/wirepy.py /usr/local/bin/wirepy && \
sudo cp -u org.wirepy.policy /usr/share/polkit-1/actions/ && \
diff --git a/testtheme.py b/testtheme.py
new file mode 100644
index 0000000..fd3958d
--- /dev/null
+++ b/testtheme.py
@@ -0,0 +1,27 @@
+import tkinter as tk
+from tkinter import ttk
+
+root = tk.Tk()
+
+# Pack a big frame so, it behaves like the window background
+big_frame = ttk.Frame(root)
+big_frame.pack(fill="both", expand=True)
+
+# Set the initial theme
+root.tk.call("source", "TK-Themes/azure.tcl")
+root.tk.call("set_theme", "light")
+
+def change_theme():
+ # NOTE: The theme's real name is azure-
+ if root.tk.call("ttk::style", "theme", "use") == "azure-dark":
+ # Set light theme
+ root.tk.call("set_theme", "light")
+ else:
+ # Set dark theme
+ root.tk.call("set_theme", "dark")
+
+# Remember, you have to use ttk widgets
+button = ttk.Button(big_frame, text="Change theme!", command=change_theme)
+button.pack()
+
+root.mainloop()
diff --git a/wg_func.py b/wg_func.py
index 387f277..d373362 100755
--- a/wg_func.py
+++ b/wg_func.py
@@ -12,7 +12,7 @@ from tkinter import filedialog, ttk
import requests
''' 1 = 1. Year, 09 = Month of the Year, 2924 = Day and Year of the Year '''
-version = 'v. 1.10.1224'
+version = 'v. 1.10.1924'
path_to_file = Path('/etc/wire_py/wg_py')
path_to_file2 = Path('/etc/wire_py/settings')
@@ -21,25 +21,25 @@ _u = Path.read_text(Path('/tmp/_u'))
UPDATE_API_URL = 'https://git.ilunix.de/api/v1/repos/punix/Wire-Py/releases'
+
class WirePyUpdate:
@staticmethod
def api_down():
- try:
- response = requests.get(UPDATE_API_URL)
- response_dict = response.json()
- response_dict = response_dict[0]
- with open(path_to_file2, 'r') as set_file:
- set_file = set_file.read()
- if 'Update on' in set_file:
- if version[3:] != response_dict['tag_name']:
- return response_dict['tag_name']
- else:
- return 'No Updates'
+ try:
+ response = requests.get(UPDATE_API_URL)
+ response_dict = response.json()
+ response_dict = response_dict[0]
+ with open(path_to_file2, 'r') as set_file:
+ set_file = set_file.read()
+ if 'Update on' in set_file:
+ if version[3:] != response_dict['tag_name']:
+ return response_dict['tag_name']
else:
- return 'False'
- except requests.exceptions.ConnectionError:
- return 'No Internet Connection!'
-
+ return 'No Updates'
+ else:
+ return 'False'
+ except requests.exceptions.ConnectionError:
+ return 'No Internet Connection!'
@staticmethod
def download():
@@ -74,45 +74,6 @@ class WirePyUpdate:
res = WirePyUpdate.api_down()
-
-class Themes:
- @staticmethod
- def dark():
- global back_gd
- with open(path_to_file3, 'w') as theme_set2:
- theme_set2.write('black')
- back_gd = '#424242'
- return back_gd
-
- @staticmethod
- def light():
- global back_gd
- with open(path_to_file3, 'w') as theme_set2:
- theme_set2.write('light')
- back_gd = '#f5f6f7'
- return back_gd
-
-def light_dark():
-
- with open(path_to_file3) as theme_set:
- if 'black' in theme_set:
- theme = 'black'
- else:
- theme = 'arc'
- return theme
-
-bg = light_dark()
-if bg == 'black':
- back_gd = '#424242'
- fore_gd = 'white'
- font_color_active = 'yellow'
- font_color = '#5e87da'
-else:
- back_gd = '#f5f6f7'
- fore_gd = 'black'
- font_color_active = 'green'
- font_color = '#4011a7'
-
def msg_window(img_w, img_i, w_title, w_txt):
"""
Function for different message windows for the user. with 4 arguments to be passed.
@@ -127,12 +88,12 @@ def msg_window(img_w, img_i, w_title, w_txt):
msg = tk.Toplevel()
msg.resizable(width=False, height=False)
msg.title(w_title)
- msg.configure(pady=15, padx=15, background=back_gd)
+ msg.configure(pady=15, padx=15)
msg.img = tk.PhotoImage(file=img_w)
- msg.i_window = tk.Label(msg, image=msg.img, background=back_gd)
+ msg.i_window = tk.Label(msg, image=msg.img)
msg.i_window.grid(column=0, row=0)
label = tk.Label(msg, text=w_txt)
- label.config(font=('Ubuntu', 11), padx=15, background=back_gd, foreground=fore_gd)
+ label.config(font=('Ubuntu', 11), padx=15)
label.grid(column=1, row=0)
button = ttk.Button(msg, text='OK', command=msg.destroy, padding=4)
button.config()
@@ -154,9 +115,15 @@ class GreenLabel:
self.lb_tunnel = None
def green_show_label(self):
- self.lb_tunnel = tk.Label(self, textvariable=self.StrVar, foreground=font_color_active, background=back_gd)
+ with open(path_to_file3, 'r') as read_file:
+ if 'light' in read_file:
+ self.lb_tunnel = ttk.Label(self, textvariable=self.StrVar, foreground='green')
+
+ else:
+ self.lb_tunnel = ttk.Label(self, textvariable=self.StrVar, foreground='yellow')
+
self.lb_tunnel.config(font=('Ubuntu', 11, 'bold'))
- self.lb_tunnel.grid(column=2, padx=10, row=0)
+ self.lb_tunnel.grid(column=2, padx=10, row=1)
self.columnconfigure(2, weight=1)
self.rowconfigure(0, weight=1)
@@ -180,14 +147,12 @@ class StartStopBTN:
self.wg_vpn_stop = tk.PhotoImage(file=r'/usr/share/icons/wp-icons/48/wg_vpn-stop.png')
def button_stop(self):
- self.btn_stst = tk.Button(self.lb_frame_btn_lbox, image=self.wg_vpn_stop, bd=0, command=self.wg_switch,
- background=back_gd, highlightthickness=0, activebackground=back_gd)
- self.btn_stst.grid(column=0, row=0, padx=15, pady=8)
+ self.btn_stst = ttk.Button(self.lb_frame_btn_lbox, image=self.wg_vpn_stop, command=self.wg_switch, padding=0)
+ self.btn_stst.grid(column=0, row=0, padx=5, pady=8)
def button_start(self):
- self.btn_stst = tk.Button(self.lb_frame_btn_lbox, image=self.wg_vpn_start, bd=0, command=self.wg_switch,
- background=back_gd, highlightthickness=0, activebackground=back_gd)
- self.btn_stst.grid(column=0, row=0, padx=15, pady=8)
+ self.btn_stst = ttk.Button(self.lb_frame_btn_lbox, image=self.wg_vpn_start, command=self.wg_switch, padding=0)
+ self.btn_stst.grid(column=0, row=0, padx=5, pady=8)
class ConToDict:
@@ -287,18 +252,18 @@ class ShowAddress:
def show_data(self):
""" Address Label """
- self.address = tk.Label(self.lb_frame, textvariable=self.add, background=back_gd, foreground=font_color)
- self.address.grid(column=0, row=4, sticky='w', padx=10, pady=6)
+ self.address = ttk.Label(self.lb_frame, textvariable=self.add, foreground='#0071ff')
+ self.address.grid(column=0, row=5, sticky='w', padx=10, pady=6)
self.address.config(font=('Ubuntu', 9))
''' DNS Label '''
- self.dns = tk.Label(self.lb_frame, textvariable=self.DNS, background=back_gd, foreground=font_color)
- self.dns.grid(column=0, row=6, sticky='w', padx=10, pady=6)
+ self.dns = ttk.Label(self.lb_frame, textvariable=self.DNS, foreground='#0071ff')
+ self.dns.grid(column=0, row=7, sticky='w', padx=10, pady=6)
self.dns.config(font=('Ubuntu', 9))
''' Endpoint Label '''
- self.endpoint = tk.Label(self.lb_frame2, textvariable=self.enp, background=back_gd, foreground=font_color)
- self.endpoint.grid(column=0, row=7, sticky='w', padx=10, pady=10)
+ self.endpoint = ttk.Label(self.lb_frame2, textvariable=self.enp, foreground='#0071ff')
+ self.endpoint.grid(column=0, row=8, sticky='w', padx=10, pady=20)
self.endpoint.config(font=('Ubuntu', 9))
@@ -498,10 +463,10 @@ class OnOff:
self.autoconnect_var.set('')
self.autoconnect_var = tk.StringVar()
self.autoconnect_var.set(self.auto_con)
- self.autoconnect = tk.Label(self, textvariable=self.autoconnect_var,padx=5,
- background=back_gd, foreground=font_color)
+
+ self.autoconnect = ttk.Label(self, textvariable=self.autoconnect_var, foreground='#0071ff')
self.autoconnect.config(font=('Ubuntu', 11))
- self.autoconnect.grid(column=0, row=4, sticky='ne', pady=20)
+ self.autoconnect.grid(column=0, row=4, sticky='ne', pady=19)
class ExportTunnels:
@@ -525,6 +490,8 @@ class ExportTunnels:
source = Path('/tmp/wire_py')
Path.unlink(Path(source) / 'wg_py', missing_ok=True)
Path.unlink(Path(source) / '.keys', missing_ok=True)
+ Path.unlink(Path(source) / 'settings', missing_ok=True)
+ Path.unlink(Path(source) / 'theme', missing_ok=True)
shutil.make_archive(wg_tar, 'zip', source)
shutil.chown(wg_tar + '.zip', 1000, 1000)
shutil.rmtree(source)
@@ -557,4 +524,4 @@ class ExportTunnels:
msg_window(iw, ii, wt, msg_t)
except TypeError:
- pass
\ No newline at end of file
+ pass
diff --git a/wg_main.py b/wg_main.py
index b1693a9..25715c3 100755
--- a/wg_main.py
+++ b/wg_main.py
@@ -6,21 +6,11 @@ from tkinter import *
from pathlib import Path
from tkinter import ttk
from wg_func import (TunnelActiv, ListTunnels, ImportTunnel, ConToDict, GreenLabel, StartStopBTN, ShowAddress,
- FileHandle, ExportTunnels, OnOff, msg_window, WirePyUpdate, res, version, Themes, bg, font_color,
- path_to_file2, back_gd, fore_gd)
+ FileHandle, ExportTunnels, OnOff, msg_window, WirePyUpdate, res, version, path_to_file2,
+ path_to_file3)
+
+tcl_path = Path('/usr/share/TK-Themes')
-label_bg = '#d9d9d9'
-if bg == 'black':
- back_gd = '#424242'
- fore_gd = 'white'
- lbox_color = '#5c5c5c'
- font_color_update = 'yellow'
-else:
- back_gd = '#f5f6f7'
- fore_gd = 'black'
- lbox_color = 'white'
- lbox_font_color = 'grey'
- font_color_update = 'green'
class MainWindow(tk.Tk):
def __init__(self, *args, **kwargs):
@@ -29,20 +19,24 @@ class MainWindow(tk.Tk):
self.switch_on = None
self.switch_off = None
self.x_width = 600
- self.y_height = 340
+ self.y_height = 400
self.monitor_center_x = self.winfo_screenwidth() / 2 - (self.x_width / 2)
self.monitor_center_y = self.winfo_screenheight() / 2 - (self.y_height / 2)
self.resizable(width=False, height=False)
self.title('Wire-Py')
- self.configure(background=back_gd)
self.geometry('%dx%d+%d+%d' % (self.x_width, self.y_height, self.monitor_center_x, self.monitor_center_y))
- self.columnconfigure(0, weight=1)
- self.rowconfigure(0, weight=1)
self.style = ttk.Style(self)
- self.style.theme_use(bg)
+ self.tk.call('source', str(tcl_path) + '/water.tcl')
+ #self.tk.call('source', 'TK-Themes/water.tcl')
+ with open(path_to_file3, 'r') as read_file:
+ if 'light' in read_file:
+ self.tk.call('set_theme', 'light')
+ else:
+ self.tk.call('set_theme', 'dark')
''' Load the image file from disk. '''
self.wg_icon = tk.PhotoImage(file=r'/usr/share/icons/wp-icons/48/wg_vpn.png')
+
# Set it as the window icon.
self.iconphoto(True, self.wg_icon)
@@ -56,38 +50,81 @@ class MainWindow(tk.Tk):
with open(path_to_file2, 'w') as set_file2:
set_file2.write('Update on')
+ # Set dark or light
+ def theme_change_light():
+ if self.tk.call("ttk::style", "theme", "use") == "water-dark":
+ # Set light theme
+ self.tk.call('set_theme', 'light')
+ with open(path_to_file3, 'w') as theme_set2:
+ theme_set2.write('light')
+ def theme_change_dark():
+ if not self.tk.call("ttk::style", "theme", "use") == "water-dark":
+ # Set dark theme
+ self.tk.call('set_theme', 'dark')
+ with open(path_to_file3, 'w') as theme_set2:
+ theme_set2.write('dark')
+
+ def readme():
+ """img_w, img_i, w_title, w_txt hand over"""
+ iw = r'/usr/share/icons/wp-icons/64/info.png'
+ ii = r'/usr/share/icons/wp-icons/48/wg_msg.png'
+ wt = 'Select tunnel'
+ msg_t = 'Here comes the instructions for Wire-Py .'
+ msg_window(iw, ii, wt, msg_t)
+
+
+ ''' Frame for Menu '''
+ self.menu_frame = ttk.Frame(self)
+ self.menu_frame.configure(relief='flat')
+ self.menu_frame.grid(column=0, row=0, sticky='w')
+ self.columnconfigure(0, weight=1)
+ self.rowconfigure(0, weight=1)
+
# App Menu
- self.app_menu = tk.Menu(self, borderwidth=0, tearoff=tk.NO, disabledforeground=font_color,
- background=back_gd, foreground=fore_gd)
- self.configure(menu=self.app_menu)
+ self.version_lb = ttk.Label(self.menu_frame, text=version)
+ self.version_lb.config(font=('Ubuntu', 11), foreground='#00c4ff')
+ self.version_lb.grid(column=0, row=0, padx=10)
+ self.options_btn = ttk.Menubutton(self.menu_frame, text='Options')
+ self.options_btn.grid(column=1, row=0)
+
set_option = tk.IntVar()
- self.settings = tk.Menu(self.app_menu, tearoff=tk.NO, background=back_gd)
- self.settings.add_checkbutton(label='Disable updates', command=on_off,
- variable=set_option, foreground=fore_gd)
- self.settings.add_command(label='Dark', command=Themes.dark, background=back_gd, foreground=fore_gd)
- self.settings.add_command(label='Light', command=Themes.light, background=back_gd, foreground=fore_gd)
- self.to_load = tk.Menu(self.app_menu, tearoff=tk.NO, background=back_gd)
- self.to_load.add_command(label='Download Update', command=WirePyUpdate.download,
- foreground=fore_gd, background=back_gd)
- self.app_menu.add_cascade(label=version, state='disabled')
- self.app_menu.add_cascade(label='Options', menu=self.settings, background=back_gd, foreground=fore_gd)
- self.app_menu.add_cascade(label='?')
+ self.settings = tk.Menu(self)
+ self.options_btn.configure(menu=self.settings, style='Toolbutton')
+ self.settings.add_checkbutton(label='Disable updates', command=on_off, variable=set_option)
+ self.settings.add_command(label='Light', command=theme_change_light)
+ self.settings.add_command(label='Dark', command=theme_change_dark)
+
+ ''' Help BTN Menu / Label '''
+ self.help_btn = ttk.Menubutton(self.menu_frame, text='Help')
+ self.help_btn.grid(column=2, row=0)
+ self.readme = tk.Menu(self)
+ self.help_btn.configure(menu=self.readme, style='Toolbutton')
+ self.readme.add_command(label='Readme', command=readme)
+
+ ''' Update Label '''
+ self.updates_lb = ttk.Label(self.menu_frame)
+ self.updates_lb.grid(column=3, row=0, padx=10)
if res == 'False':
set_option.set(value=1)
- self.app_menu.add_cascade(label='Update search off', activebackground=back_gd,
- activeforeground=fore_gd, background=back_gd)
+ self.updates_lb.configure(text='Update search off')
elif res == 'No Internet Connection!':
- self.app_menu.add_cascade(label='No Internet Connection!', foreground='red', activebackground=back_gd,
- activeforeground='red')
+ self.updates_lb.configure(text='No Server Connection!', foreground='red')
elif res == 'No Updates':
- self.app_menu.add_cascade(label='No Updates', activeforeground=fore_gd, activebackground=back_gd)
-
+ self.updates_lb.configure(text='No Updates')
else:
set_option.set(value=0)
- self.app_menu.add_cascade(label=f'Update {res} available!', menu=self.to_load, foreground=font_color_update,
- activebackground=back_gd, activeforeground=font_color_update)
+ text = f'Update {res} available!'
+
+ ''' Update BTN Menu'''
+
+ self.update_btn = ttk.Menubutton(self.menu_frame, text=text, )
+ self.update_btn.grid(column=4, row=0, padx=0)
+ self.download = tk.Menu(self)
+
+ self.update_btn.configure(menu=self.download, style='Toolbutton')
+ self.download.add_command(label='Download', command=WirePyUpdate.download)
FrameWidgets(self).grid()
@@ -116,29 +153,29 @@ class FrameWidgets(ttk.Frame):
''' Label Frame 1 '''
self.lb_frame_btn_lbox = ttk.Frame(self)
self.lb_frame_btn_lbox.configure(relief='flat')
- self.lb_frame_btn_lbox.grid(column=0, rowspan=4, row=0)
+ self.lb_frame_btn_lbox.grid(column=0, rowspan=3, row=1)
self.columnconfigure(0, weight=1)
- self.rowconfigure(0, weight=1)
+ self.rowconfigure(1, weight=1)
''' Label Frame 2 '''
self.lb_frame = ttk.Frame(self)
self.lb_frame.configure(relief='solid')
- self.lb_frame.grid(column=2, row=1, sticky='snew', padx=20, pady=5)
+ self.lb_frame.grid(column=2, row=2, sticky='snew', padx=20, pady=5)
self.columnconfigure(2, weight=1)
- self.rowconfigure(1, weight=1)
+ self.rowconfigure(2, weight=1)
''' Label Frame 3 '''
self.lb_frame2 = ttk.Frame(self)
self.lb_frame2.configure(relief='solid')
- self.lb_frame2.grid(column=2, row=2, sticky='snew', padx=20, pady=5)
+ self.lb_frame2.grid(column=2, row=3, sticky='snew', padx=20, pady=5)
self.columnconfigure(2, weight=1)
- self.rowconfigure(2, weight=1)
+ self.rowconfigure(3, weight=1)
''' Show active Label '''
self.select_tunnel = None
- self.lb = tk.Label(self, text='Active: ', background=back_gd, foreground=fore_gd)
+ self.lb = ttk.Label(self, text='Active: ')
self.lb.config(font=('Ubuntu', 11, 'bold'))
- self.lb.grid(column=2, row=0, padx=15, sticky='w')
+ self.lb.grid(column=2, row=1, padx=15, pady=4, sticky='w')
self.columnconfigure(2, weight=1)
self.rowconfigure(0, weight=1)
@@ -147,16 +184,17 @@ class FrameWidgets(ttk.Frame):
GreenLabel.green_show_label(self)
''' Interface Label '''
- self.interface = tk.Label(self.lb_frame, text='Interface', background=back_gd, foreground=font_color)
- self.interface.grid(column=0, row=2, sticky='we', padx=120)
+ self.interface = ttk.Label(self.lb_frame, text='Interface')
+ self.interface.grid(column=0, row=3, sticky='we', padx=120)
self.interface.config(font=('Ubuntu', 9))
''' Peer Label '''
- self.peer = tk.Label(self.lb_frame2, text='Peer', background=back_gd, foreground=font_color)
+ self.peer = ttk.Label(self.lb_frame2, text='Peer')
self.peer.config(font=('Ubuntu', 9))
- self.peer.grid(column=0, row=3, sticky='we', padx=130)
+ self.peer.grid(column=0, row=4, sticky='we', padx=130)
''' Listbox with Scrollbar '''
+
def enable_check_box(event):
tl = ListTunnels.tl_list()
if len(tl) != 0:
@@ -165,8 +203,7 @@ class FrameWidgets(ttk.Frame):
self.lb_rename.delete(0, tk.END)
self.btn_rename.config(state='normal')
- self.l_box = tk.Listbox(self.lb_frame_btn_lbox, background=lbox_color, foreground=fore_gd,
- selectmode='single')
+ self.l_box = tk.Listbox(self.lb_frame_btn_lbox, selectmode='single')
self.l_box.config(relief='ridge')
self.l_box.config(font=('Ubuntu', 12, 'bold'))
self.l_box.grid(column=1, rowspan=4, row=0, sticky='ns')
@@ -204,10 +241,9 @@ class FrameWidgets(ttk.Frame):
ShowAddress.show_data(self)
''' Button Import '''
- self.btn_i = tk.Button(self.lb_frame_btn_lbox,
- image=self.imp_pic, bd=0,
- command=lambda: ImportTunnel.wg_import_select(self), activebackground=back_gd,
- background=back_gd, borderwidth=0, highlightthickness=0)
+ self.btn_i = ttk.Button(self.lb_frame_btn_lbox,
+ image=self.imp_pic, command=lambda: ImportTunnel.wg_import_select(self),
+ padding=0)
self.btn_i.grid(column=0, row=1, padx=15, pady=8)
def delete():
@@ -273,18 +309,18 @@ class FrameWidgets(ttk.Frame):
msg_window(iw, ii, wt, msg_t)
''' Button Trash '''
- self.btn_tr = tk.Button(self.lb_frame_btn_lbox, image=self.tr_pic, bd=0, command=delete,
- activebackground=back_gd, background=back_gd, borderwidth=0, highlightthickness=0)
+ self.btn_tr = ttk.Button(self.lb_frame_btn_lbox, image=self.tr_pic, command=delete, padding=0,
+ style='CButton.TButton')
self.btn_tr.grid(column=0, row=2, padx=15, pady=8)
''' Button Export '''
- self.btn_exp = tk.Button(self.lb_frame_btn_lbox, image=self.exp_pic, bd=0, command=ExportTunnels.wg_export,
- activebackground=back_gd, background=back_gd, borderwidth=0, highlightthickness=0)
+ self.btn_exp = ttk.Button(self.lb_frame_btn_lbox, image=self.exp_pic, command=ExportTunnels.wg_export,
+ padding=0)
self.btn_exp.grid(column=0, row=3, padx=15, pady=8)
''' Label Entry '''
self.lb_rename = ttk.Entry(self, width=20)
- self.lb_rename.grid(column=2, row=4, padx=30, pady=5, sticky='w')
+ self.lb_rename.grid(column=2, row=4, padx=30, pady=15, sticky='nw')
self.lb_rename.insert(0, 'Max. 12 characters!')
self.lb_rename.config(state='disable')
@@ -355,23 +391,23 @@ class FrameWidgets(ttk.Frame):
msg_window(iw, ii, wt, msg_t)
''' Button Rename '''
- self.btn_rename = ttk.Button(self, text='Rename', state='disable', command=tl_rename, padding=4)
- self.btn_rename.grid(column=2, row=4, padx=20, pady=10, sticky='e')
+ self.btn_rename = ttk.Button(self, text='Rename', state='disable', command=tl_rename, padding=4,
+ style='RnButton.TButton')
+ self.btn_rename.grid(column=2, row=4, padx=20, pady=15, sticky='ne')
''' Check Buttons '''
self.selected_option = tk.IntVar()
self.autoconnect_var = tk.StringVar()
self.autoconnect_var.set(self.auto_con)
- self.autoconnect = tk.Label(self, textvariable=self.autoconnect_var, fg='blue', padx=5)
+ ''' Frame for Labels, Entry and Button'''
+ self.autoconnect = ttk.Label(self, textvariable=self.autoconnect_var)
self.autoconnect.config(font=('Ubuntu', 11))
- self.autoconnect.grid(column=0, row=4, sticky='ne', pady=20)
- self.wg_autostart = tk.Checkbutton(self,
- text='Autoconnect on:',
- variable=self.selected_option,
- command=lambda: FileHandle.box_set(self), activebackground=back_gd,
- background=back_gd, foreground=fore_gd, selectcolor=back_gd,
- highlightthickness=0)
- self.wg_autostart.grid(column=0, row=4, pady=19, padx=15, sticky='nw')
+ self.autoconnect.grid(column=0, row=4, sticky='ne', padx=10, pady=15)
+ self.wg_autostart = ttk.Checkbutton(self,
+ text='Autoconnect on:',
+ variable=self.selected_option,
+ command=lambda: FileHandle.box_set(self))
+ self.wg_autostart.grid(column=0, row=4, pady=15, padx=15, sticky='nw')
OnOff.on_off(self)
@@ -451,5 +487,4 @@ if __name__ == '__main__':
window.tk.call('set', '::tk::dialog::file::showHiddenBtn', '0')
window.tk.call('set', '::tk::dialog::file::showHiddenVar', '0')
- window.mainloop()
-
+ window.mainloop()
\ No newline at end of file