Would it be an acceptable fix to perform the checking for windows in the ui_utils.c file and adding a new style for windows in the gtkrc.
I have modified ui_utils.c which defines ui_set_search_entry_background at line 1100 to check for OS:
#ifdef G_OS_WIN32 gtk_widget_set_name(widget, success ? NULL : "win-geany-search-entry-no-match"); #else gtk_widget_set_name(widget, success ? NULL : "geany-search-entry-no-match"); #endif
and then made the corresponding changes to the gtkrc file:
# set windows search to prevent widget "GeanyDialogSearch.*.win-geany-search-entry-no-match" style "geany-monospace"
# set red background for GtkEntries on windows showing unmatched searches style "win-geany-search-entry-no-match-style" { base[NORMAL] = "#ffff66666666" text[NORMAL] = "#ffffffffffff" } widget "*.win-geany-search-entry-no-match" style "win-geany-search-entry-no-match-style"
This seems to preserve the Adwaita workaround while fixing the issue on windows.