Themes and Appearance Options - Windows

I have successfully altered the Appearance of key items in Scrivener and saved the Appearance Options. I can easily load saved Options if my mood changes and I want a different look. My question concerns Themes. What is the difference between saving Appearance Options and using a pre-defined Theme? When should I use one as opposed to the other?

Altering the appearance and saving is a theme . I take any of themes out there or a default one tweak and save with new name. Like for dark themes I still like a white editor so will name dark theme x_white so can easily identify. Use save theme function with new name and preserve original. Very small files

On MacOS, changing the Appearance options and saving that as a Theme File, is the best you can do to create a Theme.

ConfiguringMacEnterThemeName

On Windows, a Theme may also recolor ui-elements, like Menubar, Menus, and Toolbars, Splitter and Buttons. It’s possible to save any Theme to file and change it the way you like. Apart from a prefs-file a Theme contains a Palette, a QSS Stylesheet, and a XML manifest, compressed in a Zip-file.

A prefs file will only replace a series of Preference Settings, a Theme may replace the looks of the entire UI, on Windows at least.

At the risk of being redundant to the other posters -

Windows Scrivener Options contain appearance settings, plus a host of non-appearance settings. Saving Options to file creates a .prefs file.

Windows Scrivener Themes contain a subset of the appearance settings in Options, plus many other appearance settings that you can’t get to from Options. Saving a theme to file creates a .scrtheme file.

Initially I took the same approach with v3, but eventually I realized that it worked better for me to use .scrtheme files to manage appearance changes.

Although I rarely change non-appearance settings, sometimes I do, which made managing my appearance changes using .prefs unwieldy. For example, lets say I had three different “looks” that I regularly switch between, with a .prefs file for each. Then one day I decide I want to make a non-appearance settings change. I would need to update my three .prefs files with that non-appearance change, otherwise I’ll lose the non-appearance change the next time I load a .prefs file to switch to a different look.

Here’s what I do now -

I have one .prefs file that contains my preferred Options. When I want to change a non-appearance or non-theme setting, I make the change using File > Options and then Save Options to file, creating a new version of this file.

I have multiple .scrtheme files, based on customizations I’ve made to various default themes and themes people have uploaded to this forum. By customizations, I don’t mean hacking a theme like @AntoniDol mentions. I mean making changes via File > Options. For example, for a few themes I’ve had to change the options below to better match the theme’s colors:

Textual Marks > Colors > Spell check underline
Comp Mode > Colors > Text Selection Background
Comp Mode > Colors > Text Selection Text
Main Editor > Colors > Current Line highlight (also applies to Comp Mode)
Main Editor > Colors > Text Selection Background
Main Editor > Colors > Text Selection Text

Another example: Some kind person created and uploaded the Dark Forest theme a while back. I loved it, but decided to tweak a few settings for my eyes. From File > Options, I changed Search Results Highlight and Corkboard Backgrounds and Target Progress Bars > Start Color / End Colors. Then I did Save Theme to file and created a custom .scrtheme file. When I feel foresty, I load that custom .scrtheme file and I’m in a green heaven. :sunglasses:

Best,
Jim

1 Like

Thank you all for the thoughtful responses. Will experiment a bit with themes

Two new problems:


I began with the “White” theme provided earlier in the week and then tried to modify it’s appearance. As you can see the left side of the binder shows the underlying Theme color and not the new Binder Background Color.


The second problem is that I cannot save a Theme to File. It is greyed out. What am I missing?

Thanks in advance for your help.
-Big John

In your screenshot I can see White theme under Custom Themes, so you did Import it. But I can also see that the active theme is Default, because that’s the one with the check mark. You can’t save changes to the Default theme, which is why Save Theme to File is greyed out.

What you should do is -

  1. Make White the active them via Windows > Theme > select White (you will lose any changes you’ve made to Default, but that can’t be helped) (you should get a message “please restart to apply the new theme”)
  2. Completely close/exit all Scrivener projects and shutdown Scrivener
  3. Launch Scrivener
  4. Confirm via Window > Themes that White is active (has the checkmark)
  5. Customize White as you like
  6. Save your new version of White to a .scrtheme file
  7. If you’ve created a new .scrtheme file, e.g. “My White.scrtheme”, you’ll need to do Window > Theme > Import > My Custom White.scrtheme to have it show up under the list of Custom themes

Best,
Jim

The other tip is if you want to cycle thru themes quickly -

  1. Restart with first new theme
  2. Now do not add any data/ changes to any projects. If choose new theme will have to restart, BUT!!! All open projects will close instantly since nothing other than a theme change. Now can cycle quickly thru all themes you have to decide which you want to modify.

“Ahhh, now I see,” said the blind man.
Thanks again.

-Big John

The background -color of the Binder pane is set in the Palette and/or the QSS file.
Rename White.scrtheme to White.ZIP and unzip it with a dedicated ZIP-tool (WInZip, 7-zip)
Update the QSS file to set the Binder pane background color:

QTreeView::branch:selected:!active {
background: rgba(255,0,255,1);
}

The Default Theme cannot be save to file and appearantly the Default Theme is active.
Load the White Theme from file, because that is a remake of the Default Theme and change that (as you indicated you already did).

AntonioDol
You said: Update the QSS file to set the Binder pane background color:
QTreeView::branch:selected:!active {
background: rgba(255,0,255,1);
}
Is there a chart of these settings? A guide or map?

-Big John

Well… no.

I’ve created a Theme called PrimaryColors, I use not for esthetical reasons but purely for testing what Palette and Qss settings have what effect in the UI.

I’ve annotated the Palette file with all the UI-elements a particular color setting is affecting. The default palette is also already annotated by the Developers, the Qss sparcely. The color and style names are somewhat descriptive.

The process of creating a Theme for Windows, I’ve described in mijn book.

Several posts in this Forum describe the way to create a Theme, which taught me a lot. But nothing beats hand-on experience and discovery.

There are some specs on the Qss and Q-? platform the program is buid on. I can look those up and post those here, but I believe the software also has to implement the usage of Theme settings for anything to work. AFAIK those specs are not available.

You can learn from other Themes just by unzipping and analyzing them. Windows Themes are found here: Scrivener 3 Themes (Windows)

So, there you have it. Until I write another book about Creating Themes for Scrivener, that’s all the specs we have.

2 Likes