Skip to content

Commit f735e68

Browse files
committedOct 9, 2012
Add GTK3 version of our custom styles
Although GTK3 still have gtk_rc_parse_string(), it doesn't work anymore for our overrides, so register proper CSS for them.
1 parent 7d0adef commit f735e68

File tree

4 files changed

+52
-1
lines changed

4 files changed

+52
-1
lines changed
 

‎Makefile.am

+6-1
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,13 @@ SYS_DATA_FILES = \
2424
$(srcdir)/data/templates/* \
2525
$(srcdir)/data/templates/files/* \
2626
$(srcdir)/data/colorschemes/* \
27-
$(top_srcdir)/data/geany.glade \
27+
$(top_srcdir)/data/geany.glade
28+
29+
if GTK3
30+
$(top_srcdir)/data/geany.css
31+
else
2832
$(top_srcdir)/data/geany.gtkrc
33+
endif
2934

3035
EXTRA_DIST = \
3136
autogen.sh \

‎configure.ac

+1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ AS_IF([test "x$enable_gtk3" = xyes],
6767
gtk_min_version=3.0],
6868
[gtk_package=gtk+-2.0
6969
gtk_min_version=2.16])
70+
AM_CONDITIONAL([GTK3], [test "x$gtk_package" = "xgtk+-3.0"])
7071

7172
# GTK/GLib/GIO checks
7273
gtk_modules="$gtk_package >= $gtk_min_version glib-2.0 >= 2.20"

‎data/geany.css

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/* custom GTK3 CSS for Geany */
2+
3+
/* make close button on the editor's tabs smaller */
4+
#geany-close-tab-button {
5+
-GtkWidget-focus-padding: 0;
6+
-GtkWidget-focus-line-width: 0;
7+
-GtkButton-default-border: 0;
8+
-GtkButton-default-outside-border: 0;
9+
-GtkButton-inner-border: 0;
10+
padding: 0;
11+
}
12+
13+
/* use monospaced font in search entries for easier reading of regexp (#1907117) */
14+
#GeanyDialogSearch GtkEntry {
15+
font-family: monospace;
16+
}
17+
18+
/* set red background for GtkEntries showing unmatched searches */
19+
#geany-search-entry-no-match {
20+
color: #fff;
21+
background: #ff6666;
22+
}
23+
#geany-search-entry-no-match:selected {
24+
background-color: #771111;
25+
}

‎src/ui_utils.c

+20
Original file line numberDiff line numberDiff line change
@@ -2260,10 +2260,30 @@ void ui_init_builder(void)
22602260

22612261
static void init_custom_style(void)
22622262
{
2263+
#if GTK_CHECK_VERSION(3, 0, 0)
2264+
gchar *css_file = g_build_filename(app->datadir, "geany.css", NULL);
2265+
GtkCssProvider *css = gtk_css_provider_new();
2266+
GError *error = NULL;
2267+
2268+
if (! gtk_css_provider_load_from_path(css, css_file, &error))
2269+
{
2270+
g_warning("Failed to load custom CSS: %s", error->message);
2271+
g_error_free(error);
2272+
}
2273+
else
2274+
{
2275+
gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),
2276+
GTK_STYLE_PROVIDER(css), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
2277+
}
2278+
2279+
g_object_unref(css);
2280+
g_free(css_file);
2281+
#else
22632282
gchar *gtkrc_file = g_build_filename(app->datadir, "geany.gtkrc", NULL);
22642283

22652284
gtk_rc_parse(gtkrc_file);
22662285
g_free(gtkrc_file);
2286+
#endif
22672287
}
22682288

22692289

0 commit comments

Comments
 (0)
Please sign in to comment.