diff options
-rw-r--r-- | data/Makefile.am | 1 | ||||
-rw-r--r-- | data/caja-desktop.css | 34 | ||||
-rw-r--r-- | data/caja.css | 31 | ||||
-rw-r--r-- | src/caja-application.c | 25 |
4 files changed, 57 insertions, 34 deletions
diff --git a/data/Makefile.am b/data/Makefile.am index 0342a34c..757958ba 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -34,6 +34,7 @@ cajadata_DATA = \ caja-extras.placeholder \ caja-suggested.placeholder \ caja.css \ + caja-desktop.css \ $(NULL) # app data file diff --git a/data/caja-desktop.css b/data/caja-desktop.css new file mode 100644 index 00000000..a56797d9 --- /dev/null +++ b/data/caja-desktop.css @@ -0,0 +1,34 @@ +/* Everything that themes must not override goes in this file */ +/* This is loaded with GTK_STYLE_PROVIDER_PRIORITY_APPLICATION and overrides themes */ + +.caja-desktop-window, +.caja-desktop:not(:selected):not(:active):not(.rubberband){ + background-color: transparent; +} + +/* desktop mode */ +.caja-desktop.caja-canvas-item { + color: #ffffff; + text-shadow: 1px 1px alpha (#000000, 0.8); +} + +.caja-desktop.caja-canvas-item:selected, +.caja-desktop.caja-canvas-item:active, +.caja-desktop.caja-canvas-item:hover { + text-shadow: none; +} + +/* remove possible theme settings for borders on scrolledwindow with gtk+-3.20 */ +.caja-desktop-window > grid.vertical > box.vertical > box.vertical > box.vertical > scrolledwindow, +.caja-desktop-window > grid.vertical > box.vertical > box.vertical > box.vertical > scrolledwindow.frame, +.caja-desktop-window > grid.vertical > box.vertical > box.vertical > box.vertical > scrolledwindow > widget.view.caja-desktop { + border-width: 0px; + border-style: none; + border-radius: 0px; +} + +/* This is not on the desktop but will cause errors if themes can override */ +/* Padding in slider buttons causes GTK errors in GTK 3.20 or later */ +.caja-navigation-window .slider-button { + padding: 0px; +} diff --git a/data/caja.css b/data/caja.css index aeaab9b1..edff9151 100644 --- a/data/caja.css +++ b/data/caja.css @@ -1,25 +1,10 @@ +/*Sane defaults for themes that do not specify them, themes can override these */ +/*This is loaded with GTK_STYLE_PROVIDER_PRIORITY_THEME so themes can override */ .caja-canvas-item { border-radius: 3px; } -.caja-desktop-window, -.caja-desktop:not(:selected):not(:active):not(.rubberband){ - background-color: transparent; -} - -/* desktop mode */ -.caja-desktop.caja-canvas-item { - color: #ffffff; - text-shadow: 1px 1px alpha (#000000, 0.8); -} - -.caja-desktop.caja-canvas-item:selected, -.caja-desktop.caja-canvas-item:active, -.caja-desktop.caja-canvas-item:hover { - text-shadow: none; -} - /* EelEditableLabel (icon labels) */ .caja-desktop.view .entry, .caja-desktop.view .entry:focus, @@ -55,16 +40,4 @@ text-shadow: none; } -/* remove possible theme settings for borders on scrolledwindow with gtk+-3.20 */ -.caja-desktop-window > grid.vertical > box.vertical > box.vertical > box.vertical > scrolledwindow, -.caja-desktop-window > grid.vertical > box.vertical > box.vertical > box.vertical > scrolledwindow.frame, -.caja-desktop-window > grid.vertical > box.vertical > box.vertical > box.vertical > scrolledwindow > widget.view.caja-desktop { - border-width: 0px; - border-style: none; - border-radius: 0px; -} -/* Padding in slider buttons causes GTK errors in GTK 3.20 or later */ -.caja-navigation-window .slider-button { - padding: 0px; -} diff --git a/src/caja-application.c b/src/caja-application.c index b179643f..e6c607fd 100644 --- a/src/caja-application.c +++ b/src/caja-application.c @@ -1022,17 +1022,32 @@ init_css (void) GtkCssProvider *provider; GError *error = NULL; + /* add our custom CSS provider */ provider = gtk_css_provider_new (); gtk_css_provider_load_from_path (provider, CAJA_DATADIR G_DIR_SEPARATOR_S "caja.css", &error); if (error != NULL) { - g_warning ("Failed to load application css file: %s", error->message); - g_error_free (error); + g_warning ("Can't parse Caja' CSS custom description: %s\n", error->message); + g_error_free (error); + } else { + gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), + GTK_STYLE_PROVIDER (provider), + GTK_STYLE_PROVIDER_PRIORITY_THEME); + } + +/* add our desktop CSS provider, ensures the desktop background does not get covered */ + provider = gtk_css_provider_new (); + gtk_css_provider_load_from_path (provider, + CAJA_DATADIR G_DIR_SEPARATOR_S "caja-desktop.css", &error); + + if (error != NULL) { + g_warning ("Can't parse Caja' CSS custom description: %s\n", error->message); + g_error_free (error); } else { - gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), - GTK_STYLE_PROVIDER (provider), - GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), + GTK_STYLE_PROVIDER (provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } g_object_unref (provider); |