Compare commits
62 Commits
wire-py-re
...
main
Author | SHA1 | Date | |
---|---|---|---|
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 | |||
4c89488950 | |||
c0ae2d2b75 | |||
e4774abf19 | |||
7b1e543428 | |||
6f83fc7162 | |||
b70400b456 | |||
e25bc154ea | |||
7aa3cd75fe | |||
0b9eec8d1d | |||
b9083d4698 |
@ -4,9 +4,14 @@
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="940e1630-c825-4d4c-be80-bc11f543c122" name="Changes" comment="set rights in install and a .conf a import Tunnel Filedialog Part 1 /home when open">
|
||||
<list default="true" id="940e1630-c825-4d4c-be80-bc11f543c122" name="Changes" comment="- Optimize Class and Tooltip">
|
||||
<change afterPath="$PROJECT_DIR$/run_as" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Changelog" beforeDir="false" afterPath="$PROJECT_DIR$/Changelog" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/install" beforeDir="false" afterPath="$PROJECT_DIR$/install" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/settings" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/start_wg.py" beforeDir="false" afterPath="$PROJECT_DIR$/start_wg.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/theme" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/wg_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/wg_func.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/wg_main.py" beforeDir="false" afterPath="$PROJECT_DIR$/wg_main.py" afterDir="false" />
|
||||
</list>
|
||||
@ -31,6 +36,10 @@
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
<option name="UPDATE_TYPE" value="REBASE" />
|
||||
</component>
|
||||
<component name="HighlightingSettingsPerFile">
|
||||
<setting file="file://$PROJECT_DIR$/wg_func.py" root0="SKIP_INSPECTION" />
|
||||
<setting file="file://$PROJECT_DIR$/wg_main.py" root0="FORCE_HIGHLIGHTING" />
|
||||
</component>
|
||||
<component name="ProjectColorInfo">{
|
||||
"associatedIndex": 3
|
||||
}</component>
|
||||
@ -50,13 +59,15 @@
|
||||
"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",
|
||||
"Shell Script.run_as.executor": "Run",
|
||||
"git-widget-placeholder": "main",
|
||||
"last_opened_file_path": "/home/punix/Pyapps/wire-py",
|
||||
"settings.editor.selected.configurable": "preferences.fileTypes"
|
||||
"settings.editor.selected.configurable": "reference.settingsdialog.IDE.editor.colors"
|
||||
}
|
||||
}</component>
|
||||
<component name="RecentsManager">
|
||||
@ -64,6 +75,8 @@
|
||||
<recent name="$PROJECT_DIR$" />
|
||||
</key>
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/TK-Themes/theme" />
|
||||
<recent name="$PROJECT_DIR$/TK-Themes" />
|
||||
<recent name="$PROJECT_DIR$" />
|
||||
<recent name="$PROJECT_DIR$/wire-py" />
|
||||
</key>
|
||||
@ -122,7 +135,7 @@
|
||||
<component name="SharedIndexes">
|
||||
<attachedChunks>
|
||||
<set>
|
||||
<option value="bundled-python-sdk-8336bb23522e-31b6be0877a2-com.jetbrains.pycharm.community.sharedIndexes.bundled-PC-241.19072.16" />
|
||||
<option value="bundled-python-sdk-0e3be3396995-c546a90a8094-com.jetbrains.pycharm.community.sharedIndexes.bundled-PC-242.23339.19" />
|
||||
</set>
|
||||
</attachedChunks>
|
||||
</component>
|
||||
@ -135,134 +148,6 @@
|
||||
<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>
|
||||
<task id="LOCAL-00005" summary="add class Frame and class Massage, delete funktion go 100%, add resize window, add warning pic">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724013251954</created>
|
||||
<option name="number" value="00005" />
|
||||
<option name="presentableId" value="LOCAL-00005" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724013251954</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00006" summary="add class ListTunnels and class ImportTunnel, and add class ExportTunnels (ExportTunnels no finish)">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724048994613</created>
|
||||
<option name="number" value="00006" />
|
||||
<option name="presentableId" value="LOCAL-00006" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724048994613</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00007" summary="add Label Interface and Peer to new FrameWidget one and two. when import Tunnel then add to list works and remove of list when Tunnel delete.(with Label active on and off) add to class and methods open a avtive Tunnel when Wire-Py open, when import and start a Tunnel">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724102937260</created>
|
||||
<option name="number" value="00007" />
|
||||
<option name="presentableId" value="LOCAL-00007" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724102937260</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00008" summary="add file dict_to_address for address a active Tunnel. Label green pack in Class. add Class to convert fileoutput as String to Dictionary">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724233806458</created>
|
||||
<option name="number" value="00008" />
|
||||
<option name="presentableId" value="LOCAL-00008" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724233806458</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00009" summary="add Class StartStopBTN to wg_func.py">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724237471056</created>
|
||||
<option name="number" value="00009" />
|
||||
<option name="presentableId" value="LOCAL-00009" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724237471056</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00010" summary="Set Style to Clam Improved layout of widgets">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724272761629</created>
|
||||
<option name="number" value="00010" />
|
||||
<option name="presentableId" value="LOCAL-00010" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724272761629</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00011" summary="Remove open file function, add Show Address Labels with tk.StrVar when remove a not active Tunnel Labels of Active Tunnel removed!">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724371229008</created>
|
||||
<option name="number" value="00011" />
|
||||
<option name="presentableId" value="LOCAL-00011" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724371229008</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00012" summary="fixed error when active tunnel is deleted, now also the Address Label is emptied">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724400463791</created>
|
||||
<option name="number" value="00012" />
|
||||
<option name="presentableId" value="LOCAL-00012" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724400463791</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00013" summary="In FrameWidged Class else Block StrVar, this resorts reference and variable assignment together">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724401340512</created>
|
||||
<option name="number" value="00013" />
|
||||
<option name="presentableId" value="LOCAL-00013" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724401340512</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00014" summary="add method init_and_report and label_empty to Class ShowAddress">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724410630021</created>
|
||||
<option name="number" value="00014" />
|
||||
<option name="presentableId" value="LOCAL-00014" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724410630021</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00015" summary="little fixes in Class Import">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724416642213</created>
|
||||
<option name="number" value="00015" />
|
||||
<option name="presentableId" value="LOCAL-00015" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724416642213</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00016" summary="fix label when laat Tunnel delete and fix Tuple error in delete and Start/Stop when listbox empty">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724495688099</created>
|
||||
<option name="number" value="00016" />
|
||||
<option name="presentableId" value="LOCAL-00016" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724495688099</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00017" summary="remove a ',' in DNS Name">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724576599289</created>
|
||||
@ -423,7 +308,239 @@
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726691611936</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="37" />
|
||||
<task id="LOCAL-00037" summary="fix set rights in install and a .conf a import Tunnel Filedialog Part 1 /home when open">
|
||||
<option name="closed" value="true" />
|
||||
<created>1726734843529</created>
|
||||
<option name="number" value="00037" />
|
||||
<option name="presentableId" value="LOCAL-00037" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726734843529</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00038" summary="fix a filedialog for hidden Files work install rollback to bash for start wirepy and wirepy rollback to bash">
|
||||
<option name="closed" value="true" />
|
||||
<created>1726764877546</created>
|
||||
<option name="number" value="00038" />
|
||||
<option name="presentableId" value="LOCAL-00038" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726764877546</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00039" summary="install rollback bash to py wirepy and wirepy rollback to py">
|
||||
<option name="closed" value="true" />
|
||||
<created>1726770649542</created>
|
||||
<option name="number" value="00039" />
|
||||
<option name="presentableId" value="LOCAL-00039" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726770649542</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00040" summary="fix install and .desktop File Tar works now for user home and filebrowser.askfilebrowser start now in user home">
|
||||
<option name="closed" value="true" />
|
||||
<created>1726777434040</created>
|
||||
<option name="number" value="00040" />
|
||||
<option name="presentableId" value="LOCAL-00040" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726777434040</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00041" summary="replace tar with zip and Check if Zip file is empty">
|
||||
<option name="closed" value="true" />
|
||||
<created>1726836930251</created>
|
||||
<option name="number" value="00041" />
|
||||
<option name="presentableId" value="LOCAL-00041" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726836930251</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00042" summary="Create your own message boxes for export">
|
||||
<option name="closed" value="true" />
|
||||
<created>1726841190285</created>
|
||||
<option name="number" value="00042" />
|
||||
<option name="presentableId" value="LOCAL-00042" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726841190285</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00043" summary="chown Export File to 1000:1000">
|
||||
<option name="closed" value="true" />
|
||||
<created>1726860371820</created>
|
||||
<option name="number" value="00043" />
|
||||
<option name="presentableId" value="LOCAL-00043" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726860371820</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00044" summary="add rename Label rename works">
|
||||
<option name="closed" value="true" />
|
||||
<created>1726915238475</created>
|
||||
<option name="number" value="00044" />
|
||||
<option name="presentableId" value="LOCAL-00044" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726915238475</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00045" summary="add con_to_dict in import for write PreSharedKey in .key File to warning if tunnel has already been imported and delete that the key is deleted again">
|
||||
<option name="closed" value="true" />
|
||||
<created>1726959423800</created>
|
||||
<option name="number" value="00045" />
|
||||
<option name="presentableId" value="LOCAL-00045" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726959423800</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00046" summary="add con_to_dict in import for write PreSharedKey in .key File to warning if tunnel has already been imported and delete that the key is deleted again now works">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727015078922</created>
|
||||
<option name="number" value="00046" />
|
||||
<option name="presentableId" value="LOCAL-00046" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727015078922</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00047" summary="Descriptions added in wg_func-py">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727018233930</created>
|
||||
<option name="number" value="00047" />
|
||||
<option name="presentableId" value="LOCAL-00047" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727018233930</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00048" summary="If tunnel is renamed and this is in the car start, is now renamed the label">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727028762875</created>
|
||||
<option name="number" value="00048" />
|
||||
<option name="presentableId" value="LOCAL-00048" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727028762875</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00049" summary="fix scrollbar view with set self.y_height = 330 to self.y_height = 340">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727028915701</created>
|
||||
<option name="number" value="00049" />
|
||||
<option name="presentableId" value="LOCAL-00049" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727028915701</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00050" summary="in msg_window two further parameters to be added to the pass, so height and wide can also be specified. In rename, messages come now if new names do not fit Fix Index Error on msg_window()">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727118598759</created>
|
||||
<option name="number" value="00050" />
|
||||
<option name="presentableId" value="LOCAL-00050" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727118598760</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00051" summary="ad max 12-character message, no character message and special_characters message for entry label">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727288788988</created>
|
||||
<option name="number" value="00051" />
|
||||
<option name="presentableId" value="LOCAL-00051" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727288788988</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00052" summary="info icon shadow fix end msg Export fix to">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727347126769</created>
|
||||
<option name="number" value="00052" />
|
||||
<option name="presentableId" value="LOCAL-00052" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727347126769</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00053" summary="little fixes">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727378355274</created>
|
||||
<option name="number" value="00053" />
|
||||
<option name="presentableId" value="LOCAL-00053" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727378355275</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00054" summary="fix msg_boxes when tunnel list = 0 a Start, Delete and Export">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727379755537</created>
|
||||
<option name="number" value="00054" />
|
||||
<option name="presentableId" value="LOCAL-00054" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727379755537</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00055" summary="fix installer add .keys file">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727380793216</created>
|
||||
<option name="number" value="00055" />
|
||||
<option name="presentableId" value="LOCAL-00055" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727380793216</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00056" summary="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">
|
||||
<option name="closed" value="true" />
|
||||
<created>1727525609727</created>
|
||||
<option name="number" value="00056" />
|
||||
<option name="presentableId" value="LOCAL-00056" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1727525609728</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00057" summary="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">
|
||||
<option name="closed" value="true" />
|
||||
<created>1728059870005</created>
|
||||
<option name="number" value="00057" />
|
||||
<option name="presentableId" value="LOCAL-00057" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1728059870005</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00058" summary=" - Menu add - New Modern Dark and Light(default) Theme">
|
||||
<option name="closed" value="true" />
|
||||
<created>1729103964804</created>
|
||||
<option name="number" value="00058" />
|
||||
<option name="presentableId" value="LOCAL-00058" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1729103964804</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00059" summary=" - Theme modify to water-theme - add ttk.Menubutton vor modern Menu and automatic theme and textvariable for color on font in menu">
|
||||
<option name="closed" value="true" />
|
||||
<created>1729283656386</created>
|
||||
<option name="number" value="00059" />
|
||||
<option name="presentableId" value="LOCAL-00059" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1729283656387</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00060" summary=" - Theme modify to water-theme - add ttk.Menubutton vor modern Menu and automatic theme and textvariable for color on font in menu">
|
||||
<option name="closed" value="true" />
|
||||
<created>1729283719951</created>
|
||||
<option name="number" value="00060" />
|
||||
<option name="presentableId" value="LOCAL-00060" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1729283719951</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00061" summary=" - Add Options, Help, Update Label and Update Menubutton - Theme now separate Light and Dark">
|
||||
<option name="closed" value="true" />
|
||||
<created>1729353898829</created>
|
||||
<option name="number" value="00061" />
|
||||
<option name="presentableId" value="LOCAL-00061" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1729353898830</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00062" summary="- Optimize Class. Move to wg_main Import Start/StopBTN and Tooltip">
|
||||
<option name="closed" value="true" />
|
||||
<created>1729541504291</created>
|
||||
<option name="number" value="00062" />
|
||||
<option name="presentableId" value="LOCAL-00062" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1729541504292</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00063" summary="- Optimize Class. Move to wg_main Import Start/StopBTN and Tooltip">
|
||||
<option name="closed" value="true" />
|
||||
<created>1729541561434</created>
|
||||
<option name="number" value="00063" />
|
||||
<option name="presentableId" value="LOCAL-00063" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1729541561434</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00064" summary="- Optimize Class. Move to wg_main Import Start/StopBTN and Tooltip">
|
||||
<option name="closed" value="true" />
|
||||
<created>1729593628907</created>
|
||||
<option name="number" value="00064" />
|
||||
<option name="presentableId" value="LOCAL-00064" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1729593628908</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00065" summary="- Optimize Class and Tooltip">
|
||||
<option name="closed" value="true" />
|
||||
<created>1729938941026</created>
|
||||
<option name="number" value="00065" />
|
||||
<option name="presentableId" value="LOCAL-00065" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1729938941027</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="66" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="UnknownFeatures">
|
||||
@ -464,40 +581,40 @@
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
|
||||
<MESSAGE value="Remove open file function, add Show Address Labels with tk.StrVar when remove a not active Tunnel Labels of Active Tunnel removed!" />
|
||||
<MESSAGE value="fixed error when active tunnel is deleted, now also the Address Label is emptied" />
|
||||
<MESSAGE value="In FrameWidged Class else Block StrVar, this resorts reference and variable assignment together" />
|
||||
<MESSAGE value="add method init_and_report and label_empty to Class ShowAddress" />
|
||||
<MESSAGE value="little fixes in Class Import" />
|
||||
<MESSAGE value="fix label when laat Tunnel delete and fix Tuple error in delete and Start/Stop when listbox empty" />
|
||||
<MESSAGE value="remove a ',' in DNS Name" />
|
||||
<MESSAGE value="fix when Filname > 17 first copy file after rename" />
|
||||
<MESSAGE value="add export Tunnel as zip" />
|
||||
<MESSAGE value="columnconfigure on all widgets set" />
|
||||
<MESSAGE value="little fixes a " " to ' '" />
|
||||
<MESSAGE value="add class FileHandle, add Label to show autoconnect Tunnel disable checkbox when Listbox is empty or no select Tunnel" />
|
||||
<MESSAGE value="add if question and add autoconnect, autoconnect_var to class Filehandle in box_set no finish!" />
|
||||
<MESSAGE value="fixes on empty Listbox now is disable and now works autoconnect label with read and write, delete works now with read and write" />
|
||||
<MESSAGE value="add Frame widget 3 for Buttons and Listbox with Scrollbar. all Widgets new format delete works now of disable checkbox when Listbox empty (part two)" />
|
||||
<MESSAGE value="fix a filedialog for hidden Files work install rollback to bash for start wirepy and wirepy rollback to bash" />
|
||||
<MESSAGE value="install rollback bash to py wirepy and wirepy rollback to py" />
|
||||
<MESSAGE value="fix install and .desktop File Tar works now for user home and filebrowser.askfilebrowser start now in user home" />
|
||||
<MESSAGE value="replace tar with zip and Check if Zip file is empty" />
|
||||
<MESSAGE value="Create your own message boxes for export" />
|
||||
<MESSAGE value="chown Export File to 1000:1000" />
|
||||
<MESSAGE value="add rename Label rename works" />
|
||||
<MESSAGE value="add con_to_dict in import for write PreSharedKey in .key File to warning if tunnel has already been imported and delete that the key is deleted again" />
|
||||
<MESSAGE value="add con_to_dict in import for write PreSharedKey in .key File to warning if tunnel has already been imported and delete that the key is deleted again now works" />
|
||||
<MESSAGE value="Descriptions added in wg_func-py" />
|
||||
<MESSAGE value="If tunnel is renamed and this is in the car start, is now renamed the label" />
|
||||
<MESSAGE value="fix scrollbar view with set self.y_height = 330 to self.y_height = 340" />
|
||||
<MESSAGE value="in msg_window two further parameters to be added to the pass, so height and wide can also be specified. In rename, messages come now if new names do not fit Fix Index Error on msg_window()" />
|
||||
<MESSAGE value="ad max 12-character message, no character message and special_characters message for entry label" />
|
||||
<MESSAGE value="info icon shadow fix end msg Export fix to" />
|
||||
<MESSAGE value="little fixes" />
|
||||
<MESSAGE value="little fixes replace os.system with check_call first steps in install Script add wg_start.service file" />
|
||||
<MESSAGE value="little fixes a labels when stop and start, installer first functions works" />
|
||||
<MESSAGE value="little fixes, add msg_window() function for Messagebox to show a tk.Toplevel() replace var = open() with: with open() as var: and remove by classes (tk.tk) and super()" />
|
||||
<MESSAGE value="in delete replace open with Path install fixes" />
|
||||
<MESSAGE value="new format little fixes icons sort add policy add .desktop File install Part 2" />
|
||||
<MESSAGE value="install fix for set dir right" />
|
||||
<MESSAGE value="fix checkbox disable and policy rename main.py to wg_main.py" />
|
||||
<MESSAGE value="fix rename in Messagebox warning to error" />
|
||||
<MESSAGE value="set rights in install and a .conf a import Tunnel Filedialog Part 1 /home when open" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="set rights in install and a .conf a import Tunnel Filedialog Part 1 /home when open" />
|
||||
<MESSAGE value="fix msg_boxes when tunnel list = 0 a Start, Delete and Export" />
|
||||
<MESSAGE value="fix installer add .keys file" />
|
||||
<MESSAGE value="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" />
|
||||
<MESSAGE value="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" />
|
||||
<MESSAGE value=" - Menu add - New Modern Dark and Light(default) Theme" />
|
||||
<MESSAGE value=" - Theme modify to water-theme - add ttk.Menubutton vor modern Menu and automatic theme and textvariable for color on font in menu" />
|
||||
<MESSAGE value=" - Add Options, Help, Update Label and Update Menubutton - Theme now separate Light and Dark" />
|
||||
<MESSAGE value="- Optimize Class. Move to wg_main Import Start/StopBTN and Tooltip" />
|
||||
<MESSAGE value="- Optimize Class and Tooltip" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="- Optimize Class and Tooltip" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<breakpoints>
|
||||
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
||||
<url>file://$PROJECT_DIR$/wg_main.py</url>
|
||||
<url>file://$PROJECT_DIR$/start_wg.py</url>
|
||||
<line>1</line>
|
||||
<option name="timeStamp" value="1" />
|
||||
<option name="timeStamp" value="2" />
|
||||
</line-breakpoint>
|
||||
</breakpoints>
|
||||
</breakpoint-manager>
|
||||
|
121
Changelog
Normal file
@ -0,0 +1,121 @@
|
||||
Changelog for Wire-Py
|
||||
My standard System: Linux Mint 22 Cinnamon
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
- os import in wg_func replaced by other methods
|
||||
- If Wire-Py already runs, prevent further start
|
||||
- for loops with lists replaced by List Comprehensions
|
||||
- Update search after start of Wire-Py
|
||||
|
||||
### Added
|
||||
07-11-2024
|
||||
|
||||
- remove classes and add methods to class FrameWidgets (removed self errors)
|
||||
|
||||
|
||||
### 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.conf
|
||||
|
||||
|
||||
### Added
|
||||
26-10-2024
|
||||
|
||||
- Add run_as Bash script and open_gitea.py python script
|
||||
- Add Tooltip disable/enable
|
||||
- Rename settings to settings.conf 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
|
||||
[![wire-py.png](https://fb.ilunix.de/api/public/dl/0cx7pPYK?inline=true)](https://fb.ilunix.de/share/0cx7pPYK)
|
||||
|
||||
# Instruction
|
||||
|
||||
[![Import.png](https://fb.ilunix.de/api/public/dl/VpYEn3Gz?inline=true)](https://fb.ilunix.de/share/VpYEn3Gz)
|
||||
[![Stop.png](https://fb.ilunix.de/api/public/dl/zBnbIiyD?inline=true)](https://fb.ilunix.de/share/zBnbIiyD)
|
||||
[![export.png](https://fb.ilunix.de/api/public/dl/gMc4-NAj?inline=true)](https://fb.ilunix.de/share/gMc4-NAj)
|
||||
[![rename.png](https://fb.ilunix.de/api/public/dl/v0y_WiqV?inline=true)](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 |
BIN
TK-Themes/theme/dark/check-accent.png
Normal file
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 |
BIN
TK-Themes/theme/dark/tab-basic.png
Normal file
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 |
BIN
TK-Themes/theme/light/on-accent.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
TK-Themes/theme/light/on-basic.png
Normal file
After Width: | Height: | Size: 538 B |
BIN
TK-Themes/theme/light/on-hover.png
Normal file
After Width: | Height: | Size: 649 B |
BIN
TK-Themes/theme/light/outline-basic.png
Normal file
After Width: | Height: | Size: 508 B |
BIN
TK-Themes/theme/light/outline-hover.png
Normal file
After Width: | Height: | Size: 598 B |
BIN
TK-Themes/theme/light/radio-accent.png
Normal file
After Width: | Height: | Size: 4.5 KiB |