Mikhael Goikhman wrote:
I don't think this patch improves anything, borders look differently bad.
See 2 screenshots (a bit ugly), before and after applying your patch:
http://fvwm-themes.sourceforge.net/tmp/FvwmConsole-BorderStyle-TiledPixmap-orig.png
http://fvwm-themes.sourceforge.net/tmp/FvwmConsole-BorderStyle-TiledPixmap-patch.png
OK, please see the correct patch attached.
Regards,
Evgeny
--- borders.c.orig 2004-09-01 17:42:04.000000000 +0300
+++ borders.c 2005-08-30 14:17:51.000000000 +0300
@@ -1536,6 +1536,13 @@
Pixmap p;
Window w;
Bool free_bg_pixmap = False;
+ frame_title_layout_t title_layout;
+
+ int border_width, title_height;
+
+ frame_get_titlebar_dimensions(fw, frame_g, NULL, &title_layout);
+ title_height = title_layout.title_g.height;
+ border_width = fw->boundary_width;
/* make a pixmap */
border_get_part_geometry(fw, part, sidebar_g, &part_g, &w);
@@ -1551,8 +1558,40 @@
relative_g.y = part_g.y;
border_get_border_background(
&bg, cd, &part_g, &relative_g, &free_bg_pixmap, w);
- bg.pixmap.g.x = 0;
- bg.pixmap.g.y = 0;
+ switch (part)
+ {
+ case PART_BORDER_E:
+ bg.pixmap.g.x = (frame_g->width - border_width);
+ break;
+ case PART_BORDER_NE:
+ case PART_BORDER_SE:
+ bg.pixmap.g.x = (frame_g->width - border_width - title_height);
+ break;
+ case PART_BORDER_N:
+ case PART_BORDER_S:
+ bg.pixmap.g.x = (border_width + title_height);
+ break;
+ default:
+ bg.pixmap.g.x = 0;
+ break;
+ }
+ switch (part)
+ {
+ case PART_BORDER_S:
+ bg.pixmap.g.y = (frame_g->height - border_width);
+ break;
+ case PART_BORDER_SW:
+ case PART_BORDER_SE:
+ bg.pixmap.g.y = (frame_g->height - border_width - title_height);
+ break;
+ case PART_BORDER_W:
+ case PART_BORDER_E:
+ bg.pixmap.g.y = (border_width + title_height);
+ break;
+ default:
+ bg.pixmap.g.y = 0;
+ break;
+ }
/* set the geometry for drawing the Tiled pixmap; maybe add the relief
* as offset? */
pix_g.x = 0;