Skip to content
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

Lacking complete coverage of new keys and .figmatokens file; inclusion and re-examination of color values necessary. #3

Open
PsychedelicShayna opened this issue Dec 20, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@PsychedelicShayna
Copy link
Owner

As of at least Qt Creator v14.0.2, the theme structure has had some changes.

Various new keys have been added which need to be covered in .creatortheme in order to ensure the theme remains 100% accurate to the original DarkPlus theme. The extent of what they all cover is unknown to me as of right now.

The introduction of a .figmatokens file alongside every .creatortheme now controls certain aspects of the editor's appearance, which previously wasn't.

This file is ultimately imported by the .creatortheme file at the very start, but the fact that this separation exists implies there's a reason to put them apart from the rest of the keys. Every default .creatortheme file now has an associated .figmatokens file.

If those keys are not defined, the theme seems to break entirely, causing a black splash screen, as well as messing up the editor style colors.

See Issue @ PsychedelicShayna/QtCreatorTheme-VSCodeDarkPlus

The lack of certain .figmatokens definitions are the cause of this.

Note

For the moment I only hacked together a quick fix to get the theme working again, as only applying the editor theme without applying a IDE theme completely messes up the editor theme. It could have been an isolated incident, but if not, it would suggest there's some intermingling between the two that wasn't present before, so .creatortheme and now .figmatokens files could potentially.. possibly, maybee~ hold the key to coloring the keywords 100% correctly. This is worth investigating: could these new additions finally resolve the problem of being forced to choose between blue and purple keywords due to limitations that this could potentially address?

A whole new file extension being introduced, despite the keys ultimately being imported into the .creatortheme file anyway, and there being plenty of other new keys that were just added directly to .creatortheme, would suggest there is something about a ligmatoken figmatoken that makes it special in some way. There are mentions of gradients in there too. It's worth taking a closer look at.

Important

The reason this is an "enhancement" is because there are likely color discrepancies, deviations from the original theme, or other such inconsistencies. If you spot any such such inconsistency that if fixed would bring it closer to a theme that's 100% true to DarkPlus, please, go ahead and spam this issue with them so that they can be promptly fixed.

Just because the primary issue was fixed, doesn't mean that this whole pseudo-restructure of Qt Creator themes won't come with its side effects. Perhaps a key got renamed, or a new one has higher priority, or maybe a key exists that refers to something that you previously couldn't refer to, allowing for a more accurate port.

Thanks to a related issue @ catppuccin/qtcreator we have a quick list of the new keys.

All Keys

catppuccin-mocha.creatortheme misses color setting for keys

Token_Basic_Black
Token_Basic_White

Token_Accent_Default
Token_Accent_Muted
Token_Accent_Subtle

Token_Background_Default
Token_Background_Muted
Token_Background_Subtle

Token_Foreground_Default
Token_Foreground_Muted
Token_Foreground_Subtle

Token_Text_Default
Token_Text_Muted
Token_Text_Subtle
Token_Text_Accent

Token_Stroke_Strong
Token_Stroke_Muted
Token_Stroke_Subtle

Token_Notification_Alert
Token_Notification_Success
Token_Notification_Neutral
Token_Notification_Danger
  
DSconnectionCodeEditor
DSconnectionEditorButtonBackground_hover
DSconnectionEditorButtonBorder_hover
DSconnectionEditorMicroToolbar

DSControlBackground_statusbarHover
DScontrolBackground_statusbarIdle
DScontrolBackground_toolbarHover
DScontrolBackground_toolbarIdle
DScontrolBackground_topToolbarHover
DScontrolOutline_topToolbarHover
DScontrolOutline_topToolbarIdle

DSidleGreen

DSpillDefaultBackgroundHover
DSpillDefaultBackgroundIdle
DSpillLiteralBackgroundHover
DSpillLiteralBackgroundIdle
DSpillOperatorBackgroundHover
DSpillOperatorBackgroundIdle
DSpillText
DspillTextEdit
DSpillTextSelected

DSpopoutBackground
DSpopoutButtonBackground_disabled
DSpopoutButtonBackground_hover
DSpopoutButtonBackground_idle
DSpopoutButtonBackground_interaction

DSpopoutButtonBorder_disabled
DSpopoutButtonBorder_hover
DSpopoutButtonBorder_idle
DSpopoutButtonBorder_interaction

DSpopoutControlBackground_disabled
DSpopoutControlBackground_globalHover
DSpopoutControlBackground_hover
DSpopoutControlBackground_idle
DSpopoutControlBackground_interaction

DSpopoutControlBorder_disabled
DSpopoutControlBorder_hover
DSpopoutControlBorder_idle
DSpopoutControlBorder_interaction

DSpopoutPopupBackground

DSprimaryButton_hoverHighlight

DSrunningGreen

DSscrollBarHandle_idle

DSstateBackgroundColor_hover
DSstateControlBackgroundColor_globalHover
DSstateControlBackgroundColor_hover
DSstateHighlight
DSstatePanelBackground

DSstatusbarBackground

DSthumbnailBackground_baseState

DStoolbarBackground
DStoolbarIcon_blocked

TerminalAnsi0
TerminalAnsi1
TerminalAnsi10
TerminalAnsi11
TerminalAnsi12
TerminalAnsi13
TerminalAnsi14
TerminalAnsi15
TerminalAnsi2
TerminalAnsi3
TerminalAnsi4
TerminalAnsi5
TerminalAnsi6
TerminalAnsi7
TerminalAnsi8
TerminalAnsi9

TerminalBackground
TerminalFindMatch
TerminalForeground
TerminalSelection

TextEditor_Selection_ScrollBarColor

Figmatokens
Token_Basic_Black
Token_Basic_White

Token_Accent_Default
Token_Accent_Muted
Token_Accent_Subtle

Token_Background_Default
Token_Background_Muted
Token_Background_Subtle

Token_Foreground_Default
Token_Foreground_Muted
Token_Foreground_Subtle

Token_Text_Default
Token_Text_Muted
Token_Text_Subtle
Token_Text_Accent

Token_Stroke_Strong
Token_Stroke_Muted
Token_Stroke_Subtle

Token_Notification_Alert
Token_Notification_Success
Token_Notification_Neutral
Token_Notification_Danger

However this is not a definitive list, as some of the new keys could have already been implemented by catppuccin/qtcreator, so for the sake of completeness, I'll provide an update of a more complete list by aggregating every default theme together, along with their figmakey files, remove duplicates, and filter for keys that do not appear in this theme. I could also read the docs but.. it's likely not very well documented yet.. at least that's what I'm telling myself to justify writing a sick Neovim macro and watching it run even though I could have done the exact same thing with cat, uniq, xargs, and grep.. but dopamine!


Also thanks for letting me know about this @ACCSCI

@PsychedelicShayna PsychedelicShayna added enhancement New feature or request help wanted Extra attention is needed labels Dec 20, 2024
@PsychedelicShayna PsychedelicShayna self-assigned this Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant