[PATCH 1/3] xcompmgr: implement -b to set default root fill color
Forest Bond
forest at alittletooquiet.net
Sat Jun 12 16:28:45 PDT 2010
Hi,
Please disregard this patch. I will resend with adjustments tomorrow. Sorry
for the noise.
Thanks,
Forest
On Sat, Jun 12, 2010 at 06:38:52PM -0400, Forest Bond wrote:
> A color name can be passed to specify the background fill color to use
> if no root window pixmap is set. If it is not specified, the previous
> default (a gray) is used.
>
> Signed-off-by: Forest Bond <forest at alittletooquiet.net>
> ---
> xcompmgr.c | 34 ++++++++++++++++++++++++++++------
> 1 files changed, 28 insertions(+), 6 deletions(-)
>
> diff --git a/xcompmgr.c b/xcompmgr.c
> index 3a01cce..12dcaea 100644
> --- a/xcompmgr.c
> +++ b/xcompmgr.c
> @@ -120,6 +120,7 @@ static Bool clipChanged;
> #if HAS_NAME_WINDOW_PIXMAP
> static Bool hasNamePixmap;
> #endif
> +static XRenderColor fill_color;
> static int root_height, root_width;
> static ignore *ignore_head, **ignore_tail = &ignore_head;
> static int xfixes_event, xfixes_error;
> @@ -801,11 +802,7 @@ root_tile (Display *dpy)
> CPRepeat, &pa);
> if (fill)
> {
> - XRenderColor c;
> -
> - c.red = c.green = c.blue = 0x8080;
> - c.alpha = 0xffff;
> - XRenderFillRectangle (dpy, PictOpSrc, picture, &c,
> + XRenderFillRectangle (dpy, PictOpSrc, picture, &fill_color,
> 0, 0, 1, 1);
> }
> return picture;
> @@ -1863,6 +1860,7 @@ usage (char *program)
> fprintf (stderr, " -o opacity\n Specifies the translucency for client-side shadows. (default .75)\n");
> fprintf (stderr, " -l left-offset\n Specifies the left offset for client-side shadows. (default -15)\n");
> fprintf (stderr, " -t top-offset\n Specifies the top offset for clinet-side shadows. (default -15)\n");
> + fprintf (stderr, " -b color\n Specifies the background color to use if no root pixmap is set. (default is a gray)\n");
> fprintf (stderr, " -I fade-in-step\n Specifies the opacity change between steps while fading in. (default 0.028)\n");
> fprintf (stderr, " -O fade-out-step\n Specifies the opacity change between steps while fading out. (default 0.03)\n");
> fprintf (stderr, " -D fade-delta-time\n Specifies the time between steps in a fade in milliseconds. (default 10)\n");
> @@ -1945,8 +1943,9 @@ main (int argc, char **argv)
> int composite_major, composite_minor;
> char *display = NULL;
> int o;
> + char *fill_color_name = NULL;
>
> - while ((o = getopt (argc, argv, "D:I:O:d:r:o:l:t:scnfFCaS")) != -1)
> + while ((o = getopt (argc, argv, "D:I:O:d:r:o:l:t:b:scnfFCaS")) != -1)
> {
> switch (o) {
> case 'd':
> @@ -2003,6 +2002,9 @@ main (int argc, char **argv)
> case 't':
> shadowOffsetY = atoi (optarg);
> break;
> + case 'b':
> + fill_color_name = optarg;
> + break;
> default:
> usage (argv[0]);
> break;
> @@ -2074,6 +2076,26 @@ main (int argc, char **argv)
> presum_gaussian (gaussianMap);
> }
>
> + if (fill_color_name) {
> + XColor c;
> + if (! XParseColor (dpy, DefaultColormap (dpy, scr),
> + fill_color_name, &c)) {
> + fprintf (stderr, "Could not parse fill color.\n");
> + exit (1);
> + }
> + if (! XAllocColor (dpy, DefaultColormap (dpy, scr), &c)) {
> + fprintf (stderr, "Could not allocate color.\n");
> + exit (1);
> + }
> +
> + fill_color.red = c.red;
> + fill_color.green = c.green;
> + fill_color.blue = c.blue;
> + } else {
> + fill_color.red = fill_color.green = fill_color.blue = 0x8080;
> + }
> + fill_color.alpha = 0xffff;
> +
> root_width = DisplayWidth (dpy, scr);
> root_height = DisplayHeight (dpy, scr);
>
> --
> 1.7.0.4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.x.org/archives/xorg-devel/attachments/20100612/d5b30d0f/attachment.pgp>
More information about the xorg-devel
mailing list