-
-
Notifications
You must be signed in to change notification settings - Fork 12
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
We should revamp our styles #193
Comments
Initially i just tried to keep as few colours as possible. I feel lack of strategy in the design overall. Out of topic: i was thinking it's such a pain to keep templates/styles updated with each upgrade. Could we teach LLM to convert Avalonia styles to Consolonia ones, using some guideline? In this case we would work on the guideline, colors etc rather than matching what was changed and needs to be synced from avalonia. |
What is involved with the template definitions? Is it mostly font size layout changes, or colors or? |
It would be sweet if we could have 1 theme which is aligned with something like this: |
Everything plus additional things which do not exist in avalonia at all, like buttons - on consolonia has shadow, has delayed press. I dont think it can be automated, thats why thinking about LLM |
I was doing a little survey and I think we might be able to get away with this as themes:
This doesn't seem too far off what the themes already are. Given this as the structure for our control theming then I thnk we can do Turbo, Material style, Fluent style, monochrome etc. Then of course there is bigger theme things like Buttons have drop shadows or not, menus |
Alternative is needed for popups and alternative datagtid rows. |
Symbol can be multiple chars I think so TurboVision might use while material would use richer Unicode chars. |
Here's a fluent design generator It's cool, but much much more involved to map to the controls. I kind of like the material design, it seems simpler. |
regarding 4 bit and 3 bit I think we just have a templates which map to the 16 color or 8 color.
etc. If a color comes through that is not a 4 bit color, then we map the color to best guess 4 bit color, but the theme would be expressed only via 4 bit or 3 bit colors. I think that also works for monochrome.
etc. Basically the RenderTarget would only emit the correct codes for the current rendermode, but the Theme would map correct values down to RenderTarget. Bitmap renderer would map to correct color maps. Everything else would be theme based. |
We might consider having a 2 stage theme for material designs.
etc. The alternative would be to adopt the material design names for our templates <color name="primary">#6750A4</color>
<color name="onPrimary">#FFFFFF</color>
<color name="primaryContainer">#CBC0E6</color>
<color name="onPrimaryContainer">#201933</color>
<color name="secondary">#625B71</color>
<color name="onSecondary">#FFFFFF</color>
<color name="secondaryContainer">#DCD8E6</color>
<color name="onSecondaryContainer">#2C2933</color>
<color name="tertiary">#7D5260</color>
<color name="onTertiary">#FFFFFF</color>
<color name="tertiaryContainer">#E6CDD5</color>
<color name="onTertiaryContainer">#332227</color>
<color name="error">#B3261E</color>
<color name="onError">#FFFFFF</color>
<color name="errorContainer">#E6ACA9</color>
<color name="onErrorContainer">#330B09</color>
<color name="background">#fcfcfc</color>
<color name="onBackground">#323233</color>
<color name="surface">#fcfcfc</color>
<color name="onSurface">#323233</color>
<color name="surfaceVariant">#e0dee6</color>
<color name="onSurfaceVariant">#5e5c66</color>
<color name="outline">#8e8999</color> |
I do really like how LogicUI has primary, secondary and tertiary containers.
|
regarding the templates, how do you do it today? Do you look at each template in Avalonia.Themes.Simple or something and hand tweak it? Given we have a source (like button.axaml in Avalonia.Themes.Simple) and an existing target (consolonia/button.axaml) I definitely could write a tool to do that conversion. |
Whew. OK that was a train wreck. I tried using OpenAI to generate the output and it just couldn't help itself by
|
I'm starting to think we should have 2 or 3 core themes
Put another way, let's not hack up turbovision to achieve the rich environment support unless we think that's a more efficient way of doing it. |
Are you saying we should create separate templates for turbovision vs fluent? I think maintaining two sets of templates will be 2x harder. |
Why this should be different?
vs
|
I dunno 🤔 lol |
Do you like idea of templating the symbols? |
Yes. I'm up for anything which could allow to have universal template which could be further colored into different themes. |
Something I'm noticing is that it seems like we could support actual border with border thickness of 1, 2, and maybe 3 using the line art chars for 1/8, 1/4, /1/2. So drawing a rectangle would use box chars, but border brushes could use tight vertical and horizontaol chars. That's what I did effectively to put the box around the combobox. With the caveat that it takes up a whole char size around (Which is why I left the top annotation off). |
I think we should draw similar set of sketches for
But still, manually converting Avaloina templates is a pain. And furthermore, lets say, even if chatGPT model learned how to convert that, any next time it might convert differently due to the fact we do not own the model data. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
If you look at these two styles from avalonia:
Simple Theme:
Fluent Theme:
I think we should add some more named colors to our scheme:
Perhaps Checked variations as well?
The text was updated successfully, but these errors were encountered: