On 2023-01-01 16:53, Lex Trotman via Users wrote:
CSS is definitely where images are specified.
See https://docs.gtk.org/gtk3/css-overview.html#:~:text=CSS%20nodes,each%20node%20are%20linearly%20ordered.
As well as how to specify images, how to specify states, eg active
tab, that has an example of changing a notebook tab colour.  You would
need an alternative image, so maybe changing the colour will be
sufficient if you make your active tab bright orange so it stands out
;-)
Lex, That'll be helpful for new(er) users. Same GENERAL process applies to many apps (does in Linux}.
 
General tip - to myself & others:  be polite...

On 1/2/23 09:06, Ray Andrews via Users wrote:
If there's a... 'decoration' then [there's] going to be an *.xpm file.
Not necessarily. Depends on how a **specific** object / element in an app's UI was developed. If by Gtk, then CSS can generally be used to customize the same (but not 100.00% of time).

I'm not about to learn CSS/GTK, that would take the rest of my life.
Oh, yes you are!!! Don't make us come over "there". Tape your eyelids open & stare at  code below (like most wanting to customize a UI have done). :D
"take the rest of my life" - it may not be that long.

The following is a dreaded CSS rule from a customized system-wide theme (in Linux) - gtk.css (gtk-3.20).  I tested - adding it to A COPY of geany.css; and placed at the end of the file that's in the (Linux) path: home/<user-name</.config/geany/geany.css.

Changes in geany.css in the path shown (in Linux) will override the same code found in geany.css from the INSTALLATION folder (if the code exists). If that code DOESN'T exist in orig. geany.css, assuming the CSS selector plus the property & value that we added are correct, it will still style that element.
notebook > header.top > tabs > tab:hover:not(:checked), notebook > header.top > tabs > tab:checked {
    border-top-width: 3px;
    border-top-color: #FC7BF4; /*test- pink top border. Change as desired. */
    margin-top: 0;
    padding-top: 1px; }

In general, it changes the top border(s) of selected tabs in most (not all) apps that use CSS to style that object in the UI. Not ALL of THE UI in ALL APPS, is styled 100% w/ CSS.
It "depends."

If one wants to change an object *ONLY in Geany* or in a given app, they may have to edit an existing <app-name>.CSS file - or create it. It's a BAD idea to edit the original CSS or ANY ORIGINAL file in an app.

In Linux, I have: /home/<user-name>/.config/geany/geany.css file. Probably copied from the Geany installation folder to my user folder. (Same concept in Windows, but the path where the geany.css file (to be customized) should go will differ. Where to place it - should easily be searchable (or stated in the Geany user manual). 

That way, if you f.., uh, mess up the edited file, the ORIGINAL file in the installation folder is untouched.