How to change this UI color in the binder?

Hi all, would anyone happen to know how to change the color of the side of the binder so that the dropdown parts also match the binder color? It’s currently the dark gray that matches the rest of the dark mode theme, and I’d like it to be the same wine red color. I have a feeling I’m going to have to dig around in files somewhere, but I’m not sure what this particular UI part is called. It’s a little difficult to describe, so I can try to snag a photo if needed.

If you file> options then inside there appearance and look any where in there at various appearance options . Can look at binder and colors. Not at computer now. Once tweak the way you like believe then windows>themes> then save theme and give a name

Jensyn, is this what you are seeing? The left side of the binder in a different color?


2022-07-07 07_25_21

1 Like

Hi BigJohn, YES! That’s exactly what I’m talking about.

I thought I was going crazy! The only Style that doesn’t do that is Default and you can’t modify and save a Theme starting with Default. Any other theme can be modified and saved but tada! Artifacts! So far, I have not found a solution although I have recieved some excellent advice here on the Forum. I was just about to reinstall Scrivener in the hopes that would fix it. But, now I will wait to see if an answer pops up.



You’ll have to update your Theme:

In the Theme, the Binder items and the Binder background can have separate colors.
Because the binder items indent, the background color appears on the left.

For the Binder background to match the Binder Items, make sure the background color in the Appearance Options for the Binder (used by the items!) is the same as the “Base” color in the Palette file of the Theme:

In ThemeName.pal, update:
Base(122,177,241) //LightBlue Binder BG!
Note that this may update other UI elements that use the Base color as well …

Alternatively, update the QSS Stylesheet to match the color of the QTreeView object to the background color (used by the items) in the Appearance Options for the Binder:

In ThemeName.QSS, update:
QTreeView::branch:selected:!active {
background: rgba(122,177,241,1); /light blue/

The reach the .pal Palette en .qss Stylesheet, rename the .scrtheme-file to *.zip and extract the four files of the Theme. To reload the Theme, zip the updated file(s) and rename the resulting zip to .scrtheme. Copy the Theme’s folder path en choose Window > Themes > Load Theme from file… Paste the path of the Theme’s folder and double-click the name of the Theme. Restart Scrivener to show the UI in the updated Theme.


I found you to be correct in where to go to make the changes needed but uncovered another interesting behavior.
When my cursor is in the Binder the Format Toolbar looks like this:

However, when my cursor is in the Editor, the toolbar changes and several of the items turn white for no reason that I understand. I would prefer they didn’t change.

Any thought?

I think the first are disabled, the second enabled, because your caret (text cursor) is inside text. This would be standard and expected behavior. :wink:

It may be possible to override or suppress active/inactive states with themes. I haven’t looked into it specifically for that area, but there are pseudo-states for that kind of stuff.

Now as to whether or not it is wise to make interface components look interactive when they are completely inert and useless—well I would only recommend such an approach for a personal theme. For one you intend to share, it is going to be better to stick with what has been standard signalling for decades at this point. Dim or grey things out that cannot be interacted with; it saves the user time in having to manually click on everything in the UI to discover, through experimentation alone, what is capable, or to realise through cues that may not be obvious at all (such as an off-screen cursor), why a button that looks like all other functional buttons, isn’t doing anything (or is it? Who knows, not every button does something immediately obvious).

Thanks Amber, now that you explained the reason behind active/inactive it makes sense to leave things the way they are.