I spent some time looking at lots of stuff pertaining to this and ended up with the settings I currently use in my gtk.css file, attached. Have a look and see if you can use any of my "tricks".
/*
 * Author: Kenneth J. Farley
 * Date:   2021-12-11
 *
 * GTK3 CSS file for use with GnuCash.
 * Developed by looking at complete theme definitions,
 * and scouring the internet for documentation.
 */

/* --- [ Variable Definitions ] ------------------------
 *
 * Definitions of colors so they can be used in many
 * places and subsequently changed conveniently, rather than
 * trying to find all uses of a particular color, etc.
 */

@define-color hueClear          rgba(   0,   0,   0, 0.00 ) ;
@define-color hueBGButton       rgba( 240, 240, 240, 1.00 ) ;
@define-color hueBGDropdown     rgba( 250, 235, 215, 1.00 ) ;
@define-color hueBGMain         rgba( 220, 220, 220, 1.00 ) ;
@define-color hueBGNormal       rgba( 220, 220, 220, 1.00 ) ;
@define-color hueBGScroll       rgba( 250, 250, 250, 0.40 ) ;
@define-color hueBGSlider       rgba(  72,  61, 139, 1.00 ) ;
@define-color hueBGTooltip      rgba(   0,   0,   0, 0.80 ) ;
@define-color hueBGTrough       rgba( 150, 150, 150, 0.80 ) ;
@define-color hueBGSelected     rgba(   0, 128, 128, 1.00 ) ;
/*
 * Hover   Custom Orange  = 255, 136,  77
 *         Chartreuse     = 127, 255,   0
 *         Carolina Blue  =  87, 160, 211
 *         Neon Green     =  57, 255,  20
 */
@define-color hueHover          rgba( 255, 136,  77, 1.00 ) ;
@define-color hueHoverLo        rgba( 255, 136,  77, 0.10 ) ;
@define-color hueHoverMd        rgba( 255, 136,  77, 0.20 ) ;
@define-color hueHoverHi        rgba( 255, 136,  77, 0.50 ) ;
@define-color hueHoverBorder    rgba( 255, 136,  77, 1.00 ) ;
/*
 * Tabs
 */
@define-color hueTabHover       rgba(  26, 140, 255, 1.00 ) ;
@define-color hueTabHoverLo     rgba(  26, 140, 255, 0.10 ) ;
@define-color hueTabHoverMd     rgba(  26, 140, 255, 0.20 ) ;
@define-color hueTabHoverHi     rgba(  26, 140, 255, 0.50 ) ;
@define-color hueTabHoverBorder rgba(  26, 140, 255, 1.00 ) ;
/*
 * Shade   LightCyan      = 224, 255, 255
 *         LightSteelBlue = 176, 196, 222
 *         LightYellow    = 255, 255, 214
 */
@define-color hueShadedLo       rgba( 176, 196, 222, 0.05 ) ;
@define-color hueShadedMd       rgba( 176, 196, 222, 0.20 ) ;
@define-color hueShadedHi       rgba( 176, 196, 222, 0.50 ) ;
/*
 * Hilite  White          = 255, 255, 255
 */
@define-color hueHiliteLo       rgba( 255, 255, 255, 0.10 ) ;
@define-color hueHiliteMd       rgba( 255, 255, 255, 0.25 ) ;
@define-color hueHiliteHi       rgba( 255, 255, 255, 0.50 ) ;
@define-color hueBorderNormal   lightsteelblue ;
@define-color hueProgress       rgba(   0, 102, 102, 1.00 ) ;
@define-color hueRegCursor      rgba( 230, 195,   0, 1.00 ) ;
@define-color hueRegDark        lightsteelblue ;
@define-color hueRegHeader      darkslateblue ;
@define-color hueRegLight       lemonchiffon ;
@define-color hueTextNormal     black ;
@define-color hueTextInverted   white ;

/*
 * --- [ Overall Appearance ] --------------------------
 *
 * Settings that will affect all occurrences of the
 * indicated components, unless they are overriden later.
 */

*
{
  font-family:      "Lucida Grande", sans-serif ;
  font-size:        11pt ;
}

button
{
  background-color: @hueBGButton ;
  background-image: linear-gradient(@hueShadedLo,@hueShadedMd,@hueShadedHi) ;
  border-radius:    6px ;
  border-style:     solid ;
  border-color:     @hueBGNormal ;
  border-width:     1px ;
}

button:hover
{
  background-color: @hueBGButton ;
  background-image: linear-gradient(@hueHoverLo,@hueHoverMd,@hueHoverHi) ;
  border-style:     solid ;
  border-color:     @hueHoverBorder ;
  border-width:     1px ;
}

/*
 * --- [ Status Bar ] ----------------------------------
 *
 * The bar at the bottom of the frame window that gives
 * a brief bit of info like the file name, and also holds
 * the progress bar that shows status of a read or save.
 */

statusbar label
{
  font-size:        11pt ;
  font-weight:      bold ;
  color:            @hueTextNormal ;
}

progressbar
{
  background-color: @hueClear ;
  font-size:        10pt ;
  margin:           0px 2px 2px 0px ;
}

progressbar.horizontal trough,
levelbar.horizontal trough,
progressbar.horizontal progress
{
  min-height:        10px ;
  border-radius:     5px ;
}

progressbar progress
{
  background-color: @hueProgress ;
  background-image: linear-gradient(@hueHiliteLo,@hueHiliteMd,@hueHiliteHi) ;
  height:           auto ;
  border-style:     none ;
}

/*
 * --- [ Main Window Bottom Bar ] ----------------------
 *
 * The small bar at the bottom of the application that
 * is visible for all operations.
 */

.GncMainWindow
{
  background-color: @hueBGMain ;
}

/*
 * --- [ Summary Bar ] ---------------------------------
 *
 * The "button" at the bottom of the Accounts page that
 * shows the total worth, profit, etc.
 */

.GncAccountPage
{
  background-color: @hueBGMain ;
}

.summary-bar
{
  background-color: @hueClear ;
}

.summary-bar cellview
{
  background-color: @hueClear ;
  color:            @hueTextNormal ;
}

.combo
{
  background-color: @hueBGButton ;
  background-image: linear-gradient(@hueShadedLo,@hueShadedMd,@hueShadedHi) ;
  color:            @hueTextNormal ;
  font-size:        16pt ;
  font-weight:      bold ;
}

/*
 * --- [ Notebook ] ------------------------------------
 *
 * The Notebook is the GUI structure Gnucash uses to show
 * the list of accounts, account registers, etc. It is a
 * simulation of a tabbed set of files. The settings here
 * will format those tabs, giving them similar behavior
 * as that for buttons (highlighting mouse hover, etc.)
 */

.GncMainWindow notebook box > image
{
  margin-left:      -2em ;
  margin-right:     -2em ;
  padding:          0px ;
  opacity:          0 ;
}

tabs, tab
{
  margin:           2px ;
  padding:          2px ;
}

tabs label
{
  margin:           2px ;
}

notebook > header
{
  background-color: @hueBGMain ;
  border-color:     @hueBGMain ;
}

notebook tab
{
  background-color: @hueBGButton ;
  background-image: linear-gradient(@hueShadedLo,@hueShadedMd,@hueShadedHi) ;
  min-height:       32px ;
  margin:           1px 1px 0px 0px;
  padding:          0px ;
  border-style:     solid ;
  border-color:     @hueBGNormal ;
  border-width:     1px 1px 0px 1px ;
  border-radius:    6px 6px 0px 0px ;
}

notebook tab:hover
{
  background-image: linear-gradient(@hueTabHoverLo,@hueTabHoverMd,@hueTabHoverHi) ;
  border-color:     @hueTabHoverBorder ;
}

notebook tab:checked
{
  border-color:     @hueTabHoverBorder ;
}

notebook > header.left tabs tab
{
  margin:           0px ;
  padding:          0px ;
  border-style:     solid ;
  border-color:     @hueBGNormal ;
  border-width:     1px 0px 1px 1px ;
  border-radius:    6px 0px 0px 6px ;
}

notebook > header.left tabs tab:hover
{
  border-color:     @hueTabHover ;
}

notebook >header.left tabs tab:checked
{
  border-color:     @hueTabHoverBorder ;
}

notebook tab box
{
  padding:          0px ;
  margin:           0px ;
  background-color: @hueClear ;
  border-width:     0px ;
}

notebook > header tab button:hover,
notebook > header tab button:hover:checked
{
  background-image: linear-gradient(@hueTabHoverLo,@hueTabHoverMd,@hueTabHoverHi) ;
  border-color:     @hueTabHoverBorder ;
}

/*
 * --- [ Scroll Bars ] ---------------------------------
 *
 * The scroll bars that show up on data presentations that
 * are too big for the current window.
 */

scrollbar
{
  background-image: none ;
  border-style:     solid ;
  background-color: @hueBGScroll ;
}

scrollbar trough
{
  border-style:     none ;
  border-width:     0px ;
  background-color: @hueBGTrough ;
}

scrollbar.vertical trough
{
  background-image: linear-gradient(to right,@hueHiliteLo,@hueHiliteMd,@hueHiliteHi) ;
}

scrollbar slider
{
  background-color: @hueBGSlider ;
}

/*
 * --- [ Account Tree ] --------------------------------
 *
 * The list of accounts, usually the first window tab
 * in the program.
 */

#account_tree
{
  letter-spacing:   0px ;
  background-color: lavender ;
  color:            @hueTextNormal ;
}

.GncAccountPage box
{
  background-color: @hueClear ;
}

.GncAccountPage label
{
  font-weight:      bold ;
  background-color: @hueClear ;
  color:            @hueTextInverted ;
}

#account_tree:selected
{
  background-color: @hueBGSelected ;
  color:            @hueTextInverted ;
  font-weight:      bold ;
}

treeview button
{
  background-color: @hueBGNormal ;
  color:            @hueTextNormal ;
}

#account_tree header button
{
  background-color: @hueRegHeader ;
  background-image: linear-gradient(@hueShadedLo,@hueShadedMd,@hueShadedHi) ;
  color:            @hueTextInverted ;
  border-radius:    0px ;
  border-style:     solid ;
  border-color:     @hueBGNormal ;
  border-width:     0px 1px 0px 0px ;
}

#account_tree header button:hover
{
  background-image: linear-gradient(@hueHiliteLo,@hueHiliteMd,@hueHiliteHi) ;
}

/*
 * --- [ Toolbar Settings ] ----------------------------
 *
 * These settings change the appearance of the toolbar
 * and its buttons.
 */

toolbar
{
  background-color: @hueBGMain ;
}

toolbar toolbutton button
{
  background-color: @hueBGButton ;
  background-image: linear-gradient(@hueShadedLo,@hueShadedMd,@hueShadedHi) ;
  padding-left:     2px ;
  padding-right:    2px ;
  border-color:     @hueBorderNormal ;
  min-width:        64px ;
}

toolbar toolbutton button:hover
{
  background-color: @hueBGButton ;
  background-image: linear-gradient(@hueHoverLo,@hueHoverMd,@hueHoverHi) ;
  border-color:     @hueHoverBorder ;
}

toolbar toolbutton label
{
  font-size:        11pt ;
  padding-left:     2px ;
  padding-right:    2px ;
}

/*
 * --- [ Register Settings ] ---------------------------
 *
 * Set the alternating colors for the lines of an account
 * register, the cursor (line being edited), the split
 * lines, etc.
 */

.GncRegisterPage
{
  background-color: @hueBGMain ;
}

.GncRegisterPage label
{
  font-family:      "CopperPlate", sans-serif ;
  font-size:        12pt ;
  background-color: @hueClear ;
  color:            @hueTextNormal ;
  margin:           2px ;
}

*.gnc-class-register-header
{
  background-color: @hueRegHeader ;
  color:            @hueTextInverted ;
}

*.gnc-class-register-primary
{
  background-color: @hueRegLight ;
  color:            @hueTextNormal ;
}

*.gnc-class-register-primary:disabled
{
  background-color: mix (@hueRegLight, grey, 0.2) ;
  color:            mix (@hueTextNormal, grey, 0.2) ;
}

*.gnc-class-register-secondary
{
  background-color: @hueRegDark ;
  color:            @hueTextNormal ;
}

*.gnc-class-register-secondary:disabled
{
  background-color: mix (@hueRegDark, grey, 0.2) ;
  color:            mix (@hueTextNormal, grey, 0.2) ;
}

*.gnc-class-register-split
{
  background-color: @hueBGDropdown ;
  color:            @hueTextNormal ;
}

*.gnc-class-register-split:disabled
{
  background-color: mix (@hueBGDropdown, grey, 0.2) ;
  color:            mix (@hueTextNormal, grey, 0.2) ;
}

*.gnc-class-register-cursor
{
  background-color: @hueRegCursor ;
  color:            @hueTextNormal ;
}

*.gnc-class-register-cursor:disabled
{
  background-color: mix (@hueRegCursor, grey, 0.2) ;
  color:            mix (@hueTextNormal, grey, 0.2) ;
}

gnc-id-cursor entry
{
  margin:           2px 5px 2px 5px ;
  background-color: @hueRegCursor ;
  color:            @hueTextNormal ;
}

gnc-id-cursor button
{
  margin:           1px 1px 1px 1px ;
}

/*
 * --- [ Tooltips ] ------------------------------------
 *
 * These are the small popups that give a brief line of text
 * explaining the function of a button, etc.
 */

tooltip.background
{
  background-color: @hueClear ;
}

tooltip box
{
  background-color: @hueBGTooltip ;
  color:            @hueTextInverted ;
  border-radius:    4px ;
  padding:          0px 0px 0px 0px ;
}

/*
 * --- [ Calendar ] ------------------------------------
 *
 * Apparently someone thought the calendar was important,
 * since they provided a lot of means of altering its
 * appearance.
 */

sheet calendar
{
  font-family:      "Arial", sans-serif ;
  font-size:        10pt ;
}

calendar
{
  border-color:     @hueHoverBorder
}

calendar.header
{
  background-color: @hueBGNormal ;
  border-radius:    2px ;
  border-width:     1px ;
  border-color:     @hueBGNormal ;
  background-image: linear-gradient(@hueShadedLo,@hueShadedMd,@hueShadedHi) ;
  color:            @hueTextNormal ;
}

calendar.highlight
{
  background-color: @hueBGSelected ;
  color:            @hueTextInverted ;
  border-radius:    0px ;
  padding:          0px ;
}

calendar.view
{
  background-color: @hueRegDark ;
  background-image: linear-gradient(to right,@hueHiliteLo,@hueHiliteHi) ;
  color:            @hueTextNormal ;
}

#dens-cal-popup treeview
{
  background-color: @hueBGDropdown ;
}

calendar.button
{
  background-color: @hueBGButton ;
  background-image: linear-gradient(@hueShadedLo,@hueShadedMd,@hueShadedHi) ;
  border-radius:    2px ;
  border-style:     solid ;
  border-color:     @hueBGNormal ;
  border-width:     1px ;
}

calendar.button:hover
{
  background-color: @hueBGButton ;
  background-image: linear-gradient(@hueHoverLo,@hueHoverMd,@hueHoverHi) ;
  border-style:     solid ;
  border-width:     1px ;
  border-color:     @hueHoverBorder ;
}

calendar*:selected,
calendar*:selected:focus
{
  background-color: @hueBGSelected ;
  color:            @hueTextInverted ;
  border-radius:    2px ;
}
_______________________________________________
gnucash-user mailing list
[email protected]
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to