definite-d / Themera

PySimpleGUI theme code generator.
GNU Lesser General Public License v3.0
28 stars 9 forks source link

[ Suggestion ] Choose a theme #7

Closed PySimpleGUI closed 4 years ago

PySimpleGUI commented 4 years ago

You've built a beautiful program, capable of creating beautiful themes.

While I appreciate that a random theme is sometimes fun and sometimes interesting, they often not very good however. You use a lot of elements, have complex windows. It's an extensive GUI with a lot of work put in. I think it would really benefit from its own look. Rather than risk a bright purple and pink combination that may be right in some particular kind of application that's silly, when applied to your serious utility, it looks cheap and "gaudy". It does disservice to your work and becomes a distraction.

I hit a bug that I still need to track down that failed to restore the theme from the previews back to the normal program's theme. I was left using a generated theme for the remainder of the program and the particular theme was nearly unable due to bad color combinations.

I've been including a settings file lately with my "widget" type of programs such as my COVID19 graphs and my weather widget. I never seem to change them once I find a combination I like. For my weather widget I kinda like this green one.

image

For the COVID19 stuff, it's this blue with yellow:

SNAG-0786

The Reddit search is Red (sorta matches Reddit)

image

The only one of these that TRULY matters however is the Weather widget. That is because it remains running my desktop call day. It needs to match the other widgets I have running and it need to match the windows theme I'm running. Once set, I don't change it.

I think for these standalone utilities, like the COVID utility and the Reddit searcher, it's not so important that the user be able to manage those colors. It's nice, but reality is that 99% of the people simply want a program that looks nice. They don't want the "trouble" of choosing / changing.

I've been stunned at the fact there have been ZERO,and I mean truly ZERO complaints about the default, blue-ish-gray color theme of PySimpleGUI. Very few people change it. I can spot a PySimpleGUI program a mile away as a result. It's a single line of code for a developer to change it and most don't.

There are a few that do however. Sometimes I wonder if those are simply copying a color that was set in a cookbook entry. This newly released one uses DarkAmber, a color found in the demo design patterns:

https://github.com/zargogo/LiveTSX

I don't know if he simply copied it from the pattern because he liked it or didn't know any better.

OK, so, back around to the point. As a graphic designer, you most certainly appreciate the importance of colors in GUI designs. And you're highly skilled at determining color schemes that work. I, on the other hand, SUCK so badly at it that I require tools like what you've made here.

I would love to see what you believe is a good representative theme for your program and have that set as the default. Maybe it's changeable or maybe there's an option for users to enable the random choice like now. I dunno the right answer, but I'm sure I would enjoy using the program more if 1/2 the time the color scheme wasn't one that my eyes sees as ugly when applied to your awesome creation.

definite-d commented 4 years ago

Never mind the issue at hand, first, those programs you showed are really beautiful. Especially the weather widget. I have a liking for green.

Now, back to the matter, I'll get a theme for LookyFeely, sure. Maybe I'll run its logo through it. I made configured LookyFeely's theme choices the way it currently is because I wanted to show the user that PySimpleGUI already has a mass of usable themes, and of course, to portray LookyFeely as a master of all themes :smiley:.

I'll definitely give it a theme of its own.

definite-d commented 4 years ago

Well, I've run LookyFeely's logo through it's ImagePalette feature, and applied the Shuffle and dark mode functionality to obtain some usable themes.

I'm thinking of using multiple themes out of which the user can select. For this, I'm not aiming for realtime theme changes (yet; the SaveToDisk() Window function is drawing my curiosity). Rather, I've gone for a "restart to see changes" method, using a variable to determine it. This variable in turn can be altered by a function within the script allowing its value to be changed easily.

In essence, the variable that controls the active theme can be altered from the GUI using a function, and changes take effect upon every restart.

definite-d commented 4 years ago

Well, all is set.

With the current structure, users can select any theme they desire from LookyFeely's original Light and Dark themes, as well as any of the PySimpleGUI out-of-the-box themes.

Their selection is stored as a variable in an external config python script.