updated on Sat Jan 21 20:03:50 UTC 2012
[aur-mirror.git] / fvwm-patched / 02-ColourBorders.patch
blob9c7887722505c6aeb71b2994b8102d8766743022
1 diff -U3 -r /var/portage/distfiles/cvs-src/fvwm/fvwm/borders.c fvwm/borders.c
2 --- /var/portage/distfiles/cvs-src/fvwm/fvwm/borders.c 2007-01-27 12:33:15.000000000 +0100
3 +++ fvwm/borders.c 2007-06-08 00:30:18.000000000 +0200
4 @@ -124,14 +124,71 @@
5 int relief_width;
6 GC relief_gc;
7 GC shadow_gc;
8 + GC relief_gc_north;
9 + GC shadow_gc_north;
10 + GC relief_gc_south;
11 + GC shadow_gc_south;
12 + GC relief_gc_east;
13 + GC shadow_gc_east;
14 + GC relief_gc_west;
15 + GC shadow_gc_west;
16 + GC relief_gc_nw;
17 + GC shadow_gc_nw;
18 + GC relief_gc_ne;
19 + GC shadow_gc_ne;
20 + GC relief_gc_sw;
21 + GC shadow_gc_sw;
22 + GC relief_gc_se;
23 + GC shadow_gc_se;
25 Pixel fore_color;
26 Pixel back_color;
27 - int cs;
28 + Pixel fore_color_north;
29 + Pixel back_color_north;
30 + Pixel fore_color_south;
31 + Pixel back_color_south;
32 + Pixel fore_color_east;
33 + Pixel back_color_east;
34 + Pixel fore_color_west;
35 + Pixel back_color_west;
36 + Pixel fore_color_nw;
37 + Pixel back_color_nw;
38 + Pixel fore_color_ne;
39 + Pixel back_color_ne;
40 + Pixel fore_color_sw;
41 + Pixel back_color_sw;
42 + Pixel fore_color_se;
43 + Pixel back_color_se;
45 + int cs;
46 + int cs_north;
47 + int cs_south;
48 + int cs_east;
49 + int cs_west;
50 int border_cs; /* for UseBorderStyle */
51 + int border_cs_north;
52 + int border_cs_south;
53 + int border_cs_east;
54 + int border_cs_west;
56 + int cs_nw;
57 + int cs_ne;
58 + int cs_sw;
59 + int cs_se;
60 int bg_border_cs; /* for UseBorderStyle */
61 Pixmap back_pixmap;
62 - XSetWindowAttributes attributes;
63 - unsigned long valuemask;
65 + XSetWindowAttributes attributes;
66 + XSetWindowAttributes attributes_north;
67 + XSetWindowAttributes attributes_ne;
68 + XSetWindowAttributes attributes_nw;
69 + XSetWindowAttributes attributes_sw;
70 + XSetWindowAttributes attributes_se;
71 + XSetWindowAttributes attributes_south;
72 + XSetWindowAttributes attributes_east;
73 + XSetWindowAttributes attributes_west;
75 + unsigned long valuemask;
76 Pixmap texture_pixmap;
77 int texture_pixmap_width;
78 int texture_pixmap_height;
79 @@ -329,10 +386,29 @@
81 DecorFace *df;
82 color_quad *draw_colors;
83 + color_quad *draw_colors_north;
84 + color_quad *draw_colors_south;
85 + color_quad *draw_colors_east;
86 + color_quad *draw_colors_west;
88 + color_quad *draw_colors_nw;
89 + color_quad *draw_colors_ne;
90 + color_quad *draw_colors_sw;
91 + color_quad *draw_colors_se;
93 df = border_get_border_style(t, has_focus);
94 cd->bg_border_cs = -1;
95 cd->cs = -1;
96 + cd->cs_north = -1;
97 + cd->cs_south = -1;
98 + cd->cs_east = -1;
99 + cd->cs_west = -1;
101 + cd->cs_nw = -1;
102 + cd->cs_ne = -1;
103 + cd->cs_sw = -1;
104 + cd->cs_se = -1;
106 if (has_focus)
108 /* are we using textured borders? */
109 @@ -356,11 +432,61 @@
111 draw_colors = &(t->border_hicolors);
112 cd->cs = t->border_cs_hi;
114 + draw_colors_north = &(t->border_hicolors_north);
115 + cd->cs_north = t->border_cs_hi_north;
117 + draw_colors_south = &(t->border_hicolors_south);
118 + cd->cs_south = t->border_cs_hi_south;
120 + draw_colors_east = &(t->border_hicolors_east);
121 + cd->cs_east = t->border_cs_hi_east;
123 + draw_colors_west = &(t->border_hicolors_west);
124 + cd->cs_west = t->border_cs_hi_west;
126 + /* handles */
127 + draw_colors_nw = &(t->border_hicolors_handles_nw);
128 + cd->cs_nw = t->border_cs_hi_handles_nw;
130 + draw_colors_ne = &(t->border_hicolors_handles_ne);
131 + cd->cs_ne = t->border_cs_hi_handles_ne;
133 + draw_colors_sw = &(t->border_hicolors_handles_sw);
134 + cd->cs_sw = t->border_cs_hi_handles_sw;
136 + draw_colors_se = &(t->border_hicolors_handles_se);
137 + cd->cs_se = t->border_cs_hi_handles_se;
139 else
141 draw_colors = &(t->hicolors);
142 cd->cs = t->cs_hi;
144 + draw_colors_north = &(t->hicolors);
145 + cd->cs_north = t->cs_hi;
147 + draw_colors_south = &(t->hicolors);
148 + cd->cs_south = t->cs_hi;
150 + draw_colors_east = &(t->hicolors);
151 + cd->cs_east = t->cs_hi;
153 + draw_colors_west = &(t->hicolors);
154 + cd->cs_west = t->cs_hi;
156 + /* handles */
157 + draw_colors_nw = &(t->hicolors);
158 + cd->cs_nw = t->cs_hi;
160 + draw_colors_ne = &(t->hicolors);
161 + cd->cs_ne = t->cs_hi;
163 + draw_colors_sw = &(t->hicolors);
164 + cd->cs_sw = t->cs_hi;
166 + draw_colors_se = &(t->hicolors);
167 + cd->cs_se = t->cs_hi;
170 else
171 @@ -392,24 +518,167 @@
173 draw_colors = &(t->border_colors);
174 cd->cs = t->border_cs;
176 + draw_colors_north = &(t->border_colors_north);
177 + cd->cs_north = t->border_cs_north;
179 + draw_colors_south = &(t->border_colors_south);
180 + cd->cs_south = t->border_cs_south;
182 + draw_colors_east = &(t->border_colors_east);
183 + cd->cs_east = t->border_cs_east;
185 + draw_colors_west = &(t->border_colors_west);
186 + cd->cs_west = t->border_cs_west;
188 + /* handles */
189 + draw_colors_nw = &(t->border_colors_handles_nw);
190 + cd->cs_nw = t->border_cs_handles_nw;
192 + draw_colors_ne = &(t->border_colors_handles_ne);
193 + cd->cs_ne = t->border_cs_handles_ne;
195 + draw_colors_sw = &(t->border_colors_handles_sw);
196 + cd->cs_sw = t->border_cs_handles_sw;
198 + draw_colors_se = &(t->border_colors_handles_se);
199 + cd->cs_se = t->border_cs_handles_se;
202 else
204 draw_colors = &(t->colors);
205 cd->cs = t->cs;
207 + draw_colors_north = &(t->border_colors_north);
208 + cd->cs_north = t->cs;
210 + draw_colors_south = &(t->border_colors_south);
211 + cd->cs_south = t->cs;
213 + draw_colors_east = &(t->border_colors_east);
214 + cd->cs_east = t->cs;
216 + draw_colors_west = &(t->border_colors_west);
217 + cd->cs_west = t->cs;
219 + /* handles */
220 + draw_colors_nw = &(t->border_colors_handles_nw);
221 + cd->cs_nw = t->border_cs_handles_nw;
223 + draw_colors_ne = &(t->border_colors_handles_ne);
224 + cd->cs_ne = t->border_cs_handles_ne;
226 + draw_colors_sw = &(t->border_colors_handles_sw);
227 + cd->cs_sw = t->border_cs_handles_sw;
229 + draw_colors_se = &(t->border_colors_handles_se);
230 + cd->cs_se = t->border_cs_handles_se;
233 cd->fore_color = draw_colors->fore;
234 cd->back_color = draw_colors->back;
235 - if (do_change_gcs)
237 + cd->fore_color_north = draw_colors_north->fore;
238 + cd->back_color_north = draw_colors_north->back;
240 + cd->fore_color_south = draw_colors_south->fore;
241 + cd->back_color_south = draw_colors_south->back;
243 + cd->fore_color_east = draw_colors_east->fore;
244 + cd->back_color_east = draw_colors_east->back;
246 + cd->fore_color_west = draw_colors_west->fore;
247 + cd->back_color_west = draw_colors_west->back;
249 + cd->fore_color_nw = draw_colors_nw->fore;
250 + cd->back_color_nw = draw_colors_nw->back;
252 + cd->fore_color_ne = draw_colors_ne->fore;
253 + cd->back_color_ne = draw_colors_ne->back;
255 + cd->fore_color_sw = draw_colors_nw->fore;
256 + cd->back_color_sw = draw_colors_nw->back;
258 + cd->fore_color_se = draw_colors_se->fore;
259 + cd->back_color_se = draw_colors_se->back;
261 + if (do_change_gcs)
263 Globalgcv.foreground = draw_colors->hilight;
264 Globalgcm = GCForeground;
265 XChangeGC(dpy, Scr.ScratchGC1, Globalgcm, &Globalgcv);
266 Globalgcv.foreground = draw_colors->shadow;
267 XChangeGC(dpy, Scr.ScratchGC2, Globalgcm, &Globalgcv);
269 + Globalgcv.foreground = draw_colors_north->hilight;
270 + XChangeGC(dpy, Scr.ScratchGC3, Globalgcm, &Globalgcv);
271 + Globalgcv.foreground = draw_colors_north->shadow;
272 + XChangeGC(dpy, Scr.ScratchGC4, Globalgcm, &Globalgcv);
274 + Globalgcv.foreground = draw_colors_south->hilight;
275 + XChangeGC(dpy, Scr.ScratchGC5, Globalgcm, &Globalgcv);
276 + Globalgcv.foreground = draw_colors_south->shadow;
277 + XChangeGC(dpy, Scr.ScratchGC6, Globalgcm, &Globalgcv);
279 + Globalgcv.foreground = draw_colors_east->hilight;
280 + XChangeGC(dpy, Scr.ScratchGC7, Globalgcm, &Globalgcv);
281 + Globalgcv.foreground = draw_colors_east->shadow;
282 + XChangeGC(dpy, Scr.ScratchGC8, Globalgcm, &Globalgcv);
284 + Globalgcv.foreground = draw_colors_west->hilight;
285 + XChangeGC(dpy, Scr.ScratchGC9, Globalgcm, &Globalgcv);
286 + Globalgcv.foreground = draw_colors_west->shadow;
287 + XChangeGC(dpy, Scr.ScratchGC10, Globalgcm, &Globalgcv);
289 + /* handles. */
290 + Globalgcv.foreground = draw_colors_nw->hilight;
291 + XChangeGC(dpy, Scr.ScratchGC11, Globalgcm, &Globalgcv);
292 + Globalgcv.foreground = draw_colors_nw->shadow;
293 + XChangeGC(dpy, Scr.ScratchGC12, Globalgcm, &Globalgcv);
295 + Globalgcv.foreground = draw_colors_ne->hilight;
296 + XChangeGC(dpy, Scr.ScratchGC13, Globalgcm, &Globalgcv);
297 + Globalgcv.foreground = draw_colors_ne->shadow;
298 + XChangeGC(dpy, Scr.ScratchGC14, Globalgcm, &Globalgcv);
300 + Globalgcv.foreground = draw_colors_sw->hilight;
301 + XChangeGC(dpy, Scr.ScratchGC15, Globalgcm, &Globalgcv);
302 + Globalgcv.foreground = draw_colors_sw->shadow;
303 + XChangeGC(dpy, Scr.ScratchGC16, Globalgcm, &Globalgcv);
305 + Globalgcv.foreground = draw_colors_se->hilight;
306 + XChangeGC(dpy, Scr.ScratchGC17, Globalgcm, &Globalgcv);
307 + Globalgcv.foreground = draw_colors_se->shadow;
308 + XChangeGC(dpy, Scr.ScratchGC18, Globalgcm, &Globalgcv);
310 cd->relief_gc = Scr.ScratchGC1;
311 cd->shadow_gc = Scr.ScratchGC2;
313 + cd->relief_gc_north = Scr.ScratchGC3;
314 + cd->shadow_gc_north = Scr.ScratchGC4;
316 + cd->relief_gc_south = Scr.ScratchGC5;
317 + cd->shadow_gc_south = Scr.ScratchGC6;
319 + cd->relief_gc_east = Scr.ScratchGC7;
320 + cd->shadow_gc_east = Scr.ScratchGC8;
322 + cd->relief_gc_west = Scr.ScratchGC9;
323 + cd->shadow_gc_west = Scr.ScratchGC10;
325 + /* Handles */
326 + cd->relief_gc_nw = Scr.ScratchGC11;
327 + cd->shadow_gc_nw = Scr.ScratchGC12;
329 + cd->relief_gc_ne = Scr.ScratchGC13;
330 + cd->shadow_gc_ne = Scr.ScratchGC14;
332 + cd->relief_gc_sw = Scr.ScratchGC15;
333 + cd->shadow_gc_sw = Scr.ScratchGC16;
335 + cd->relief_gc_se = Scr.ScratchGC17;
336 + cd->shadow_gc_se = Scr.ScratchGC18;
339 /* MWMBorder style means thin 3d effects */
340 @@ -430,6 +699,17 @@
341 else
343 cd->attributes.background_pixel = cd->back_color;
344 + cd->attributes_north.background_pixel = cd->back_color_north;
345 + cd->attributes_south.background_pixel = cd->back_color_south;
346 + cd->attributes_east.background_pixel = cd->back_color_east;
347 + cd->attributes_west.background_pixel = cd->back_color_west;
349 + /* handles */
350 + cd->attributes_nw.background_pixel = cd->back_color_nw;
351 + cd->attributes_ne.background_pixel = cd->back_color_ne;
352 + cd->attributes_sw.background_pixel = cd->back_color_sw;
353 + cd->attributes_se.background_pixel = cd->back_color_se;
355 cd->valuemask = CWBackPixel;
358 @@ -799,7 +1079,7 @@
360 static void border_get_border_gcs(
361 draw_border_gcs *ret_gcs, common_decorations_type *cd, FvwmWindow *fw,
362 - Bool do_hilight)
363 + Bool do_hilight, window_parts part)
365 static GC transparent_gc = None;
366 DecorFaceStyle *borderstyle;
367 @@ -823,17 +1103,102 @@
369 is_reversed = True;
371 - if (is_reversed)
373 - ret_gcs->shadow = cd->relief_gc;
374 - ret_gcs->relief = cd->shadow_gc;
376 - else
378 - ret_gcs->relief = cd->relief_gc;
379 - ret_gcs->shadow = cd->shadow_gc;
383 + switch ( part )
385 + case PART_BORDER_N:
386 + if( is_reversed )
388 + ret_gcs->shadow = cd->relief_gc_north;
389 + ret_gcs->relief = cd->shadow_gc_north;
390 + } else {
391 + ret_gcs->relief = cd->relief_gc_north;
392 + ret_gcs->shadow = cd->shadow_gc_north;
394 + break;
395 + case PART_BORDER_S:
396 + if( is_reversed )
398 + ret_gcs->shadow = cd->relief_gc_south;
399 + ret_gcs->relief = cd->shadow_gc_south;
400 + } else {
401 + ret_gcs->relief = cd->relief_gc_south;
402 + ret_gcs->shadow = cd->shadow_gc_south;
404 + break;
405 + case PART_BORDER_E:
406 + if( is_reversed )
408 + ret_gcs->shadow = cd->relief_gc_east;
409 + ret_gcs->relief = cd->shadow_gc_east;
410 + } else {
411 + ret_gcs->relief = cd->relief_gc_east;
412 + ret_gcs->shadow = cd->shadow_gc_east;
414 + break;
415 + case PART_BORDER_W:
416 + if( is_reversed )
418 + ret_gcs->shadow = cd->relief_gc_west;
419 + ret_gcs->relief = cd->shadow_gc_west;
420 + } else {
421 + ret_gcs->relief = cd->relief_gc_west;
422 + ret_gcs->shadow = cd->shadow_gc_west;
424 + break;
425 + case PART_BORDER_NW:
426 + if( is_reversed )
428 + ret_gcs->shadow = cd->relief_gc_nw;
429 + ret_gcs->relief = cd->shadow_gc_nw;
430 + } else {
431 + ret_gcs->relief = cd->relief_gc_nw;
432 + ret_gcs->shadow = cd->shadow_gc_nw;
434 + break;
435 + case PART_BORDER_NE:
436 + if( is_reversed )
438 + ret_gcs->shadow = cd->relief_gc_ne;
439 + ret_gcs->relief = cd->shadow_gc_ne;
440 + } else {
441 + ret_gcs->relief = cd->relief_gc_ne;
442 + ret_gcs->shadow = cd->shadow_gc_ne;
444 + break;
445 + case PART_BORDER_SW:
446 + if( is_reversed )
448 + ret_gcs->shadow = cd->relief_gc_sw;
449 + ret_gcs->relief = cd->shadow_gc_sw;
450 + } else {
451 + ret_gcs->relief = cd->relief_gc_sw;
452 + ret_gcs->shadow = cd->shadow_gc_sw;
454 + break;
455 + case PART_BORDER_SE:
456 + if( is_reversed )
458 + ret_gcs->shadow = cd->relief_gc_se;
459 + ret_gcs->relief = cd->shadow_gc_se;
460 + } else {
461 + ret_gcs->relief = cd->relief_gc_se;
462 + ret_gcs->shadow = cd->shadow_gc_se;
464 + break;
465 + default:
466 + if (is_reversed)
468 + ret_gcs->shadow = cd->relief_gc;
469 + ret_gcs->relief = cd->shadow_gc;
471 + else
473 + ret_gcs->relief = cd->relief_gc;
474 + ret_gcs->shadow = cd->shadow_gc;
476 + break;
478 return;
481 @@ -1135,12 +1500,13 @@
483 if (do_draw_shadow)
485 - x1 = x + k;
486 + //x1 = x + k;
487 + x1 = x;
488 y1 = y - 1 - k;
490 else
492 - x1 = x;
493 + x1 = x - k;
494 y1 = y + k;
496 x2 = x1 + length;
497 @@ -1291,9 +1657,11 @@
498 valuemask |= GCForeground | GCClipMask | GCClipXOrigin |
499 GCClipYOrigin;
500 XChangeGC(dpy, Scr.BordersGC, valuemask, &xgcv);
501 - XFillRectangle(
503 + XFillRectangle(
504 dpy, dest_pix, Scr.BordersGC, dest_g->x, dest_g->y,
505 dest_g->width - dest_g->x, dest_g->height - dest_g->y);
507 return;
510 @@ -1453,7 +1821,7 @@
512 static void border_get_border_background(
513 pixmap_background_type *bg, common_decorations_type *cd,
514 - rectangle *part_g, rectangle *relative_g, int *free_bg_pixmap, Window w)
515 + rectangle *part_g, rectangle *relative_g, int *free_bg_pixmap, Window w, window_parts part)
517 *free_bg_pixmap = False;
519 @@ -1519,9 +1887,38 @@
520 else
522 bg->flags.use_pixmap = 0;
523 - bg->pixel = cd->attributes.background_pixel;
526 + switch ( part )
528 + case PART_BORDER_N:
529 + bg->pixel = cd->attributes_north.background_pixel;
530 + break;
531 + case PART_BORDER_S:
532 + bg->pixel = cd->attributes_south.background_pixel;
533 + break;
534 + case PART_BORDER_E:
535 + bg->pixel = cd->attributes_east.background_pixel;
536 + break;
537 + case PART_BORDER_W:
538 + bg->pixel = cd->attributes_west.background_pixel;
539 + break;
540 + case PART_BORDER_NW:
541 + bg->pixel = cd->attributes_nw.background_pixel;
542 + break;
543 + case PART_BORDER_NE:
544 + bg->pixel = cd->attributes_ne.background_pixel;
545 + break;
546 + case PART_BORDER_SW:
547 + bg->pixel = cd->attributes_sw.background_pixel;
548 + break;
549 + case PART_BORDER_SE:
550 + bg->pixel = cd->attributes_se.background_pixel;
551 + break;
552 + default:
553 + bg->pixel = cd->attributes.background_pixel;
554 + break;
557 return;
560 @@ -1551,7 +1948,7 @@
561 relative_g.x = part_g.x;
562 relative_g.y = part_g.y;
563 border_get_border_background(
564 - &bg, cd, &part_g, &relative_g, &free_bg_pixmap, w);
565 + &bg, cd, &part_g, &relative_g, &free_bg_pixmap, w, part);
566 if (cd->texture_pixmap)
568 switch (part)
569 @@ -1638,7 +2035,7 @@
570 border_get_border_relief_size_descr(&br->relief, fw, do_hilight);
571 border_get_border_marks_descr(cd, br, fw);
572 /* fetch the gcs used to draw the border */
573 - border_get_border_gcs(&br->gcs, cd, fw, do_hilight);
574 + //border_get_border_gcs(&br->gcs, cd, fw, do_hilight);
575 /* draw everything in a big loop */
576 draw_parts &= (PART_FRAME | PART_HANDLES);
577 draw_handles = (draw_parts & PART_HANDLES);
578 @@ -1647,11 +2044,12 @@
580 if (part & draw_parts)
582 - border_draw_one_border_part(
583 - cd, fw, &br->sidebar_g, frame_g, br, part,
584 - draw_handles,
585 - (pressed_parts & part) ? True : False,
586 - do_clear);
587 + border_get_border_gcs(&br->gcs, cd, fw, do_hilight, part);
588 + border_draw_one_border_part(
589 + cd, fw, &br->sidebar_g, frame_g, br, part,
590 + draw_handles,
591 + (pressed_parts & part) ? True : False,
592 + do_clear);
596 @@ -3281,7 +3679,7 @@
597 relative_g.x = button_g->x;
598 relative_g.y = button_g->y;
599 border_get_border_background(
600 - &bg, td->cd, button_g, &relative_g, &free_bg_pixmap, w);
601 + &bg, td->cd, button_g, &relative_g, &free_bg_pixmap, w, PART_NONE);
602 bg.pixmap.g.x = 0;
603 bg.pixmap.g.y = 0;
604 /* set the geometry for drawing the Tiled pixmap;
605 @@ -3728,7 +4126,7 @@
606 relative_g.y = td->layout.title_g.y;
607 border_get_border_background(
608 &bg, td->cd, &td->layout.title_g, &relative_g,
609 - &free_bg_pixmap, w);
610 + &free_bg_pixmap, w, PART_NONE);
611 bg.pixmap.g.x = 0;
612 bg.pixmap.g.y = 0;
613 /* set the geometry for drawing the Tiled pixmap;
614 diff -U3 -r /var/portage/distfiles/cvs-src/fvwm/fvwm/fvwm.c fvwm/fvwm.c
615 --- /var/portage/distfiles/cvs-src/fvwm/fvwm/fvwm.c 2007-02-04 22:47:45.000000000 +0100
616 +++ fvwm/fvwm.c 2007-06-08 00:30:18.000000000 +0200
617 @@ -1071,7 +1071,22 @@
618 Scr.ScratchGC2 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
619 Scr.ScratchGC3 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
620 Scr.ScratchGC4 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
621 - Scr.TitleGC = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
622 + Scr.ScratchGC5 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
623 + Scr.ScratchGC6 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
624 + Scr.ScratchGC7 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
625 + Scr.ScratchGC8 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
626 + Scr.ScratchGC9 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
627 + Scr.ScratchGC10 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
628 + Scr.ScratchGC11 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
629 + Scr.ScratchGC12 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
630 + Scr.ScratchGC13 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
631 + Scr.ScratchGC14 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
632 + Scr.ScratchGC15 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
633 + Scr.ScratchGC16 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
634 + Scr.ScratchGC17 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
635 + Scr.ScratchGC18 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
637 + Scr.TitleGC = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
638 Scr.BordersGC = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
639 Scr.TransMaskGC = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv);
640 c.pixel = GetColor(DEFAULT_FORE_COLOR);
641 diff -U3 -r /var/portage/distfiles/cvs-src/fvwm/fvwm/fvwm.h fvwm/fvwm.h
642 --- /var/portage/distfiles/cvs-src/fvwm/fvwm/fvwm.h 2007-06-03 15:32:05.000000000 +0200
643 +++ fvwm/fvwm.h 2007-06-08 00:30:18.000000000 +0200
644 @@ -567,7 +567,23 @@
645 unsigned use_colorset : 1;
646 unsigned use_colorset_hi : 1;
647 unsigned use_border_colorset : 1;
648 + unsigned use_border_colorset_north : 1;
649 + unsigned use_border_colorset_south : 1;
650 + unsigned use_border_colorset_east : 1;
651 + unsigned use_border_colorset_west : 1;
652 + unsigned use_border_colorset_handles_nw : 1;
653 + unsigned use_border_colorset_handles_ne : 1;
654 + unsigned use_border_colorset_handles_sw : 1;
655 + unsigned use_border_colorset_handles_se : 1;
656 unsigned use_border_colorset_hi : 1;
657 + unsigned use_border_colorset_hi_north : 1;
658 + unsigned use_border_colorset_hi_south : 1;
659 + unsigned use_border_colorset_hi_east : 1;
660 + unsigned use_border_colorset_hi_west : 1;
661 + unsigned use_border_colorset_hi_handles_nw : 1;
662 + unsigned use_border_colorset_hi_handles_ne : 1;
663 + unsigned use_border_colorset_hi_handles_sw : 1;
664 + unsigned use_border_colorset_hi_handles_se : 1;
665 unsigned use_icon_title_colorset : 1;
666 unsigned use_icon_title_colorset_hi : 1;
667 unsigned use_icon_background_colorset : 1;
668 @@ -636,7 +652,23 @@
669 int colorset;
670 int colorset_hi;
671 int border_colorset;
672 + int border_colorset_north;
673 + int border_colorset_south;
674 + int border_colorset_east;
675 + int border_colorset_west;
676 + int border_colorset_handles_nw;
677 + int border_colorset_handles_ne;
678 + int border_colorset_handles_sw;
679 + int border_colorset_handles_se;
680 int border_colorset_hi;
681 + int border_colorset_hi_north;
682 + int border_colorset_hi_south;
683 + int border_colorset_hi_east;
684 + int border_colorset_hi_west;
685 + int border_colorset_hi_handles_nw;
686 + int border_colorset_hi_handles_ne;
687 + int border_colorset_hi_handles_sw;
688 + int border_colorset_hi_handles_se;
689 int icon_title_colorset;
690 int icon_title_colorset_hi;
691 int icon_background_colorset;
692 @@ -836,12 +868,51 @@
693 color_quad colors;
694 color_quad hicolors;
695 color_quad border_colors;
696 + color_quad border_colors_north;
697 + color_quad border_colors_south;
698 + color_quad border_colors_east;
699 + color_quad border_colors_west;
701 + color_quad border_colors_handles_nw;
702 + color_quad border_colors_handles_ne;
703 + color_quad border_colors_handles_sw;
704 + color_quad border_colors_handles_se;
706 color_quad border_hicolors;
707 + color_quad border_hicolors_north;
708 + color_quad border_hicolors_south;
709 + color_quad border_hicolors_east;
710 + color_quad border_hicolors_west;
712 + color_quad border_hicolors_handles_nw;
713 + color_quad border_hicolors_handles_ne;
714 + color_quad border_hicolors_handles_sw;
715 + color_quad border_hicolors_handles_se;
717 int cs;
718 int cs_hi;
719 int border_cs;
720 + int border_cs_north;
721 + int border_cs_south;
722 + int border_cs_east;
723 + int border_cs_west;
725 + int border_cs_handles_nw;
726 + int border_cs_handles_ne;
727 + int border_cs_handles_sw;
728 + int border_cs_handles_se;
730 int border_cs_hi;
731 + int border_cs_hi_north;
732 + int border_cs_hi_south;
733 + int border_cs_hi_east;
734 + int border_cs_hi_west;
736 + int border_cs_hi_handles_nw;
737 + int border_cs_hi_handles_ne;
738 + int border_cs_hi_handles_sw;
739 + int border_cs_hi_handles_se;
741 int icon_title_cs;
742 int icon_title_cs_hi;
743 int icon_background_cs;
744 Sólo en fvwm: fvwm.h.orig
745 diff -U3 -r /var/portage/distfiles/cvs-src/fvwm/fvwm/screen.h fvwm/screen.h
746 --- /var/portage/distfiles/cvs-src/fvwm/fvwm/screen.h 2007-01-13 16:07:14.000000000 +0100
747 +++ fvwm/screen.h 2007-06-08 00:30:18.000000000 +0200
748 @@ -409,6 +409,21 @@
749 GC ScratchGC2;
750 GC ScratchGC3;
751 GC ScratchGC4;
752 + GC ScratchGC5;
753 + GC ScratchGC6;
754 + GC ScratchGC7;
755 + GC ScratchGC8;
756 + GC ScratchGC9;
757 + GC ScratchGC10;
758 + GC ScratchGC11;
759 + GC ScratchGC12;
760 + GC ScratchGC13;
761 + GC ScratchGC14;
762 + GC ScratchGC15;
763 + GC ScratchGC16;
764 + GC ScratchGC17;
765 + GC ScratchGC18;
767 GC TitleGC;
768 GC BordersGC;
769 /* minimum width of size window */
770 diff -U3 -r /var/portage/distfiles/cvs-src/fvwm/fvwm/style.c fvwm/style.c
771 --- /var/portage/distfiles/cvs-src/fvwm/fvwm/style.c 2007-06-03 15:32:05.000000000 +0200
772 +++ fvwm/style.c 2007-06-08 00:30:18.000000000 +0200
773 @@ -598,11 +598,91 @@
774 SSET_BORDER_COLORSET(
775 *merged_style, SGET_BORDER_COLORSET(*add_style));
777 + if (add_style->flags.use_border_colorset_north)
779 + SSET_BORDER_COLORSET_NORTH(
780 + *merged_style,SGET_BORDER_COLORSET_NORTH(*add_style));
782 + if (add_style->flags.use_border_colorset_south)
784 + SSET_BORDER_COLORSET_SOUTH(
785 + *merged_style,SGET_BORDER_COLORSET_SOUTH(*add_style));
787 + if (add_style->flags.use_border_colorset_east)
789 + SSET_BORDER_COLORSET_EAST(
790 + *merged_style,SGET_BORDER_COLORSET_EAST(*add_style));
792 + if (add_style->flags.use_border_colorset_west)
794 + SSET_BORDER_COLORSET_WEST(
795 + *merged_style,SGET_BORDER_COLORSET_WEST(*add_style));
797 + if (add_style->flags.use_border_colorset_handles_nw)
799 + SSET_BORDER_COLORSET_HANDLES_NW(
800 + *merged_style,SGET_BORDER_COLORSET_HANDLES_NW(*add_style));
802 + if (add_style->flags.use_border_colorset_handles_ne)
804 + SSET_BORDER_COLORSET_HANDLES_NE(
805 + *merged_style,SGET_BORDER_COLORSET_HANDLES_NE(*add_style));
807 + if (add_style->flags.use_border_colorset_handles_sw)
809 + SSET_BORDER_COLORSET_HANDLES_SW(
810 + *merged_style,SGET_BORDER_COLORSET_HANDLES_SW(*add_style));
812 + if (add_style->flags.use_border_colorset_handles_se)
814 + SSET_BORDER_COLORSET_HANDLES_SE(
815 + *merged_style,SGET_BORDER_COLORSET_HANDLES_SE(*add_style));
817 if (add_style->flags.use_border_colorset_hi)
819 SSET_BORDER_COLORSET_HI(
820 *merged_style,SGET_BORDER_COLORSET_HI(*add_style));
822 + if (add_style->flags.use_border_colorset_hi_north)
824 + SSET_BORDER_COLORSET_HI_NORTH(
825 + *merged_style,SGET_BORDER_COLORSET_HI_NORTH(*add_style));
827 + if (add_style->flags.use_border_colorset_hi_south)
829 + SSET_BORDER_COLORSET_HI_SOUTH(
830 + *merged_style,SGET_BORDER_COLORSET_HI_SOUTH(*add_style));
832 + if (add_style->flags.use_border_colorset_hi_east)
834 + SSET_BORDER_COLORSET_HI_EAST(
835 + *merged_style,SGET_BORDER_COLORSET_HI_EAST(*add_style));
837 + if (add_style->flags.use_border_colorset_hi_west)
839 + SSET_BORDER_COLORSET_HI_WEST(
840 + *merged_style,SGET_BORDER_COLORSET_HI_WEST(*add_style));
842 + if (add_style->flags.use_border_colorset_hi_handles_nw)
844 + SSET_BORDER_COLORSET_HI_HANDLES_NW(
845 + *merged_style,SGET_BORDER_COLORSET_HI_HANDLES_NW(*add_style));
847 + if (add_style->flags.use_border_colorset_hi_handles_ne)
849 + SSET_BORDER_COLORSET_HI_HANDLES_NE(
850 + *merged_style,SGET_BORDER_COLORSET_HI_HANDLES_NE(*add_style));
852 + if (add_style->flags.use_border_colorset_hi_handles_sw)
854 + SSET_BORDER_COLORSET_HI_HANDLES_SW(
855 + *merged_style,SGET_BORDER_COLORSET_HI_HANDLES_SW(*add_style));
857 + if (add_style->flags.use_border_colorset_hi_handles_se)
859 + SSET_BORDER_COLORSET_HI_HANDLES_SE(
860 + *merged_style,SGET_BORDER_COLORSET_HI_HANDLES_SE(*add_style));
862 if (add_style->flags.use_icon_title_colorset)
864 SSET_ICON_TITLE_COLORSET(
865 @@ -2122,6 +2202,120 @@
866 ps->flag_mask.use_border_colorset = 1;
867 ps->change_mask.use_border_colorset = 1;
869 + else if (StrEquals(token, "BorderColorsetRegions"))
871 + int f[4] = {-1, -1, -1, -1};
872 + Bool bad = False;
874 + num = 0;
875 + if (on != 0)
877 + num = GetIntegerArguments(rest, &rest, val, 4);
879 + for (i=0; i < num; i++)
881 + if (val[i] < 0)
883 + bad = True;
884 + } else {
885 + f[i] = val[i];
886 + }
889 + if (bad)
891 + fvwm_msg(
892 + ERR, "style_parse_one_style_option",
893 + "Bad argument to BorderColorsetRegions"
894 + ": %s", rest);
895 + break;
898 + /* If 'f' defines our array of colorsets then dispatch
899 + * them here.
900 + */
902 + SSET_BORDER_COLORSET_NORTH(*ps, f[0]);
903 + alloc_colorset(f[0]);
904 + ps->flags.use_border_colorset_north = (f[0] >= 0);
905 + ps->flag_mask.use_border_colorset_north = 1;
906 + ps->change_mask.use_border_colorset_north = 1;
909 + SSET_BORDER_COLORSET_SOUTH(*ps, f[1]);
910 + alloc_colorset(f[1]);
911 + ps->flags.use_border_colorset_south = (f[1] >= 0);
912 + ps->flag_mask.use_border_colorset_south = 1;
913 + ps->change_mask.use_border_colorset_south = 1;
915 + SSET_BORDER_COLORSET_EAST(*ps, f[2]);
916 + alloc_colorset(f[2]);
917 + ps->flags.use_border_colorset_east = (f[2] >= 0);
918 + ps->flag_mask.use_border_colorset_east = 1;
919 + ps->change_mask.use_border_colorset_east = 1;
921 + SSET_BORDER_COLORSET_WEST(*ps, f[3]);
922 + alloc_colorset(f[3]);
923 + ps->flags.use_border_colorset_west = (f[3] >= 0);
924 + ps->flag_mask.use_border_colorset_west = 1;
925 + ps->change_mask.use_border_colorset_west = 1;
927 + else if (StrEquals(token, "BorderHandlesColorsetRegions"))
929 + int f[4] = {-1, -1, -1, -1};
930 + Bool bad = False;
932 + num = 0;
933 + if (on != 0)
935 + num = GetIntegerArguments(rest, &rest, val, 4);
937 + for (i=0; i < num; i++)
939 + if (val[i] < 0)
940 + bad = True;
941 + f[i] = val[i];
944 + if (bad)
946 + fvwm_msg(
947 + ERR, "style_parse_one_style_option",
948 + "Bad argument to HandlesColorsetRegions"
949 + ": %s", rest);
950 + break;
953 + /* If 'f' defines our array of colorsets then dispatch
954 + * them here.
955 + */
957 + SSET_BORDER_COLORSET_HANDLES_NW(*ps, f[0]);
958 + alloc_colorset(f[0]);
959 + ps->flags.use_border_colorset_handles_nw = (f[0] >= 0);
960 + ps->flag_mask.use_border_colorset_handles_nw = 1;
961 + ps->change_mask.use_border_colorset_handles_nw = 1;
963 + SSET_BORDER_COLORSET_HANDLES_NE(*ps, f[1]);
964 + alloc_colorset(f[1]);
965 + ps->flags.use_border_colorset_handles_ne = (f[1] >= 0);
966 + ps->flag_mask.use_border_colorset_handles_ne = 1;
967 + ps->change_mask.use_border_colorset_handles_ne = 1;
969 + SSET_BORDER_COLORSET_HANDLES_SW(*ps, f[2]);
970 + alloc_colorset(f[2]);
971 + ps->flags.use_border_colorset_handles_sw = (f[2] >= 0);
972 + ps->flag_mask.use_border_colorset_handles_sw = 1;
973 + ps->change_mask.use_border_colorset_handles_sw = 1;
975 + SSET_BORDER_COLORSET_HANDLES_SE(*ps, f[3]);
976 + alloc_colorset(f[3]);
977 + ps->flags.use_border_colorset_handles_se = (f[3] >= 0);
978 + ps->flag_mask.use_border_colorset_handles_se = 1;
979 + ps->change_mask.use_border_colorset_handles_se = 1;
983 else if (StrEquals(token, "BottomTitleRotated"))
985 S_SET_IS_BOTTOM_TITLE_ROTATED(SCF(*ps), on);
986 @@ -2676,7 +2870,117 @@
987 ps->flag_mask.use_border_colorset_hi = 1;
988 ps->change_mask.use_border_colorset_hi = 1;
990 - else if (StrEquals(token, "HilightIconTitleColorset"))
991 + else if (StrEquals(token, "HilightBorderColorsetRegions"))
993 + int f[4] = {-1, -1, -1, -1};
994 + Bool bad = False;
996 + num = 0;
997 + if (on != 0)
999 + num = GetIntegerArguments(rest, &rest, val, 4);
1001 + for (i=0; i < num; i++)
1003 + if (val[i] < 0)
1004 + bad = True;
1005 + f[i] = val[i];
1008 + if (bad)
1010 + fvwm_msg(
1011 + ERR, "style_parse_one_style_option",
1012 + "Bad argument to HilightBorderColorsetRegions"
1013 + ": %s", rest);
1014 + break;
1017 + /* If 'f' defines our array of colorsets then dispatch
1018 + * them here.
1019 + */
1021 + SSET_BORDER_COLORSET_HI_NORTH(*ps, f[0]);
1022 + alloc_colorset(f[0]);
1023 + ps->flags.use_border_colorset_hi_north = (f[0] >= 0);
1024 + ps->flag_mask.use_border_colorset_hi_north = 1;
1025 + ps->change_mask.use_border_colorset_hi_north = 1;
1027 + SSET_BORDER_COLORSET_HI_SOUTH(*ps, f[1]);
1028 + alloc_colorset(f[1]);
1029 + ps->flags.use_border_colorset_hi_south = (f[1] >= 0);
1030 + ps->flag_mask.use_border_colorset_hi_south = 1;
1031 + ps->change_mask.use_border_colorset_hi_south = 1;
1033 + SSET_BORDER_COLORSET_HI_EAST(*ps, f[2]);
1034 + alloc_colorset(f[2]);
1035 + ps->flags.use_border_colorset_hi_east = (f[2] >= 0);
1036 + ps->flag_mask.use_border_colorset_hi_east = 1;
1037 + ps->change_mask.use_border_colorset_hi_east = 1;
1039 + SSET_BORDER_COLORSET_HI_WEST(*ps, f[3]);
1040 + alloc_colorset(f[3]);
1041 + ps->flags.use_border_colorset_hi_west = (f[3] >= 0);
1042 + ps->flag_mask.use_border_colorset_hi_west = 1;
1043 + ps->change_mask.use_border_colorset_hi_west = 1;
1046 + else if (StrEquals(token, "HilightHandlesColorsetRegions"))
1048 + int f[4] = {-1, -1, -1, -1};
1049 + Bool bad = False;
1051 + num = 0;
1052 + if (on != 0)
1054 + num = GetIntegerArguments(rest, &rest, val, 4);
1056 + for (i=0; i < num; i++)
1058 + if (val[i] < 0)
1059 + bad = True;
1060 + f[i] = val[i];
1063 + if (bad)
1065 + fvwm_msg(
1066 + ERR, "style_parse_one_style_option",
1067 + "Bad argument to HilightHandlesColorsetRegions"
1068 + ": %s", rest);
1069 + break;
1072 + /* If 'f' defines our array of colorsets then dispatch
1073 + * them here.
1074 + */
1076 + SSET_BORDER_COLORSET_HI_HANDLES_NW(*ps, f[0]);
1077 + alloc_colorset(f[0]);
1078 + ps->flags.use_border_colorset_hi_handles_nw = (f[0] >= 0);
1079 + ps->flag_mask.use_border_colorset_hi_handles_nw = 1;
1080 + ps->change_mask.use_border_colorset_hi_handles_nw = 1;
1082 + SSET_BORDER_COLORSET_HI_HANDLES_NE(*ps, f[1]);
1083 + alloc_colorset(f[1]);
1084 + ps->flags.use_border_colorset_hi_handles_ne = (f[1] >= 0);
1085 + ps->flag_mask.use_border_colorset_hi_handles_ne = 1;
1086 + ps->change_mask.use_border_colorset_hi_handles_ne = 1;
1088 + SSET_BORDER_COLORSET_HI_HANDLES_SW(*ps, f[2]);
1089 + alloc_colorset(f[2]);
1090 + ps->flags.use_border_colorset_hi_handles_sw = (f[2] >= 0);
1091 + ps->flag_mask.use_border_colorset_hi_handles_sw = 1;
1092 + ps->change_mask.use_border_colorset_hi_handles_sw = 1;
1094 + SSET_BORDER_COLORSET_HI_HANDLES_SE(*ps, f[3]);
1095 + alloc_colorset(f[3]);
1096 + ps->flags.use_border_colorset_hi_handles_se = (f[3] >= 0);
1097 + ps->flag_mask.use_border_colorset_hi_handles_se = 1;
1098 + ps->change_mask.use_border_colorset_hi_handles_se = 1;
1101 + else if (StrEquals(token, "HilightIconTitleColorset"))
1103 *val = -1;
1104 GetIntegerArguments(rest, &rest, val, 1);
1105 @@ -4871,6 +5175,62 @@
1106 temp->change_mask.use_border_colorset = 1;
1107 Scr.flags.do_need_window_update = 1;
1109 + if (SUSE_BORDER_COLORSET_NORTH(&temp->flags) &&
1110 + SGET_BORDER_COLORSET_NORTH(*temp) == colorset)
1112 + temp->has_style_changed = 1;
1113 + temp->change_mask.use_border_colorset_north = 1;
1114 + Scr.flags.do_need_window_update = 1;
1116 + if (SUSE_BORDER_COLORSET_SOUTH(&temp->flags) &&
1117 + SGET_BORDER_COLORSET_SOUTH(*temp) == colorset)
1119 + temp->has_style_changed = 1;
1120 + temp->change_mask.use_border_colorset_south = 1;
1121 + Scr.flags.do_need_window_update = 1;
1123 + if (SUSE_BORDER_COLORSET_EAST(&temp->flags) &&
1124 + SGET_BORDER_COLORSET_EAST(*temp) == colorset)
1126 + temp->has_style_changed = 1;
1127 + temp->change_mask.use_border_colorset_east = 1;
1128 + Scr.flags.do_need_window_update = 1;
1130 + if (SUSE_BORDER_COLORSET_WEST(&temp->flags) &&
1131 + SGET_BORDER_COLORSET_WEST(*temp) == colorset)
1133 + temp->has_style_changed = 1;
1134 + temp->change_mask.use_border_colorset_west = 1;
1135 + Scr.flags.do_need_window_update = 1;
1137 + if (SUSE_BORDER_COLORSET_HANDLES_NW(&temp->flags) &&
1138 + SGET_BORDER_COLORSET_HANDLES_NW(*temp) == colorset)
1140 + temp->has_style_changed = 1;
1141 + temp->change_mask.use_border_colorset_handles_nw = 1;
1142 + Scr.flags.do_need_window_update = 1;
1144 + if (SUSE_BORDER_COLORSET_HANDLES_NE(&temp->flags) &&
1145 + SGET_BORDER_COLORSET_HANDLES_NE(*temp) == colorset)
1147 + temp->has_style_changed = 1;
1148 + temp->change_mask.use_border_colorset_handles_ne = 1;
1149 + Scr.flags.do_need_window_update = 1;
1151 + if (SUSE_BORDER_COLORSET_HANDLES_SW(&temp->flags) &&
1152 + SGET_BORDER_COLORSET_HANDLES_SW(*temp) == colorset)
1154 + temp->has_style_changed = 1;
1155 + temp->change_mask.use_border_colorset_handles_sw = 1;
1156 + Scr.flags.do_need_window_update = 1;
1158 + if (SUSE_BORDER_COLORSET_HANDLES_SE(&temp->flags) &&
1159 + SGET_BORDER_COLORSET_HANDLES_SE(*temp) == colorset)
1161 + temp->has_style_changed = 1;
1162 + temp->change_mask.use_border_colorset_handles_se = 1;
1163 + Scr.flags.do_need_window_update = 1;
1165 if (SUSE_BORDER_COLORSET_HI(&temp->flags) &&
1166 SGET_BORDER_COLORSET_HI(*temp) == colorset)
1168 @@ -4878,6 +5238,62 @@
1169 temp->change_mask.use_border_colorset_hi = 1;
1170 Scr.flags.do_need_window_update = 1;
1172 + if (SUSE_BORDER_COLORSET_HI_NORTH(&temp->flags) &&
1173 + SGET_BORDER_COLORSET_HI_NORTH(*temp) == colorset)
1175 + temp->has_style_changed = 1;
1176 + temp->change_mask.use_border_colorset_hi_north = 1;
1177 + Scr.flags.do_need_window_update = 1;
1179 + if (SUSE_BORDER_COLORSET_HI_SOUTH(&temp->flags) &&
1180 + SGET_BORDER_COLORSET_HI_SOUTH(*temp) == colorset)
1182 + temp->has_style_changed = 1;
1183 + temp->change_mask.use_border_colorset_hi_south = 1;
1184 + Scr.flags.do_need_window_update = 1;
1186 + if (SUSE_BORDER_COLORSET_HI_EAST(&temp->flags) &&
1187 + SGET_BORDER_COLORSET_HI_EAST(*temp) == colorset)
1189 + temp->has_style_changed = 1;
1190 + temp->change_mask.use_border_colorset_hi_east = 1;
1191 + Scr.flags.do_need_window_update = 1;
1193 + if (SUSE_BORDER_COLORSET_HI_WEST(&temp->flags) &&
1194 + SGET_BORDER_COLORSET_HI_WEST(*temp) == colorset)
1196 + temp->has_style_changed = 1;
1197 + temp->change_mask.use_border_colorset_hi_west = 1;
1198 + Scr.flags.do_need_window_update = 1;
1200 + if (SUSE_BORDER_COLORSET_HI_HANDLES_NW(&temp->flags) &&
1201 + SGET_BORDER_COLORSET_HI_HANDLES_NW(*temp) == colorset)
1203 + temp->has_style_changed = 1;
1204 + temp->change_mask.use_border_colorset_hi_handles_nw = 1;
1205 + Scr.flags.do_need_window_update = 1;
1207 + if (SUSE_BORDER_COLORSET_HI_HANDLES_NE(&temp->flags) &&
1208 + SGET_BORDER_COLORSET_HI_HANDLES_NE(*temp) == colorset)
1210 + temp->has_style_changed = 1;
1211 + temp->change_mask.use_border_colorset_hi_handles_ne = 1;
1212 + Scr.flags.do_need_window_update = 1;
1214 + if (SUSE_BORDER_COLORSET_HI_HANDLES_SW(&temp->flags) &&
1215 + SGET_BORDER_COLORSET_HI_HANDLES_SW(*temp) == colorset)
1217 + temp->has_style_changed = 1;
1218 + temp->change_mask.use_border_colorset_hi_handles_sw = 1;
1219 + Scr.flags.do_need_window_update = 1;
1221 + if (SUSE_BORDER_COLORSET_HI_HANDLES_SE(&temp->flags) &&
1222 + SGET_BORDER_COLORSET_HI_HANDLES_SE(*temp) == colorset)
1224 + temp->has_style_changed = 1;
1225 + temp->change_mask.use_border_colorset_hi_handles_se = 1;
1226 + Scr.flags.do_need_window_update = 1;
1228 if (SUSE_ICON_TITLE_COLORSET(&temp->flags) &&
1229 SGET_ICON_TITLE_COLORSET(*temp) == colorset)
1231 @@ -4955,7 +5371,129 @@
1232 fw->border_colors.shadow = fw->colors.shadow;
1233 fw->border_colors.back = fw->colors.back;
1236 + if (SUSE_BORDER_COLORSET_NORTH(&pstyle->flags))
1238 + cs = SGET_BORDER_COLORSET_NORTH(*pstyle);
1239 + fw->border_cs_north = cs;
1240 + fw->border_colors_north.hilight = Colorset[cs].hilite;
1241 + fw->border_colors_north.shadow = Colorset[cs].shadow;
1242 + fw->border_colors_north.back = Colorset[cs].bg;
1244 + else
1246 + fw->border_cs_north = -1;
1247 + fw->border_colors_north.hilight = fw->colors.hilight;
1248 + fw->border_colors_north.shadow = fw->colors.shadow;
1249 + fw->border_colors_north.back = fw->colors.back;
1251 + if (SUSE_BORDER_COLORSET_SOUTH(&pstyle->flags))
1253 + cs = SGET_BORDER_COLORSET_SOUTH(*pstyle);
1254 + fw->border_cs_south = cs;
1255 + fw->border_colors_south.hilight = Colorset[cs].hilite;
1256 + fw->border_colors_south.shadow = Colorset[cs].shadow;
1257 + fw->border_colors_south.back = Colorset[cs].bg;
1259 + else
1261 + fw->border_cs_south = -1;
1262 + fw->border_colors_south.hilight = fw->colors.hilight;
1263 + fw->border_colors_south.shadow = fw->colors.shadow;
1264 + fw->border_colors_south.back = fw->colors.back;
1266 + if (SUSE_BORDER_COLORSET_EAST(&pstyle->flags))
1268 + cs = SGET_BORDER_COLORSET_EAST(*pstyle);
1269 + fw->border_cs_east = cs;
1270 + fw->border_colors_east.hilight = Colorset[cs].hilite;
1271 + fw->border_colors_east.shadow = Colorset[cs].shadow;
1272 + fw->border_colors_east.back = Colorset[cs].bg;
1274 + else
1276 + fw->border_cs_east = -1;
1277 + fw->border_colors_east.hilight = fw->colors.hilight;
1278 + fw->border_colors_east.shadow = fw->colors.shadow;
1279 + fw->border_colors_east.back = fw->colors.back;
1281 + if (SUSE_BORDER_COLORSET_WEST(&pstyle->flags))
1283 + cs = SGET_BORDER_COLORSET_WEST(*pstyle);
1284 + fw->border_cs_west = cs;
1285 + fw->border_colors_west.hilight = Colorset[cs].hilite;
1286 + fw->border_colors_west.shadow = Colorset[cs].shadow;
1287 + fw->border_colors_west.back = Colorset[cs].bg;
1289 + else
1291 + fw->border_cs_west = -1;
1292 + fw->border_colors_west.hilight = fw->colors.hilight;
1293 + fw->border_colors_west.shadow = fw->colors.shadow;
1294 + fw->border_colors_west.back = fw->colors.back;
1296 + /* handles */
1297 + if (SUSE_BORDER_COLORSET_HANDLES_NW(&pstyle->flags))
1299 + cs = SGET_BORDER_COLORSET_HANDLES_NW(*pstyle);
1300 + fw->border_cs_handles_nw = cs;
1301 + fw->border_colors_handles_nw.hilight = Colorset[cs].hilite;
1302 + fw->border_colors_handles_nw.shadow = Colorset[cs].shadow;
1303 + fw->border_colors_handles_nw.back = Colorset[cs].bg;
1305 + else
1307 + fw->border_cs_handles_nw = -1;
1308 + fw->border_colors_handles_nw.hilight = fw->colors.hilight;
1309 + fw->border_colors_handles_nw.shadow = fw->colors.shadow;
1310 + fw->border_colors_handles_nw.back = fw->colors.back;
1312 + if (SUSE_BORDER_COLORSET_HANDLES_NE(&pstyle->flags))
1314 + cs = SGET_BORDER_COLORSET_HANDLES_NE(*pstyle);
1315 + fw->border_cs_handles_ne = cs;
1316 + fw->border_colors_handles_ne.hilight = Colorset[cs].hilite;
1317 + fw->border_colors_handles_ne.shadow = Colorset[cs].shadow;
1318 + fw->border_colors_handles_ne.back = Colorset[cs].bg;
1320 + else
1322 + fw->border_cs_handles_ne = -1;
1323 + fw->border_colors_handles_ne.hilight = fw->colors.hilight;
1324 + fw->border_colors_handles_ne.shadow = fw->colors.shadow;
1325 + fw->border_colors_handles_ne.back = fw->colors.back;
1327 + if (SUSE_BORDER_COLORSET_HANDLES_SW(&pstyle->flags))
1329 + cs = SGET_BORDER_COLORSET_HANDLES_SW(*pstyle);
1330 + fw->border_cs_handles_sw = cs;
1331 + fw->border_colors_handles_sw.hilight = Colorset[cs].hilite;
1332 + fw->border_colors_handles_sw.shadow = Colorset[cs].shadow;
1333 + fw->border_colors_handles_sw.back = Colorset[cs].bg;
1335 + else
1337 + fw->border_cs_handles_sw = -1;
1338 + fw->border_colors_handles_sw.hilight = fw->colors.hilight;
1339 + fw->border_colors_handles_sw.shadow = fw->colors.shadow;
1340 + fw->border_colors_handles_sw.back = fw->colors.back;
1342 + if (SUSE_BORDER_COLORSET_HANDLES_SE(&pstyle->flags))
1344 + cs = SGET_BORDER_COLORSET_HANDLES_SE(*pstyle);
1345 + fw->border_cs_handles_se = cs;
1346 + fw->border_colors_handles_se.hilight = Colorset[cs].hilite;
1347 + fw->border_colors_handles_se.shadow = Colorset[cs].shadow;
1348 + fw->border_colors_handles_se.back = Colorset[cs].bg;
1350 + else
1352 + fw->border_cs_handles_se = -1;
1353 + fw->border_colors_handles_se.hilight = fw->colors.hilight;
1354 + fw->border_colors_handles_se.shadow = fw->colors.shadow;
1355 + fw->border_colors_handles_se.back = fw->colors.back;
1360 void update_window_color_hi_style(FvwmWindow *fw, window_style *pstyle)
1362 @@ -5007,6 +5545,127 @@
1363 fw->border_hicolors.shadow = fw->hicolors.shadow;
1364 fw->border_hicolors.back = fw->hicolors.back;
1366 + if (SUSE_BORDER_COLORSET_HI_NORTH(&pstyle->flags))
1368 + cs = SGET_BORDER_COLORSET_HI_NORTH(*pstyle);
1369 + fw->border_cs_hi_north = cs;
1370 + fw->border_hicolors_north.hilight = Colorset[cs].hilite;
1371 + fw->border_hicolors_north.shadow = Colorset[cs].shadow;
1372 + fw->border_hicolors_north.back = Colorset[cs].bg;
1374 + else
1376 + fw->border_cs_hi_north = -1;
1377 + fw->border_hicolors_north.hilight = fw->hicolors.hilight;
1378 + fw->border_hicolors_north.shadow = fw->hicolors.shadow;
1379 + fw->border_hicolors_north.back = fw->hicolors.back;
1381 + if (SUSE_BORDER_COLORSET_HI_SOUTH(&pstyle->flags))
1383 + cs = SGET_BORDER_COLORSET_HI_SOUTH(*pstyle);
1384 + fw->border_cs_hi_south = cs;
1385 + fw->border_hicolors_south.hilight = Colorset[cs].hilite;
1386 + fw->border_hicolors_south.shadow = Colorset[cs].shadow;
1387 + fw->border_hicolors_south.back = Colorset[cs].bg;
1389 + else
1391 + fw->border_cs_hi_south = -1;
1392 + fw->border_hicolors_south.hilight = fw->hicolors.hilight;
1393 + fw->border_hicolors_south.shadow = fw->hicolors.shadow;
1394 + fw->border_hicolors_south.back = fw->hicolors.back;
1396 + if (SUSE_BORDER_COLORSET_HI_EAST(&pstyle->flags))
1398 + cs = SGET_BORDER_COLORSET_HI_EAST(*pstyle);
1399 + fw->border_cs_hi_east = cs;
1400 + fw->border_hicolors_east.hilight = Colorset[cs].hilite;
1401 + fw->border_hicolors_east.shadow = Colorset[cs].shadow;
1402 + fw->border_hicolors_east.back = Colorset[cs].bg;
1404 + else
1406 + fw->border_cs_hi_east = -1;
1407 + fw->border_hicolors_east.hilight = fw->hicolors.hilight;
1408 + fw->border_hicolors_east.shadow = fw->hicolors.shadow;
1409 + fw->border_hicolors_east.back = fw->hicolors.back;
1411 + if (SUSE_BORDER_COLORSET_HI_WEST(&pstyle->flags))
1413 + cs = SGET_BORDER_COLORSET_HI_WEST(*pstyle);
1414 + fw->border_cs_hi_west = cs;
1415 + fw->border_hicolors_west.hilight = Colorset[cs].hilite;
1416 + fw->border_hicolors_west.shadow = Colorset[cs].shadow;
1417 + fw->border_hicolors_west.back = Colorset[cs].bg;
1419 + else
1421 + fw->border_cs_hi_west = -1;
1422 + fw->border_hicolors_west.hilight = fw->hicolors.hilight;
1423 + fw->border_hicolors_west.shadow = fw->hicolors.shadow;
1424 + fw->border_hicolors_west.back = fw->hicolors.back;
1426 + /* Handles */
1427 + if (SUSE_BORDER_COLORSET_HI_HANDLES_NW(&pstyle->flags))
1429 + cs = SGET_BORDER_COLORSET_HI_HANDLES_NW(*pstyle);
1430 + fw->border_cs_hi_handles_nw = cs;
1431 + fw->border_hicolors_handles_nw.hilight = Colorset[cs].hilite;
1432 + fw->border_hicolors_handles_nw.shadow = Colorset[cs].shadow;
1433 + fw->border_hicolors_handles_nw.back = Colorset[cs].bg;
1435 + else
1437 + fw->border_cs_hi_handles_nw = -1;
1438 + fw->border_hicolors_handles_nw.hilight = fw->hicolors.hilight;
1439 + fw->border_hicolors_handles_nw.shadow = fw->hicolors.shadow;
1440 + fw->border_hicolors_handles_nw.back = fw->hicolors.back;
1442 + if (SUSE_BORDER_COLORSET_HI_HANDLES_NE(&pstyle->flags))
1444 + cs = SGET_BORDER_COLORSET_HI_HANDLES_NE(*pstyle);
1445 + fw->border_cs_hi_handles_ne = cs;
1446 + fw->border_hicolors_handles_ne.hilight = Colorset[cs].hilite;
1447 + fw->border_hicolors_handles_ne.shadow = Colorset[cs].shadow;
1448 + fw->border_hicolors_handles_ne.back = Colorset[cs].bg;
1450 + else
1452 + fw->border_cs_hi_handles_ne = -1;
1453 + fw->border_hicolors_handles_ne.hilight = fw->hicolors.hilight;
1454 + fw->border_hicolors_handles_ne.shadow = fw->hicolors.shadow;
1455 + fw->border_hicolors_handles_ne.back = fw->hicolors.back;
1457 + if (SUSE_BORDER_COLORSET_HI_HANDLES_SW(&pstyle->flags))
1459 + cs = SGET_BORDER_COLORSET_HI_HANDLES_SW(*pstyle);
1460 + fw->border_cs_hi_handles_sw = cs;
1461 + fw->border_hicolors_handles_sw.hilight = Colorset[cs].hilite;
1462 + fw->border_hicolors_handles_sw.shadow = Colorset[cs].shadow;
1463 + fw->border_hicolors_handles_sw.back = Colorset[cs].bg;
1465 + else
1467 + fw->border_cs_hi_handles_sw = -1;
1468 + fw->border_hicolors_handles_sw.hilight = fw->hicolors.hilight;
1469 + fw->border_hicolors_handles_sw.shadow = fw->hicolors.shadow;
1470 + fw->border_hicolors_handles_sw.back = fw->hicolors.back;
1472 + if (SUSE_BORDER_COLORSET_HI_HANDLES_SE(&pstyle->flags))
1474 + cs = SGET_BORDER_COLORSET_HI_HANDLES_SE(*pstyle);
1475 + fw->border_cs_hi_handles_se = cs;
1476 + fw->border_hicolors_handles_se.hilight = Colorset[cs].hilite;
1477 + fw->border_hicolors_handles_se.shadow = Colorset[cs].shadow;
1478 + fw->border_hicolors_handles_se.back = Colorset[cs].bg;
1480 + else
1482 + fw->border_cs_hi_handles_se = -1;
1483 + fw->border_hicolors_handles_se.hilight = fw->hicolors.hilight;
1484 + fw->border_hicolors_handles_se.shadow = fw->hicolors.shadow;
1485 + fw->border_hicolors_handles_se.back = fw->hicolors.back;
1489 void update_icon_title_cs_style(FvwmWindow *fw, window_style *pstyle)
1490 Sólo en fvwm: style.c.orig
1491 diff -U3 -r /var/portage/distfiles/cvs-src/fvwm/fvwm/style.h fvwm/style.h
1492 --- /var/portage/distfiles/cvs-src/fvwm/fvwm/style.h 2007-06-03 15:32:05.000000000 +0200
1493 +++ fvwm/style.h 2007-06-08 00:30:18.000000000 +0200
1494 @@ -67,8 +67,40 @@
1495 ((sf)->use_colorset_hi)
1496 #define SUSE_BORDER_COLORSET(sf) \
1497 ((sf)->use_border_colorset)
1498 +#define SUSE_BORDER_COLORSET_NORTH(sf) \
1499 + ((sf)->use_border_colorset_north)
1500 +#define SUSE_BORDER_COLORSET_SOUTH(sf) \
1501 + ((sf)->use_border_colorset_south)
1502 +#define SUSE_BORDER_COLORSET_EAST(sf) \
1503 + ((sf)->use_border_colorset_east)
1504 +#define SUSE_BORDER_COLORSET_WEST(sf) \
1505 + ((sf)->use_border_colorset_west)
1506 +#define SUSE_BORDER_COLORSET_HANDLES_NW(sf) \
1507 + ((sf)->use_border_colorset_handles_nw)
1508 +#define SUSE_BORDER_COLORSET_HANDLES_NE(sf) \
1509 + ((sf)->use_border_colorset_handles_ne)
1510 +#define SUSE_BORDER_COLORSET_HANDLES_SW(sf) \
1511 + ((sf)->use_border_colorset_handles_sw)
1512 +#define SUSE_BORDER_COLORSET_HANDLES_SE(sf) \
1513 + ((sf)->use_border_colorset_handles_se)
1514 #define SUSE_BORDER_COLORSET_HI(sf) \
1515 ((sf)->use_border_colorset_hi)
1516 +#define SUSE_BORDER_COLORSET_HI_NORTH(sf) \
1517 + ((sf)->use_border_colorset_hi_north)
1518 +#define SUSE_BORDER_COLORSET_HI_SOUTH(sf) \
1519 + ((sf)->use_border_colorset_hi_south)
1520 +#define SUSE_BORDER_COLORSET_HI_EAST(sf) \
1521 + ((sf)->use_border_colorset_hi_east)
1522 +#define SUSE_BORDER_COLORSET_HI_WEST(sf) \
1523 + ((sf)->use_border_colorset_hi_west)
1524 +#define SUSE_BORDER_COLORSET_HI_HANDLES_NW(sf) \
1525 + ((sf)->use_border_colorset_hi_handles_nw)
1526 +#define SUSE_BORDER_COLORSET_HI_HANDLES_NE(sf) \
1527 + ((sf)->use_border_colorset_hi_handles_ne)
1528 +#define SUSE_BORDER_COLORSET_HI_HANDLES_SW(sf) \
1529 + ((sf)->use_border_colorset_hi_handles_sw)
1530 +#define SUSE_BORDER_COLORSET_HI_HANDLES_SE(sf) \
1531 + ((sf)->use_border_colorset_hi_handles_se)
1532 #define SUSE_ICON_TITLE_COLORSET(sf) \
1533 ((sf)->use_icon_title_colorset)
1534 #define SUSE_ICON_TITLE_COLORSET_HI(sf) \
1535 @@ -459,6 +491,38 @@
1536 ((s).border_colorset = (x))
1537 #define SGET_BORDER_COLORSET(s) \
1538 ((s).border_colorset)
1539 +#define SSET_BORDER_COLORSET_NORTH(s,x) \
1540 + ((s).border_colorset_north = (x))
1541 +#define SGET_BORDER_COLORSET_NORTH(s) \
1542 + ((s).border_colorset_north)
1543 +#define SSET_BORDER_COLORSET_SOUTH(s,x) \
1544 + ((s).border_colorset_south = (x))
1545 +#define SGET_BORDER_COLORSET_SOUTH(s) \
1546 + ((s).border_colorset_south)
1547 +#define SSET_BORDER_COLORSET_EAST(s,x) \
1548 + ((s).border_colorset_east = (x))
1549 +#define SGET_BORDER_COLORSET_EAST(s) \
1550 + ((s).border_colorset_east)
1551 +#define SSET_BORDER_COLORSET_WEST(s,x) \
1552 + ((s).border_colorset_west = (x))
1553 +#define SGET_BORDER_COLORSET_WEST(s) \
1554 + ((s).border_colorset_west)
1555 +#define SSET_BORDER_COLORSET_HANDLES_NW(s,x) \
1556 + ((s).border_colorset_handles_nw = (x))
1557 +#define SGET_BORDER_COLORSET_HANDLES_NW(s) \
1558 + ((s).border_colorset_handles_nw)
1559 +#define SSET_BORDER_COLORSET_HANDLES_NE(s,x) \
1560 + ((s).border_colorset_handles_ne = (x))
1561 +#define SGET_BORDER_COLORSET_HANDLES_NE(s) \
1562 + ((s).border_colorset_handles_ne)
1563 +#define SSET_BORDER_COLORSET_HANDLES_SW(s,x) \
1564 + ((s).border_colorset_handles_sw = (x))
1565 +#define SGET_BORDER_COLORSET_HANDLES_SW(s) \
1566 + ((s).border_colorset_handles_sw)
1567 +#define SSET_BORDER_COLORSET_HANDLES_SE(s,x) \
1568 + ((s).border_colorset_handles_se = (x))
1569 +#define SGET_BORDER_COLORSET_HANDLES_SE(s) \
1570 + ((s).border_colorset_handles_se)
1571 #define SGET_COLORSET_HI(s) \
1572 ((s).colorset_hi)
1573 #define SSET_COLORSET_HI(s,x) \
1574 @@ -467,8 +531,40 @@
1575 ((s).border_colorset_hi)
1576 #define SSET_BORDER_COLORSET_HI(s,x) \
1577 ((s).border_colorset_hi = (x))
1578 +#define SGET_BORDER_COLORSET_HI_NORTH(s) \
1579 + ((s).border_colorset_hi_north)
1580 +#define SSET_BORDER_COLORSET_HI_NORTH(s,x) \
1581 + ((s).border_colorset_hi_north = (x))
1582 +#define SGET_BORDER_COLORSET_HI_SOUTH(s) \
1583 + ((s).border_colorset_hi_south)
1584 +#define SSET_BORDER_COLORSET_HI_SOUTH(s,x) \
1585 + ((s).border_colorset_hi_south = (x))
1586 +#define SGET_BORDER_COLORSET_HI_EAST(s) \
1587 + ((s).border_colorset_hi_east)
1588 +#define SSET_BORDER_COLORSET_HI_EAST(s,x) \
1589 + ((s).border_colorset_hi_east = (x))
1590 +#define SGET_BORDER_COLORSET_HI_WEST(s) \
1591 + ((s).border_colorset_hi_west)
1592 +#define SSET_BORDER_COLORSET_HI_WEST(s,x) \
1593 + ((s).border_colorset_hi_west = (x))
1594 +#define SSET_BORDER_COLORSET_HI_HANDLES_NW(s,x) \
1595 + ((s).border_colorset_hi_handles_nw = (x))
1596 +#define SGET_BORDER_COLORSET_HI_HANDLES_NW(s) \
1597 + ((s).border_colorset_hi_handles_nw)
1598 +#define SSET_BORDER_COLORSET_HI_HANDLES_NE(s,x) \
1599 + ((s).border_colorset_hi_handles_ne = (x))
1600 +#define SGET_BORDER_COLORSET_HI_HANDLES_NE(s) \
1601 + ((s).border_colorset_hi_handles_ne)
1602 +#define SSET_BORDER_COLORSET_HI_HANDLES_SW(s,x) \
1603 + ((s).border_colorset_hi_handles_sw = (x))
1604 +#define SGET_BORDER_COLORSET_HI_HANDLES_SW(s) \
1605 + ((s).border_colorset_hi_handles_sw)
1606 +#define SSET_BORDER_COLORSET_HI_HANDLES_SE(s,x) \
1607 + ((s).border_colorset_hi_handles_se = (x))
1608 +#define SGET_BORDER_COLORSET_HI_HANDLES_SE(s) \
1609 + ((s).border_colorset_hi_handles_se)
1610 #define SSET_ICON_TITLE_COLORSET(s,x) \
1611 - ((s).icon_title_colorset = (x))
1612 + ((s).icon_title_colorset = (x))
1613 #define SGET_ICON_TITLE_COLORSET(s) \
1614 ((s).icon_title_colorset)
1615 #define SSET_ICON_TITLE_COLORSET_HI(s,x) \