rpms/vte/devel vte-0.12.0-real-transparency.patch,NONE,1.1
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Thu Apr 13 18:28:26 UTC 2006
Author: krh
Update of /cvs/dist/rpms/vte/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv2247
Added Files:
vte-0.12.0-real-transparency.patch
Log Message:
Add patch.
vte-0.12.0-real-transparency.patch:
vte-private.h | 1 +
vte.c | 17 ++++++++++++++++-
vte.h | 1 +
vteapp.c | 9 +++++++++
vtedraw.c | 6 ++++--
vtedraw.h | 6 ++++--
vteft2.c | 2 +-
vtegl.c | 2 +-
vtepango.c | 2 +-
vtepangox.c | 2 +-
vteskel.c | 4 +++-
vtexft.c | 14 +++++++++-----
12 files changed, 51 insertions(+), 15 deletions(-)
--- NEW FILE vte-0.12.0-real-transparency.patch ---
--- ./src/vte-private.h.real-transparency 2006-03-08 15:31:13.000000000 -0500
+++ ./src/vte-private.h 2006-04-13 14:22:35.000000000 -0400
@@ -338,6 +338,7 @@
guint bg_update_tag;
GdkColor bg_tint_color;
long bg_saturation; /* out of VTE_SATURATION_MAX */
+ guint16 bg_opacity;
/* Key modifiers. */
GdkModifierType modifiers;
--- ./src/vte.c.real-transparency 2006-03-12 22:29:31.000000000 -0500
+++ ./src/vte.c 2006-04-13 14:23:41.000000000 -0400
@@ -2160,6 +2160,19 @@
}
/**
+ * vte_terminal_set_opacity
+ * @terminal: a #VteTerminal
+ * @opacity: the new opacity
+ *
+ * CRACK ALERT!
+ */
+void
+vte_terminal_set_opacity(VteTerminal *terminal, guint16 opacity)
+{
+ terminal->pvt->bg_opacity = opacity;
+}
+
+/**
* vte_terminal_set_default_colors:
* @terminal: a #VteTerminal
*
@@ -6808,6 +6821,7 @@
pvt->bg_tint_color.green = 0;
pvt->bg_tint_color.blue = 0;
pvt->bg_saturation = 0.4 * VTE_SATURATION_MAX;
+ pvt->bg_opacity = 0xffff;
/* Assume we're visible unless we're told otherwise. */
pvt->visibility_state = GDK_VISIBILITY_UNOBSCURED;
@@ -10212,7 +10226,8 @@
gdk_rgb_find_color(colormap, &bgcolor);
}
gdk_window_set_background(widget->window, &bgcolor);
- _vte_draw_set_background_color(terminal->pvt->draw, &bgcolor);
+ _vte_draw_set_background_color(terminal->pvt->draw, &bgcolor,
+ terminal->pvt->bg_opacity);
/* If we're transparent, and either have no root image or are being
* told to update it, get a new copy of the root window. */
--- ./src/vte.h.real-transparency 2004-05-01 03:12:51.000000000 -0400
+++ ./src/vte.h 2006-04-13 14:22:35.000000000 -0400
@@ -274,6 +274,7 @@
double saturation);
void vte_terminal_set_background_transparent(VteTerminal *terminal,
gboolean transparent);
+void vte_terminal_set_opacity(VteTerminal *terminal, guint16 opacity);
/* Set whether or not the cursor blinks. */
void vte_terminal_set_cursor_blinks(VteTerminal *terminal, gboolean blink);
--- ./src/vteapp.c.real-transparency 2006-02-10 04:25:56.000000000 -0500
+++ ./src/vteapp.c 2006-04-13 14:22:35.000000000 -0400
@@ -399,6 +399,8 @@
int
main(int argc, char **argv)
{
+ GdkScreen *screen;
+ GdkColormap *colormap;
GtkWidget *window, *hbox, *scrollbar, *widget;
char *env_add[] = {"FOO=BAR", "BOO=BIZ", NULL};
const char *background = NULL;
@@ -574,6 +576,12 @@
g_signal_connect(G_OBJECT(window), "delete_event",
GTK_SIGNAL_FUNC(deleted_and_quit), window);
+ /* Set ARGB colormap */
+ screen = gtk_widget_get_screen (window);
+ colormap = gdk_screen_get_rgba_colormap (screen);
+ if (colormap)
+ gtk_widget_set_colormap(GTK_WIDGET (window), colormap);
+
/* Create a box to hold everything. */
hbox = gtk_hbox_new(0, FALSE);
gtk_container_add(GTK_CONTAINER(window), hbox);
@@ -665,6 +673,7 @@
}
vte_terminal_set_background_tint_color(VTE_TERMINAL(widget), &tint);
vte_terminal_set_colors(VTE_TERMINAL(widget), &fore, &back, NULL, 0);
+ vte_terminal_set_opacity(VTE_TERMINAL(widget), 0xcccc);
if (highlight_set) {
vte_terminal_set_color_highlight(VTE_TERMINAL(widget),
&highlight);
--- ./src/vtedraw.c.real-transparency 2006-02-03 08:27:27.000000000 -0500
+++ ./src/vtedraw.c 2006-04-13 14:22:35.000000000 -0400
@@ -177,11 +177,13 @@
}
void
-_vte_draw_set_background_color(struct _vte_draw *draw, GdkColor *color)
+_vte_draw_set_background_color(struct _vte_draw *draw,
+ GdkColor *color,
+ guint16 opacity)
{
g_return_if_fail(draw->impl != NULL);
g_return_if_fail(draw->impl->set_background_color != NULL);
- draw->impl->set_background_color(draw, color);
+ draw->impl->set_background_color(draw, color, opacity);
}
void
--- ./src/vtedraw.h.real-transparency 2004-04-20 01:16:56.000000000 -0400
+++ ./src/vtedraw.h 2006-04-13 14:22:35.000000000 -0400
@@ -58,7 +58,7 @@
GdkColormap* (*get_colormap)(struct _vte_draw *draw);
void (*start)(struct _vte_draw *draw);
void (*end)(struct _vte_draw *draw);
- void (*set_background_color)(struct _vte_draw *, GdkColor *);
+ void (*set_background_color)(struct _vte_draw *, GdkColor *, guint16);
void (*set_background_image)(struct _vte_draw *,
enum VteBgSourceType type,
GdkPixbuf *pixbuf,
@@ -116,7 +116,9 @@
/* Set the background color, a background pixbuf (if you want transparency,
you'll have to do that yourself), and clear an area to the default. */
-void _vte_draw_set_background_color(struct _vte_draw *draw, GdkColor *color);
+void _vte_draw_set_background_color(struct _vte_draw *draw,
+ GdkColor *color,
+ guint16 opacity);
void _vte_draw_set_background_image(struct _vte_draw *draw,
enum VteBgSourceType type,
GdkPixbuf *pixbuf,
--- ./src/vteft2.c.real-transparency 2004-04-20 01:16:56.000000000 -0400
+++ ./src/vteft2.c 2006-04-13 14:22:35.000000000 -0400
@@ -149,7 +149,7 @@
}
static void
-_vte_ft2_set_background_color(struct _vte_draw *draw, GdkColor *color)
+_vte_ft2_set_background_color(struct _vte_draw *draw, GdkColor *color, guint16 opacity)
{
struct _vte_ft2_data *data;
data = (struct _vte_ft2_data*) draw->impl_data;
--- ./src/vtegl.c.real-transparency 2004-04-20 01:16:56.000000000 -0400
+++ ./src/vtegl.c 2006-04-13 14:22:35.000000000 -0400
@@ -261,7 +261,7 @@
}
static void
-_vte_gl_set_background_color(struct _vte_draw *draw, GdkColor *color)
+_vte_gl_set_background_color(struct _vte_draw *draw, GdkColor *color, guint16 opacity)
{
struct _vte_gl_data *data;
--- ./src/vtepango.c.real-transparency 2005-07-25 04:49:42.000000000 -0400
+++ ./src/vtepango.c 2006-04-13 14:22:35.000000000 -0400
@@ -178,7 +178,7 @@
}
static void
-_vte_pango_set_background_color(struct _vte_draw *draw, GdkColor *color)
+_vte_pango_set_background_color(struct _vte_draw *draw, GdkColor *color, guint16 opacity)
{
struct _vte_pango_data *data;
data = (struct _vte_pango_data*) draw->impl_data;
--- ./src/vtepangox.c.real-transparency 2004-04-20 01:16:56.000000000 -0400
+++ ./src/vtepangox.c 2006-04-13 14:22:36.000000000 -0400
@@ -190,7 +190,7 @@
}
static void
-_vte_pango_x_set_background_color(struct _vte_draw *draw, GdkColor *color)
+_vte_pango_x_set_background_color(struct _vte_draw *draw, GdkColor *color, guint16 opacity)
{
struct _vte_pango_x_data *data;
data = (struct _vte_pango_x_data*) draw->impl_data;
--- ./src/vteskel.c.real-transparency 2004-04-20 01:16:56.000000000 -0400
+++ ./src/vteskel.c 2006-04-13 14:22:36.000000000 -0400
@@ -34,6 +34,7 @@
GdkPixmap *pixmap;
gint pixmapw, pixmaph;
gint scrollx, scrolly;
+ guint16 opacity;
};
static gboolean
@@ -107,11 +108,12 @@
}
static void
-_vte_skel_set_background_color(struct _vte_draw *draw, GdkColor *color)
+_vte_skel_set_background_color(struct _vte_draw *draw, GdkColor *color, guint16 opacity)
{
struct _vte_skel_data *data;
data = (struct _vte_skel_data*) draw->impl_data;
data->color = *color;
+ data->opacity = opacity;
}
static void
--- ./src/vtexft.c.real-transparency 2006-02-25 18:20:42.000000000 -0500
+++ ./src/vtexft.c 2006-04-13 14:22:36.000000000 -0400
@@ -69,6 +69,7 @@
XftDraw *draw;
GC gc;
GdkColor color;
+ guint16 opacity;
GdkPixmap *pixmap;
Pixmap xpixmap;
gint pixmapw, pixmaph;
@@ -332,6 +333,7 @@
data->draw = NULL;
data->gc = NULL;
memset(&data->color, 0, sizeof(data->color));
+ data->opacity = 0xffff;
data->pixmap = NULL;
data->xpixmap = -1;
data->pixmapw = data->pixmaph = -1;
@@ -435,11 +437,13 @@
}
static void
-_vte_xft_set_background_color(struct _vte_draw *draw, GdkColor *color)
+_vte_xft_set_background_color(struct _vte_draw *draw, GdkColor *color,
+ guint16 opacity)
{
struct _vte_xft_data *data;
data = (struct _vte_xft_data*) draw->impl_data;
data->color = *color;
+ data->opacity = opacity;
}
static void
@@ -485,10 +489,10 @@
if (!GDK_IS_PIXMAP(data->pixmap) ||
(data->pixmapw <= 0) ||
(data->pixmaph <= 0)) {
- rcolor.red = data->color.red;
- rcolor.green = data->color.green;
- rcolor.blue = data->color.blue;
- rcolor.alpha = 0xffff;
+ rcolor.red = data->color.red * data->opacity / 0xffff;
+ rcolor.green = data->color.green * data->opacity / 0xffff;
+ rcolor.blue = data->color.blue * data->opacity / 0xffff;
+ rcolor.alpha = data->opacity;
if (XftColorAllocValue(data->display, data->visual,
data->colormap, &rcolor, &ftcolor)) {
XftDrawRect(data->draw, &ftcolor,
More information about the fedora-cvs-commits
mailing list