Closed ghost closed 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.
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.
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:
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
I suspect Akuli will have similar opinions.
Indeed, I agree with everything that is said here :)
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:
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.
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 :))
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 toCTk
+ 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
.