Compare commits
229 Commits
5606ce15b9
...
04-06-2025
Author | SHA1 | Date | |
---|---|---|---|
794dda346a | |||
298a3da73b | |||
f682858051 | |||
68580d0ded | |||
b764547d16 | |||
7f4fabe856 | |||
79f6fc0265 | |||
5ac37ad9ad | |||
4cdcfadbac | |||
55f2119bc3 | |||
d6c20b81f9 | |||
0c4d000d96 | |||
3da54642a0 | |||
fb0158d1cd | |||
6604650adf | |||
a903666a26 | |||
d0adaa76e4 | |||
481362b2e6 | |||
ca26576eab | |||
f4a51f0050 | |||
c56b42df3e | |||
a62394e40e | |||
d6e9613157 | |||
786b909adc | |||
a8aba71638 | |||
742c6d0cc5 | |||
42870e2942 | |||
9a4d8b3506 | |||
dba6138aa7 | |||
d0aed9e253 | |||
0cdad100b6 | |||
2cdc40f414 | |||
2311661735 | |||
c10667ec21 | |||
08bef8fe6e | |||
2e94a324a6 | |||
18ed97bf20 | |||
5dcfc91621 | |||
5fb4e68867 | |||
19d413ea97 | |||
213f772f40 | |||
6f02724daa | |||
53f66ea76d | |||
3039dbecb0 | |||
eadc2a06bf | |||
4eb9d6acd4 | |||
97ea07d34b | |||
cd625d173d | |||
950e04a246 | |||
1a853d4ff1 | |||
f6204c9071 | |||
f9ecd54e0a | |||
67ff24f0b6 | |||
af702f297b | |||
d2a57b329b | |||
87943b2489 | |||
c43c12f961 | |||
3bab0710a4 | |||
aa66f4dc68 | |||
c220951781 | |||
6c0662c62c | |||
5753a35d6c | |||
47bdfbfb17 | |||
2a3bf2bbcb | |||
8896f59efd | |||
c58a630e25 | |||
dc6f8cb094 | |||
dcda647e90 | |||
2a995eabd5 | |||
ea750b0cfc | |||
980ce3c7a7 | |||
28cc423138 | |||
39550b392d | |||
582ef21042 | |||
ca58ac86a4 | |||
177fa1cc34 | |||
ca1a7a6b94 | |||
a49c5b00e1 | |||
75a247797d | |||
4b019b0c1f | |||
ab78eb4f59 | |||
9f3f0246b4 | |||
5302aae807 | |||
13832d916f | |||
1667682c9d | |||
8771be760d | |||
97bf9df041 | |||
1bba45a6c1 | |||
a5eb6293c6 | |||
6e54529c0f | |||
e28235af4b | |||
862cc91fa1 | |||
5fe6fd3f29 | |||
48a48ffd4c | |||
1278b02a95 | |||
22abe9f8b9 | |||
52f22beec6 | |||
8754e7ecda | |||
a6742a0c0e | |||
6b75713121 | |||
762694aa94 | |||
cc54f329fe | |||
8c01c1b984 | |||
ebafdbdcb3 | |||
ce4f6c84dc | |||
b68908eaef | |||
c4565ed169 | |||
485cfff457 | |||
1a0fc74a80 | |||
971c86c97f | |||
66dd27cc64 | |||
cf71eae7d3 | |||
1f80d5342c | |||
e719a1f23f | |||
a0da356cec | |||
ac87e0a4a7 | |||
6a3a982057 | |||
aab90eec70 | |||
511d5f72df | |||
ed93e99026 | |||
10c3b07053 | |||
e9814f2b60 | |||
c470783ff2 | |||
2fac03a927 | |||
03a7e48018 | |||
090842ab28 | |||
8a32065676 | |||
bc0d46d633 | |||
80c63eaf78 | |||
9eb99f0859 | |||
feb6217637 | |||
4bfc8c318e | |||
5f6aaa6cf1 | |||
0a5341fab7 | |||
414a36b436 | |||
fecbf2ab46 | |||
9d44e7ab42 | |||
18e042400c | |||
63ed0abc98 | |||
3102c685fd | |||
0769cabc1e | |||
33e31f06bb | |||
cfffd590cb | |||
ec10f912ea | |||
0fe591d70c | |||
96164eb132 | |||
c4a4d328ae | |||
a19f889950 | |||
bcdabadd0e | |||
c645d23514 | |||
46514693bd | |||
e44fbeb9e4 | |||
de2929896d | |||
58e341082d | |||
f9d4256679 | |||
cf94bf3d1d | |||
a0b895438c | |||
438e2b9de7 | |||
825aa46fae | |||
d39a16cab8 | |||
e1623ab184 | |||
6689d8110f | |||
392b6c94b5 | |||
8cd5fc28e4 | |||
428854f25a | |||
63b9c7935b | |||
9899395cf9 | |||
7e461db7a9 | |||
f90b10f948 | |||
53f1d4e8f4 | |||
217a73182a | |||
a3f3604a1f | |||
41391b0ef1 | |||
3965844b6b | |||
b633fac5a0 | |||
4e841301f7 | |||
ad59c3ba00 | |||
5c06db3681 | |||
94558d32a9 | |||
b8b9b5f8f7 | |||
53124ed7c4 | |||
0fbdcb826a | |||
448d09ca4a | |||
80c29c4f11 | |||
f09e6eed0d | |||
4c89488950 | |||
d1a822fff0 | |||
8fa6e6374f | |||
35406026f0 | |||
607589d44a | |||
858e9f07fe | |||
c0ae2d2b75 | |||
0c8627fe97 | |||
c157154b1c | |||
e4774abf19 | |||
2aa9f907b5 | |||
7b1e543428 | |||
aa84a5ad79 | |||
6f83fc7162 | |||
00a9436dad | |||
b82bd6d9e7 | |||
e5d86f1f90 | |||
6173a653f9 | |||
b70400b456 | |||
4060a92a0e | |||
980c5a9010 | |||
8d657f7c09 | |||
4574f1416e | |||
e25bc154ea | |||
bc8dd7fe6d | |||
9667bf0690 | |||
c87ba4493d | |||
101a2167b6 | |||
b6555974ea | |||
357cae2d2a | |||
7aa3cd75fe | |||
2601b7b0ce | |||
0b9eec8d1d | |||
7b4226c704 | |||
b9083d4698 | |||
d490f65825 | |||
70793075e9 | |||
6bd8775490 | |||
999fe7be84 | |||
51e372d68c | |||
6ab9c43c3a | |||
9c5004e92a | |||
213032252a | |||
ae32cc9e74 |
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
debug.log
|
||||
.venv
|
||||
.venv.bak
|
||||
.idea
|
||||
.vscode
|
||||
__pycache__
|
6
.idea/inspectionProfiles/profiles_settings.xml
generated
@ -1,6 +0,0 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
7
.idea/misc.xml
generated
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Black">
|
||||
<option name="sdkName" value="Python 3.12 (wire-py)" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (wire-py)" project-jdk-type="Python SDK" />
|
||||
</project>
|
8
.idea/modules.xml
generated
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/wire-py.iml" filepath="$PROJECT_DIR$/.idea/wire-py.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
generated
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
10
.idea/wire-py.iml
generated
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
141
.idea/workspace.xml
generated
@ -1,141 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AutoImportSettings">
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="940e1630-c825-4d4c-be80-bc11f543c122" name="Changes" comment="add class Frame and class Massage, delete funktion go 100%, add resize window" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Python Script" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_BRANCH_BY_REPOSITORY">
|
||||
<map>
|
||||
<entry key="$PROJECT_DIR$" value="main" />
|
||||
</map>
|
||||
</option>
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="ProjectColorInfo">{
|
||||
"associatedIndex": 3
|
||||
}</component>
|
||||
<component name="ProjectId" id="2kSbZdjOvr0wsVJSNcaMwSfVaxR" />
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
|
||||
<ConfirmationsSetting value="2" id="Add" />
|
||||
</component>
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent">{
|
||||
"keyToString": {
|
||||
"ASKED_ADD_EXTERNAL_FILES": "true",
|
||||
"Python.main.executor": "Run",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"git-widget-placeholder": "wire-py-reformat-14-08-2024",
|
||||
"last_opened_file_path": "/home/punix/Downloads/tkinter-bitcoin_price_converter_objectoriented(1).py"
|
||||
}
|
||||
}</component>
|
||||
<component name="RunManager">
|
||||
<configuration name="main" type="PythonConfigurationType" factoryName="Python" nameIsGenerated="true">
|
||||
<module name="wire-py" />
|
||||
<option name="ENV_FILES" value="" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/main.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="SharedIndexes">
|
||||
<attachedChunks>
|
||||
<set>
|
||||
<option value="bundled-python-sdk-8336bb23522e-31b6be0877a2-com.jetbrains.pycharm.community.sharedIndexes.bundled-PC-241.19072.16" />
|
||||
</set>
|
||||
</attachedChunks>
|
||||
</component>
|
||||
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="940e1630-c825-4d4c-be80-bc11f543c122" name="Changes" comment="" />
|
||||
<created>1723279982210</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1723279982210</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="Tunnel Start and Stop Work">
|
||||
<option name="closed" value="true" />
|
||||
<created>1723666001005</created>
|
||||
<option name="number" value="00001" />
|
||||
<option name="presentableId" value="LOCAL-00001" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1723666001005</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00002" summary="Tunnel Start and Stop Work">
|
||||
<option name="closed" value="true" />
|
||||
<created>1723666477079</created>
|
||||
<option name="number" value="00002" />
|
||||
<option name="presentableId" value="LOCAL-00002" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1723666477079</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00003" summary="wg_import_select in wg_func.py extended">
|
||||
<option name="closed" value="true" />
|
||||
<created>1723847456806</created>
|
||||
<option name="number" value="00003" />
|
||||
<option name="presentableId" value="LOCAL-00003" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1723847456806</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00004" summary="add class Frame and class Massage, delete funktion go 100%, add resize window">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724013210356</created>
|
||||
<option name="number" value="00004" />
|
||||
<option name="presentableId" value="LOCAL-00004" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724013210356</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="5" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
<option name="TAB_STATES">
|
||||
<map>
|
||||
<entry key="MAIN">
|
||||
<value>
|
||||
<State />
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
|
||||
<MESSAGE value="Tunnel Start and Stop Work" />
|
||||
<MESSAGE value="wg_import_select in wg_func.py extended" />
|
||||
<MESSAGE value="add class Frame and class Massage, delete funktion go 100%, add resize window" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="add class Frame and class Massage, delete funktion go 100%, add resize window" />
|
||||
</component>
|
||||
</project>
|
204
Changelog
Normal file
@ -0,0 +1,204 @@
|
||||
Changelog for Wire-Py
|
||||
My standard System: Linux Mint 22 Cinnamon
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
- os import in common_tools.py replaced by other methods
|
||||
- If Wire-Py already runs, prevent further start
|
||||
- for loops with lists replaced by List Comprehensions
|
||||
- Tunnel in tk.canvas for modern look
|
||||
- Replace Download Button with Lx Tools installer
|
||||
|
||||
### Added
|
||||
14-06-2025
|
||||
|
||||
- replace msg_window with MassageDialog
|
||||
- vpn stop icon corrected
|
||||
|
||||
### Added
|
||||
07-06-2025
|
||||
|
||||
- ssl_decrypt now directly checks whether encrypted files are located in the specified directory.
|
||||
- This method has been removed from common_tools. The path has been adjusted ssl_decrypt likely
|
||||
had an incorrect path. No files were decrypted. This has been fixed.
|
||||
- Key generation has been removed from ssl_decrypt, as it is only needed in ssl_encrypt.
|
||||
- Logviewer now in the settings menu. Moduls now as libs in share_libs.
|
||||
- The Lx Tools installer is there to ensure that everything required for the selected app is installed.
|
||||
|
||||
|
||||
### Added
|
||||
13-04-20255
|
||||
|
||||
- Installer update for Open Suse Tumbleweed and Leap
|
||||
- add symbolic link wirepy.py
|
||||
|
||||
|
||||
### Added
|
||||
09-04-2025
|
||||
|
||||
- Installer now with query and remove
|
||||
- Icons merged
|
||||
|
||||
|
||||
### Added
|
||||
07-04-2025
|
||||
|
||||
- Installers will support other systems again
|
||||
- Installer is now finished clean with wrong password
|
||||
- Rename wg_main to wirepy
|
||||
|
||||
|
||||
### Added
|
||||
03-03-2025
|
||||
|
||||
- Fixes a new user files create
|
||||
|
||||
|
||||
### Added
|
||||
02-03-2025
|
||||
|
||||
- Fix ipv6 in Config File on import
|
||||
- Wirepy run now as user
|
||||
- settings, AppConfig.KEYS_FILE and Config Files now in ~/.config/wire_py
|
||||
- For new users, the required files are created and autostart service is started.
|
||||
- Tunnels are now read from the directory to view them in the list.
|
||||
To display only own tunnels, and read errors are minimized.
|
||||
|
||||
|
||||
### Added
|
||||
10-11-2024
|
||||
|
||||
- Fix Checkbutton Autostart when first install Wire-Py
|
||||
- Update Translate Files
|
||||
|
||||
|
||||
### Added
|
||||
10-11-2024
|
||||
|
||||
- Translate file de_De complete
|
||||
- new FrameWidget for rename Entry and rename Button
|
||||
|
||||
|
||||
### Added
|
||||
09-11-2024
|
||||
|
||||
- Move Tips Method in separate class for Tooltips in another Apps
|
||||
- Move Version Variable in main script
|
||||
- Edit Class GiteaUpdate for requests in api_down and download
|
||||
- Description on Class GiteaUpdate
|
||||
|
||||
|
||||
### Added
|
||||
08-11-2024
|
||||
|
||||
- Preparation for language translation part 1
|
||||
- separate folder for general icons
|
||||
- install edit for new dir lx-icons
|
||||
|
||||
|
||||
### Added
|
||||
08-11-2024
|
||||
|
||||
- methods from class MainWindow move to class FrameWidgets for active color_label when theme change
|
||||
- optimize columnconfigure, rowconfigure in class MainWindow and FrameWidgets
|
||||
- add new Frame for Widgets on Bottom
|
||||
- optimize from tkinter * to from tkinter import filedialog, ttk, TclError
|
||||
|
||||
|
||||
### Added
|
||||
07-11-2024
|
||||
|
||||
- remove classes and add methods to class FrameWidgets (removed self errors)
|
||||
|
||||
|
||||
### Added
|
||||
27-10-2024
|
||||
|
||||
- Add Autoconnect settings to settings
|
||||
|
||||
|
||||
### Added
|
||||
26-10-2024
|
||||
|
||||
- Add run_as Bash script and open_gitea.py python script
|
||||
- Add Tooltip disable/enable
|
||||
- Rename settings to settings for theme, updates and tooltip enable in one file
|
||||
|
||||
|
||||
### Added
|
||||
25-10-2024
|
||||
|
||||
- Optimize Class and Tooltip
|
||||
|
||||
|
||||
### Added
|
||||
21-10-2024
|
||||
|
||||
- Optimize Class. Move to wg_main Import Start/StopBTN and Tooltip
|
||||
|
||||
|
||||
### Added
|
||||
19-10-2024
|
||||
|
||||
- Add Options, Help, Update Label and Update Menubutton
|
||||
- Theme now separate Light and Dark
|
||||
- Add Own Tooltip (Class and def's) Part One
|
||||
|
||||
### Added
|
||||
16-10-2024
|
||||
|
||||
- Menu add
|
||||
- New Modern Dark and Light(default) Theme
|
||||
|
||||
### Added
|
||||
12-10-2024
|
||||
|
||||
- Create file for settings (Autoupdate)
|
||||
- Create file for theme
|
||||
- Autoupdate in Options
|
||||
- Dark Theme for Wire-Py
|
||||
|
||||
|
||||
### Added
|
||||
04-10-2024
|
||||
|
||||
- Fix msg_window and remove x , y argument
|
||||
|
||||
- Install further adapted and with colored text if user
|
||||
is not in group sudo or wheel.
|
||||
|
||||
- Added to install Opensuse for installation
|
||||
|
||||
- Tested on Arch with Mate, Xfce4, Gnome, LXDE Desktop
|
||||
Open Suse Tumbleweed KDE, Fedora 40 KDE and Debian 12 Mate Desktop
|
||||
|
||||
|
||||
### Added
|
||||
29-09-2024
|
||||
|
||||
- installer optimize for another Systems
|
||||
|
||||
- Version number changed to:
|
||||
1 = 1. Year, 01 = Month of the Year, 0124 = Day and Year of the Year
|
||||
Example for this version: 1.09.2924
|
||||
|
||||
- Comments modified by # description to ''' description '''
|
||||
and insert empty lines for better readability
|
||||
|
||||
|
||||
### Added
|
||||
28-09-2024
|
||||
|
||||
- Changelog create
|
||||
|
||||
- When exporting, the folder is now copied to /tmp and the non .conf
|
||||
files are deleted before the zip file is created.
|
||||
|
||||
- In main.py os import removed. Since os have been replaced by pathlib and shutil.
|
||||
|
||||
- Start with version number 1.4.7
|
||||
|
||||
- Message window size corrected so text is displayed better
|
||||
|
||||
- Version lobster assigned to a variable
|
||||
|
23
README.md
@ -1,2 +1,25 @@
|
||||
# Wire-Py
|
||||
|
||||
Wire-Py is an easy-to-use Gui for nmcli.
|
||||
|
||||
Before the first use of Wire-Py, all previous tunnels with "nmcli connection delete example" should be removed.
|
||||
|
||||
Wire-Py can easily be imported, exported, started, popped as well as renamed and deleted.
|
||||
|
||||
Wire-Py runs on many distros.
|
||||
Tested on Arch Linux, OpenSuse Tumbleweed,
|
||||
Fedora, Debian12, Linux Mint 22 Cinnamon
|
||||
|
||||
With the desktops:
|
||||
Xfce4, Cinnamon, Kde, and Mate, LXDE, LXQT
|
||||
|
||||
|
||||
# Screenshots
|
||||
[](https://fb.ilunix.de/share/0cx7pPYK)
|
||||
|
||||
# Instruction
|
||||
|
||||
[](https://fb.ilunix.de/share/VpYEn3Gz)
|
||||
[](https://fb.ilunix.de/share/zBnbIiyD)
|
||||
[](https://fb.ilunix.de/share/gMc4-NAj)
|
||||
[](https://fb.ilunix.de/share/v0y_WiqV)
|
21
TK-Themes/LICENSE
Normal file
@ -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.
|
539
TK-Themes/theme/dark.tcl
Normal file
@ -0,0 +1,539 @@
|
||||
# Copyright (c) 2021 rdbende <rdbende@gmail.com>
|
||||
|
||||
# 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
|
||||
}
|
||||
}
|
BIN
TK-Themes/theme/dark/box-accent.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
TK-Themes/theme/dark/box-basic.png
Normal file
After Width: | Height: | Size: 330 B |
BIN
TK-Themes/theme/dark/box-hover.png
Normal file
After Width: | Height: | Size: 357 B |
BIN
TK-Themes/theme/dark/box-invalid.png
Normal file
After Width: | Height: | Size: 405 B |
BIN
TK-Themes/theme/dark/button-hover.png
Normal file
After Width: | Height: | Size: 346 B |
BIN
TK-Themes/theme/dark/card.png
Normal file
After Width: | Height: | Size: 457 B |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 4.6 KiB |
BIN
TK-Themes/theme/dark/check-basic.png
Normal file
After Width: | Height: | Size: 423 B |
BIN
TK-Themes/theme/dark/check-hover.png
Normal file
After Width: | Height: | Size: 453 B |
BIN
TK-Themes/theme/dark/check-tri-accent.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
TK-Themes/theme/dark/check-tri-basic.png
Normal file
After Width: | Height: | Size: 310 B |
BIN
TK-Themes/theme/dark/check-tri-hover.png
Normal file
After Width: | Height: | Size: 326 B |
BIN
TK-Themes/theme/dark/circle-accent.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
TK-Themes/theme/dark/circle-basic.png
Normal file
After Width: | Height: | Size: 437 B |
BIN
TK-Themes/theme/dark/circle-hover.png
Normal file
After Width: | Height: | Size: 470 B |
BIN
TK-Themes/theme/dark/combo-button-basic.png
Normal file
After Width: | Height: | Size: 242 B |
BIN
TK-Themes/theme/dark/combo-button-focus.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
TK-Themes/theme/dark/combo-button-hover.png
Normal file
After Width: | Height: | Size: 297 B |
BIN
TK-Themes/theme/dark/down-accent.png
Normal file
After Width: | Height: | Size: 234 B |
BIN
TK-Themes/theme/dark/down.png
Normal file
After Width: | Height: | Size: 261 B |
BIN
TK-Themes/theme/dark/empty.png
Normal file
After Width: | Height: | Size: 130 B |
BIN
TK-Themes/theme/dark/hor-accent.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
TK-Themes/theme/dark/hor-basic.png
Normal file
After Width: | Height: | Size: 156 B |
BIN
TK-Themes/theme/dark/hor-hover.png
Normal file
After Width: | Height: | Size: 154 B |
BIN
TK-Themes/theme/dark/notebook.png
Normal file
After Width: | Height: | Size: 410 B |
BIN
TK-Themes/theme/dark/off-basic.png
Normal file
After Width: | Height: | Size: 677 B |
BIN
TK-Themes/theme/dark/on-accent.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
TK-Themes/theme/dark/on-basic.png
Normal file
After Width: | Height: | Size: 668 B |
BIN
TK-Themes/theme/dark/outline-basic.png
Normal file
After Width: | Height: | Size: 587 B |
BIN
TK-Themes/theme/dark/outline-hover.png
Normal file
After Width: | Height: | Size: 644 B |
BIN
TK-Themes/theme/dark/radio-accent.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
TK-Themes/theme/dark/radio-basic.png
Normal file
After Width: | Height: | Size: 561 B |
BIN
TK-Themes/theme/dark/radio-hover.png
Normal file
After Width: | Height: | Size: 625 B |
BIN
TK-Themes/theme/dark/radio-tri-accent.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
TK-Themes/theme/dark/radio-tri-basic.png
Normal file
After Width: | Height: | Size: 505 B |
BIN
TK-Themes/theme/dark/radio-tri-hover.png
Normal file
After Width: | Height: | Size: 466 B |
BIN
TK-Themes/theme/dark/rect-accent-hover.png
Normal file
After Width: | Height: | Size: 289 B |
BIN
TK-Themes/theme/dark/rect-accent.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
TK-Themes/theme/dark/rect-basic.png
Normal file
After Width: | Height: | Size: 286 B |
BIN
TK-Themes/theme/dark/rect-hover.png
Normal file
After Width: | Height: | Size: 297 B |
BIN
TK-Themes/theme/dark/right.png
Normal file
After Width: | Height: | Size: 255 B |
BIN
TK-Themes/theme/dark/scale-hor.png
Normal file
After Width: | Height: | Size: 161 B |
BIN
TK-Themes/theme/dark/scale-vert.png
Normal file
After Width: | Height: | Size: 161 B |
BIN
TK-Themes/theme/dark/separator.png
Normal file
After Width: | Height: | Size: 128 B |
BIN
TK-Themes/theme/dark/size.png
Normal file
After Width: | Height: | Size: 477 B |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
TK-Themes/theme/dark/tab-disabled.png
Normal file
After Width: | Height: | Size: 234 B |
BIN
TK-Themes/theme/dark/tab-hover.png
Normal file
After Width: | Height: | Size: 260 B |
BIN
TK-Themes/theme/dark/tick-hor-accent.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
TK-Themes/theme/dark/tick-hor-basic.png
Normal file
After Width: | Height: | Size: 267 B |
BIN
TK-Themes/theme/dark/tick-hor-hover.png
Normal file
After Width: | Height: | Size: 280 B |
BIN
TK-Themes/theme/dark/tick-vert-accent.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
TK-Themes/theme/dark/tick-vert-basic.png
Normal file
After Width: | Height: | Size: 257 B |
BIN
TK-Themes/theme/dark/tick-vert-hover.png
Normal file
After Width: | Height: | Size: 277 B |
BIN
TK-Themes/theme/dark/tree-basic.png
Normal file
After Width: | Height: | Size: 149 B |
BIN
TK-Themes/theme/dark/tree-pressed.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
TK-Themes/theme/dark/up-accent.png
Normal file
After Width: | Height: | Size: 242 B |
BIN
TK-Themes/theme/dark/up.png
Normal file
After Width: | Height: | Size: 271 B |
BIN
TK-Themes/theme/dark/vert-accent.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
TK-Themes/theme/dark/vert-basic.png
Normal file
After Width: | Height: | Size: 158 B |
BIN
TK-Themes/theme/dark/vert-hover.png
Normal file
After Width: | Height: | Size: 158 B |
539
TK-Themes/theme/light.tcl
Normal file
@ -0,0 +1,539 @@
|
||||
# Copyright (c) 2021 rdbende <rdbende@gmail.com>
|
||||
|
||||
# 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
|
||||
}
|
||||
}
|
BIN
TK-Themes/theme/light/box-accent.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
TK-Themes/theme/light/box-basic.png
Normal file
After Width: | Height: | Size: 319 B |
BIN
TK-Themes/theme/light/box-hover.png
Normal file
After Width: | Height: | Size: 329 B |
BIN
TK-Themes/theme/light/box-invalid.png
Normal file
After Width: | Height: | Size: 285 B |
BIN
TK-Themes/theme/light/button-hover.png
Normal file
After Width: | Height: | Size: 326 B |
BIN
TK-Themes/theme/light/card.png
Normal file
After Width: | Height: | Size: 444 B |
BIN
TK-Themes/theme/light/check-accent.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
TK-Themes/theme/light/check-basic.png
Normal file
After Width: | Height: | Size: 390 B |
BIN
TK-Themes/theme/light/check-hover.png
Normal file
After Width: | Height: | Size: 451 B |
BIN
TK-Themes/theme/light/check-tri-accent.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
TK-Themes/theme/light/check-tri-basic.png
Normal file
After Width: | Height: | Size: 281 B |
BIN
TK-Themes/theme/light/check-tri-hover.png
Normal file
After Width: | Height: | Size: 319 B |
BIN
TK-Themes/theme/light/circle-accent.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
TK-Themes/theme/light/circle-basic.png
Normal file
After Width: | Height: | Size: 128 B |
BIN
TK-Themes/theme/light/circle-hover.png
Normal file
After Width: | Height: | Size: 429 B |
BIN
TK-Themes/theme/light/combo-button-basic.png
Normal file
After Width: | Height: | Size: 247 B |
BIN
TK-Themes/theme/light/combo-button-focus.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
TK-Themes/theme/light/combo-button-hover.png
Normal file
After Width: | Height: | Size: 299 B |
BIN
TK-Themes/theme/light/down-accent.png
Normal file
After Width: | Height: | Size: 234 B |
BIN
TK-Themes/theme/light/down.png
Normal file
After Width: | Height: | Size: 271 B |
BIN
TK-Themes/theme/light/empty.png
Normal file
After Width: | Height: | Size: 130 B |
BIN
TK-Themes/theme/light/hor-accent.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
TK-Themes/theme/light/hor-basic.png
Normal file
After Width: | Height: | Size: 157 B |
BIN
TK-Themes/theme/light/hor-hover.png
Normal file
After Width: | Height: | Size: 154 B |
BIN
TK-Themes/theme/light/notebook.png
Normal file
After Width: | Height: | Size: 389 B |
BIN
TK-Themes/theme/light/off-basic.png
Normal file
After Width: | Height: | Size: 547 B |
BIN
TK-Themes/theme/light/off-hover.png
Normal file
After Width: | Height: | Size: 663 B |