EDCD / EDMarketConnector

Downloads commodity market and other station data from the game Elite: Dangerous for use with all popular online and offline trading tools.
GNU General Public License v2.0
986 stars 156 forks source link

TK to TTK Overhaul #2116

Open Rixxan opened 6 months ago

Rixxan commented 6 months ago

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.

ElSaico commented 2 months ago

As said on Discord, I propose the use of CustomTkinter as a semi-drop-in replacement. My arguments:

ElSaico commented 1 month ago

~~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.

ElSaico commented 1 month ago

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.