Open Rixxan opened 6 months ago
As said on Discord, I propose the use of CustomTkinter as a semi-drop-in replacement. My arguments:
darkdetect
is self-explanatory and packaging
is used for version detection logic; neither depends on anything else).json
files)~~Option B: https://ttkbootstrap.readthedocs.io/en/latest/ Less popular but still nothing to scoff at with \~1.7k stars - and the documentation is much nicer.~~
The only dependency is Pillow, which is already on develop
anyway.
EDIT: the latest release does not work with Pillow 10.x - which means no Python 3.12 either; although it's fixed on master
(see: israel-dryer/ttkbootstrap#490), the dev has been AWOL for a while.
CTk's scaling code stumbles upon an ancient Tk bug in some locales: TomSchimansky/CustomTkinter#571
Although there's a fix on the comments, facing such an issue from the outset - after both libraries gave me hope to start tackling our UI nightmare - just makes me want to yeet anything Tkinter-based into an active volcano.
A number of locations in the code eschew the TTK library and continue to use the original "tk" library. This holds us back from supporting custom themes as well as breaks a few things. That, and TK in general is just... awful to work with.
We should migrate as much of the styling code as possible from tk to ttk.
And redo theme.py while we're at it.