Skip to content

Suggestion to add more flexibility to custom theme system #950

@mmseng

Description

@mmseng

Is there an existing issue for this?

  • I have searched the existing issues.

Describe the solution you'd like

I would personally like to see some more flexibility in the custom theme system. Specifically, I'd like the header and footer color to be de-coupled from the color of the incoming connections and the various UI element highlights. I don't know how feasible this is since the project relies on a third party implementation for the UI, but it would be a nice QoL improvement.

My personal preference would be to make everything relatively dark except for the most crucial information. I find the header and footer to be somewhat distracting. However as it is, I can't change the color of these elements without doing the same to the primary theme color.

Additionally, the color property names should ideally be more representative of what they are actually changing (reducing the need for the comments).

To demonstrate the suggestion, here's a mockup of a potential TOML file which separates the theme elements as described:

background = "#303446"        # background color
ui_highlight = "#a6d189"      # color of highlighted UI elements/button borders
header = "#a6d189"            # header
footer = "#a6d189"            # footer
conn_incoming = "#a6d189"     # incoming connections color
conn_outgoing = "#f4b8e4"     # outgoing connections color
text_body = "#c6d0f5"         # body text color
text_headers = "#232634"      # header and footer text color
starred = "#e5c890aa"         # favorites' star color

Separating out additional theme elements could be done as well, but I actually do appreciate the relative simplicity of the theme system as it is, so I wouldn't necessarily recommend going overboard with the granularity.

Is your feature request related to a problem?

Not a technical problem, but a more flexible theme system would improve users' ability to customize the app such that they can more easily focus on what they're looking for.

Metadata

Metadata

Assignees

Labels

designStyling and appearanceenhancementNew feature, request, or improvement

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions