aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/html.cc2
-rw-r--r--src/plain.cc4
-rw-r--r--src/prefs.c1
-rw-r--r--src/prefs.h1
-rw-r--r--src/prefsparser.cc7
5 files changed, 15 insertions, 0 deletions
diff --git a/src/html.cc b/src/html.cc
index c46ec4af..91b8ac99 100644
--- a/src/html.cc
+++ b/src/html.cc
@@ -1785,6 +1785,8 @@ static void Html_tag_open_body(DilloHtml *html, const char *tag, int tagsize)
*/
if (!bgColor)
bgColor = html->styleEngine->style ()->backgroundColor;
+ if (!bgColor)
+ bgColor = style::Color::create (HT2LT(html), prefs.bg_color);
HT2LT(html)->setBgColor(bgColor);
diff --git a/src/plain.cc b/src/plain.cc
index 4da618e4..b5b2dc0a 100644
--- a/src/plain.cc
+++ b/src/plain.cc
@@ -85,6 +85,8 @@ void a_Plain_free(void *data);
*/
DilloPlain::DilloPlain(BrowserWindow *p_bw)
{
+ style::Color *bgColor;
+
/* Init event receiver */
plainReceiver.plain = this;
@@ -95,6 +97,8 @@ DilloPlain::DilloPlain(BrowserWindow *p_bw)
state = ST_SeekingEol;
Layout *layout = (Layout*) bw->render_layout;
+ bgColor = style::Color::create (layout, prefs.bg_color);
+ layout->setBgColor(bgColor);
StyleEngine styleEngine (layout);
styleEngine.startElement ("body");
diff --git a/src/prefs.c b/src/prefs.c
index 5514c01a..f968710a 100644
--- a/src/prefs.c
+++ b/src/prefs.c
@@ -36,6 +36,7 @@ DilloPrefs prefs;
void a_Prefs_init(void)
{
prefs.allow_white_bg = TRUE;
+ prefs.bg_color = 0xdcd1ba;
prefs.buffered_drawing = 1;
prefs.contrast_visited_color = TRUE;
prefs.enterpress_forces_submit = FALSE;
diff --git a/src/prefs.h b/src/prefs.h
index 684262ed..4009925c 100644
--- a/src/prefs.h
+++ b/src/prefs.h
@@ -46,6 +46,7 @@ struct _DilloPrefs {
DilloUrl *start_page;
DilloUrl *home;
bool_t allow_white_bg;
+ int32_t bg_color;
bool_t contrast_visited_color;
bool_t show_tooltip;
int panel_size;
diff --git a/src/prefsparser.cc b/src/prefsparser.cc
index 78cade0b..95f98c16 100644
--- a/src/prefsparser.cc
+++ b/src/prefsparser.cc
@@ -16,11 +16,13 @@
#include "prefs.h"
#include "misc.h"
#include "msg.h"
+#include "colors.h"
#include "prefsparser.hh"
typedef enum {
PREFS_BOOL,
+ PREFS_COLOR,
PREFS_STRING,
PREFS_URL,
PREFS_INT32,
@@ -43,10 +45,12 @@ int PrefsParser::parseOption(char *name, char *value)
{
const SymNode_t *node;
uint_t i;
+ int st;
/* Symbol array, sorted alphabetically */
const SymNode_t symbols[] = {
{ "allow_white_bg", &prefs.allow_white_bg, PREFS_BOOL },
+ { "bg_color", &prefs.bg_color, PREFS_COLOR },
{ "buffered_drawing", &prefs.buffered_drawing, PREFS_INT32 },
{ "contrast_visited_color", &prefs.contrast_visited_color, PREFS_BOOL },
{ "enterpress_forces_submit", &prefs.enterpress_forces_submit,
@@ -122,6 +126,9 @@ int PrefsParser::parseOption(char *name, char *value)
*(bool_t *)node->pref = (!dStrcasecmp(value, "yes") ||
!dStrcasecmp(value, "true"));
break;
+ case PREFS_COLOR:
+ *(int32_t *)node->pref = a_Color_parse(value, *(int32_t*)node->pref,&st);
+ break;
case PREFS_STRING:
dFree(*(char **)node->pref);
*(char **)node->pref = dStrdup(value);