Akuli / porcupine

A decent editor written in tkinter
MIT License
161 stars 47 forks source link

Enhancement: Switch to CustomTkinter #1393

Closed ghost closed 1 year ago

ghost commented 1 year ago

Have you thought of using CustomTkinter? It would make the UI look much better right off the bat. It is open-source with great documentation. Themes can easily be added with .json files. Many people have created applications to create CustomTkinter themes.

This would be a massive task considering the codebase and how far into development the project is. However, most widgets can easily be converted by suffixing customtkinter. and changing the widget to CTk + the widget's name.

CustomTkinter is built on top of native Tkinter widgets which means they can interact together without many problems.

Some Tkinter widgets don't have CustomTkinter counterparts such as the Treeview() widget. Furthermore, tkinter.ttk widgets do not have any CustomTkinter equivalents.

Making this switch would lead to a better UI but also mean you'd have to drop tkinter.ttk.

Moosems commented 1 year ago

He once tried something similar with his own project Teek but because Porcupine is so large these modules like CustomTkinter cause a lot more bloat and slow down the program significantly. I love the idea but sadly I don't see it happening.

Moosems commented 1 year ago

Being restricted to certain widgets and barred from widgets like the Treeview would also cause many problems I don't think Akuli would care enough to spend a load of time on.

rdbende commented 1 year ago

I do get the hype around Customtkinter, it's indeed awesome that you can customize the UI however you want, but here are my counter-arguments:

  1. Customtkinter is unbearably slow/laggy for me
  2. Customtkinter is ugly IMO. Because the canvas doesn't have antialiasing, and this flat design with the disproportionate borderwidths and other elements looks kinda... weird.
  3. Currently Porcupine uses a ttk theme created by me, and I don't want to switch to something else XDD. (btw I have great new about sv-ttk, tho I think it's not public yet :))

Here can you read my general opinion on Customtkinter.

I don't know what others think about this though. Why don't we #RIIR anyway? :P

Moosems commented 1 year ago

I suspect Akuli will have similar opinions.

Akuli commented 1 year ago

Indeed, I agree with everything that is said here :)

Akuli commented 1 year ago

RIIR

A bit off-topic for this issue, but this isn't actually the first time someone suggests rewriting porcupine in a faster language. (I know this time it was a joke, but still.)

I have once rewritten a large-ish Python project in rust. I don't want to go through the same process with Porcupine:

Moosems commented 1 year ago

Yeah I wouldn't rewrite in a different language but it really is slow 🤣. It takes me 10+ seconds to open Porcupine and 5+ to open or close a tab.

rdbende commented 1 year ago

I have once rewritten a large-ish Python project in rust. I don't want to go through the same process with Porcupine:

Lol, I didn't know that catris was originally a Python project :))