-
Notifications
You must be signed in to change notification settings - Fork 6
Description
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 aligmatokenfigmatoken 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