diff --git a/gtk/gtk_gui.c b/gtk/gtk_gui.c index 1977c5f43..07e89e11e 100644 --- a/gtk/gtk_gui.c +++ b/gtk/gtk_gui.c @@ -16,19 +16,43 @@ #include "netsurf/desktop/browser.h" #include "netsurf/desktop/gui.h" #include "netsurf/desktop/netsurf.h" +#include "netsurf/desktop/options.h" #include "netsurf/render/box.h" #include "netsurf/render/form.h" +#include "netsurf/render/html.h" #include "netsurf/utils/messages.h" #include "netsurf/utils/utils.h" bool gui_in_multitask = false; +char *default_stylesheet_url; +char *adblock_stylesheet_url; + void gui_init(int argc, char** argv) { + char *home; + char buf[1024]; + + /* All our resources are stored in ~/.netsurf/ */ + home = getenv("HOME"); + if (!home) + die("Couldn't find HOME"); + gtk_init(&argc, &argv); - messages_load("messages"); + + snprintf(buf, sizeof buf, "%s/.netsurf/Choices", home); + options_read(buf); + + snprintf(buf, sizeof buf, "%s/.netsurf/messages", home); + messages_load(buf); + + /* set up stylesheet urls */ + snprintf(buf, sizeof buf, "file:///%s/.netsurf/Default.css", home); + default_stylesheet_url = strdup(buf); + snprintf(buf, sizeof buf, "file:///%s/.netsurf/AdBlock.css", home); + adblock_stylesheet_url = strdup(buf); } @@ -55,6 +79,8 @@ void gui_multitask(void) void gui_quit(void) { + free(default_stylesheet_url); + free(adblock_stylesheet_url); } diff --git a/render/html.c b/render/html.c index abbbb92b9..62f75aadf 100644 --- a/render/html.c +++ b/render/html.c @@ -20,9 +20,7 @@ #include "netsurf/content/fetch.h" #include "netsurf/content/fetchcache.h" #include "netsurf/desktop/imagemap.h" -#ifdef riscos #include "netsurf/desktop/gui.h" -#endif #include "netsurf/desktop/options.h" #include "netsurf/render/box.h" #include "netsurf/render/font.h" @@ -337,11 +335,7 @@ void html_find_stylesheets(struct content *c, xmlNode *head) c->active = 0; c->data.html.stylesheet_content[STYLESHEET_BASE] = fetchcache( -#ifdef riscos - "file://Resources/CSS", -#else - "file:///home/james/Projects/netsurf/CSS", -#endif + default_stylesheet_url, html_convert_css_callback, c, (void *) STYLESHEET_BASE, c->width, c->height, true, 0, 0, false); @@ -353,11 +347,7 @@ void html_find_stylesheets(struct content *c, xmlNode *head) if (option_block_ads) { c->data.html.stylesheet_content[STYLESHEET_ADBLOCK] = fetchcache( -#ifdef riscos - "file://Resources/AdBlock", -#else - "file:///home/james/Projects/netsurf/AdBlock", -#endif + adblock_stylesheet_url, html_convert_css_callback, c, (void *) STYLESHEET_ADBLOCK, c->width, c->height, true, 0, 0, false); diff --git a/render/html.h b/render/html.h index ec27dc531..c91f89f1f 100644 --- a/render/html.h +++ b/render/html.h @@ -33,6 +33,9 @@ struct plotters; #define STYLESHEET_STYLE 2 /*