Here comes some small fixes for wily 0.13.41.9libs: The common tools for dirtags get set to the file tag tools. There's only a dot's difference in the defaults, but WDIRTAG won't have any effect at all and WFILETAG will show up in dir tags too. (I just found it's been reported on the list several times already, but here's a reminder... :-) diff -rN -u diff-old/wily-9libs/wily/file.c diff-new/wily-9libs/wily/file.c --- diff-old/wily-9libs/wily/file.c Tue Dec 21 23:31:51 2004 +++ diff-new/wily-9libs/wily/file.c Tue Dec 21 21:53:10 2004 @@ -202,7 +202,7 @@ sprintf (buf, "%s %s | %s %s ", d->label, d->names? "Get":"", - filetools, specific); + common, specific); tag_set(d->tag, buf); } A function argument name is wrong in this comment. diff -rN -u diff-old/wily-9libs/wily/search.c diff-new/wily-9libs/wily/search.c --- diff-old/wily-9libs/wily/search.c Tue Dec 21 23:31:51 2004 +++ diff-new/wily-9libs/wily/search.c Tue Dec 21 21:53:10 2004 @@ -62,8 +62,8 @@ } /* - * If we can find 's' in 't' (start looking at 'pos'), return true and - * set 'pos' to the location of the start of the string. Otherwise, + * If we can find 's' in 't' (start looking at 'r'), return true and + * set 'r' to the location of the start of the string. Otherwise, * return false. */ Bool This is more complicated. There are more than one way to fix it, but I think this is the easiest. In snapheight() a tile that has shrunk so it can't show at least one line of text in its body snaps so it shows no body at all. In setrects() a body view is deemed to be not visible if its height is less than tagheight, which happens to be the same size as one text line with borders. But if the font is changed (which doesn't change tagheight) to one with smaller height, snapheight() can fit a text line and won't snap the window, while setrects() thinks it's too small and won't show it, so there's just a blank area. If the font is changed to one with bigger height and the window is small, a mouse click on the wrong spot will crash wily, but I have not investigated this so I don't know for sure what happens and exactly when. There are more things to this that I don't fully understand yet. There are different ways in the code to decide if a tile or view is big or small enough, and they don't always agree. If assertions are turned on, they will fire in various places with small windows and a smaller or bigger fonts than the "tag" font. The "dangerous" size is between 'tagheight' and 'fontheight+borders', so I just let snapheight() snap the tile if it's smaller than any of them. diff -rN -u diff-old/wily-9libs/wily/vgeom.c diff-new/wily-9libs/wily/vgeom.c --- diff-old/wily-9libs/wily/vgeom.c Tue Dec 21 23:31:51 2004 +++ diff-new/wily-9libs/wily/vgeom.c Tue Dec 21 21:53:10 2004 @@ -70,7 +70,7 @@ if (v->scroll) { lines = (h - brdr) / fh; - if (lines == 0) + if ((lines == 0) || (h < tagheight)) return 0; else return h; Here's a wrong name in a comment. diff -rN -u diff-old/wily-9libs/wily/tile.c diff-new/wily-9libs/wily/tile.c --- diff-old/wily-9libs/wily/tile.c Tue Dec 21 23:31:51 2004 +++ diff-new/wily-9libs/wily/tile.c Tue Dec 21 21:53:10 2004 @@ -227,7 +227,7 @@ } } - /* move t->min up a bit? */ + /* move t->max up a bit? */ diff = t->max - (l->cmax - after); if (diff>0) { move= MIN(available, diff); -- Tommy Pettersson <ptp@xxxxxxxxxxxxxx>