[vte/vte-next] Make background and foreground colours style properties
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte/vte-next] Make background and foreground colours style properties
- Date: Sun, 22 May 2011 22:19:30 +0000 (UTC)
commit a45ef0837ab10caa67d8af0ff03607802a69373d
Author: Christian Persch <chpe gnome org>
Date: Sun May 22 21:07:40 2011 +0200
Make background and foreground colours style properties
doc/reference/vte-sections.txt | 2 -
src/vte.c | 66 +++++++++++++++++++++++++++++-----------
src/vte.h | 4 --
3 files changed, 48 insertions(+), 24 deletions(-)
---
diff --git a/doc/reference/vte-sections.txt b/doc/reference/vte-sections.txt
index b9d8102..275327b 100644
--- a/doc/reference/vte-sections.txt
+++ b/doc/reference/vte-sections.txt
@@ -25,8 +25,6 @@ vte_terminal_set_visible_bell
vte_terminal_get_visible_bell
vte_terminal_set_scroll_on_output
vte_terminal_set_scroll_on_keystroke
-vte_terminal_set_color_foreground_rgba
-vte_terminal_set_color_background_rgba
vte_terminal_set_colors_rgba
vte_terminal_set_default_colors
vte_terminal_get_background_pattern
diff --git a/src/vte.c b/src/vte.c
index 77fdd94..5eff054 100644
--- a/src/vte.c
+++ b/src/vte.c
@@ -2446,49 +2446,43 @@ _vte_terminal_set_color_dim_rgba(VteTerminal *terminal,
vte_terminal_set_color_internal(terminal, VTE_DIM_FG, rgba, FALSE);
}
-/**
- * vte_terminal_set_color_foreground_rgba:
+/*
+ * _vte_terminal_set_color_foreground_rgba:
* @terminal: a #VteTerminal
* @foreground: the new foreground color
*
* Sets the foreground color used to draw normal text.
- *
- * Since: 0.28
*/
-void
-vte_terminal_set_color_foreground_rgba(VteTerminal *terminal,
- const GdkRGBA *rgba)
+static void
+_vte_terminal_set_color_foreground_rgba(VteTerminal *terminal,
+ const GdkRGBA *rgba)
{
- g_return_if_fail(VTE_IS_TERMINAL(terminal));
g_return_if_fail(rgba != NULL);
_vte_debug_print(VTE_DEBUG_MISC,
"Set foreground color to rgba(%.3f,%.3f,%.3f,%.3f).\n",
rgba->red, rgba->green, rgba->blue, rgba->alpha);
- vte_terminal_set_color_internal(terminal, VTE_DEF_FG, rgba, TRUE);
+ vte_terminal_set_color_internal(terminal, VTE_DEF_FG, rgba, FALSE);
}
-/**
- * vte_terminal_set_color_background_rgba:
+/*
+ * _vte_terminal_set_color_background_rgba:
* @terminal: a #VteTerminal
* @background: the new background color
*
* Sets the background color for text which does not have a specific background
* color assigned. Only has effect when no background image is set.
- *
- * Since: 0.28
*/
-void
-vte_terminal_set_color_background_rgba(VteTerminal *terminal,
- const GdkRGBA *rgba)
+static void
+_vte_terminal_set_color_background_rgba(VteTerminal *terminal,
+ const GdkRGBA *rgba)
{
- g_return_if_fail(VTE_IS_TERMINAL(terminal));
g_return_if_fail(rgba != NULL);
_vte_debug_print(VTE_DEBUG_MISC,
"Set background color to rgba(%.3f,%.3f,%.3f,%.3f).\n",
rgba->red, rgba->green, rgba->blue, rgba->alpha);
- vte_terminal_set_color_internal(terminal, VTE_DEF_BG, rgba, TRUE);
+ vte_terminal_set_color_internal(terminal, VTE_DEF_BG, rgba, FALSE);
}
/*
@@ -4288,6 +4282,14 @@ vte_terminal_update_style_colors(VteTerminal *terminal)
context = gtk_widget_get_style_context(&terminal->widget);
+ /* Get foreground and background first, since other default colours
+ * may be defined in terms of these.
+ */
+ color = _vte_style_context_get_color(context, "foreground-color", &rgba);
+ _vte_terminal_set_color_foreground_rgba(terminal, color);
+ color = _vte_style_context_get_color(context, "background-color", &rgba);
+ _vte_terminal_set_color_background_rgba(terminal, color);
+
color = _vte_style_context_get_color(context, "cursor-background-color", &rgba);
_vte_terminal_set_color_cursor_rgba(terminal, color, FALSE);
@@ -11705,6 +11707,32 @@ vte_terminal_class_init(VteTerminalClass *klass)
/* Colours */
/**
+ * VteTerminal:foreground-color:
+ *
+ * The foreground text color.
+ *
+ * Since: 0.30
+ */
+ gtk_widget_class_install_style_property
+ (widget_class,
+ g_param_spec_boxed ("foreground-color", NULL, NULL,
+ GDK_TYPE_RGBA,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ /**
+ * VteTerminal:background-color:
+ *
+ * The background color.
+ *
+ * Since: 0.30
+ */
+ gtk_widget_class_install_style_property
+ (widget_class,
+ g_param_spec_boxed ("background-color", NULL, NULL,
+ GDK_TYPE_RGBA,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ /**
* VteTerminal:bold-foreground-color:
*
* The foreground color for bold text.
@@ -11777,6 +11805,8 @@ vte_terminal_class_init(VteTerminalClass *klass)
"-VteTerminal-allow-bold: true;\n"
"-VteTerminal-cursor-shape: block;\n"
"-VteTerminal-scroll-background: false;\n"
+ "-VteTerminal-foreground-color: rgb(191,191,191);\n"
+ "-VteTerminal-background-color: rgb(0,0,0);\n"
"}\n",
-1, NULL);
}
diff --git a/src/vte.h b/src/vte.h
index c99e7c1..e75ea87 100644
--- a/src/vte.h
+++ b/src/vte.h
@@ -228,10 +228,6 @@ void vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal,
/* Set the color scheme. */
-void vte_terminal_set_color_foreground_rgba(VteTerminal *terminal,
- const GdkRGBA *rgba);
-void vte_terminal_set_color_background_rgba(VteTerminal *terminal,
- const GdkRGBA *rgba);
void vte_terminal_set_colors_rgba(VteTerminal *terminal,
const GdkRGBA *foreground,
const GdkRGBA *background,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]