On Thu, May 19, 2005 at 02:44:16PM +1000, Cameron Simpson wrote: > I have a Colorset that is used for my menus. > It appears that AspectPixmap does not work correctly for menus. > I have: > > MenuStyle "*" MenuColorset 2 > > and I say, via FvwmCommand, some Colorset commands to set the menu backdrop. > When I say: > > Colorset 2 AspectPixmap /path/to/image.png > > I get an image that appears somewhat adjusted for the menu, but incorrectly. > The image width appears to have been stretched to fit the menu, but the > height is grossly wrong (generally it seems too short), and so the Aspect > of the image is not the original aspect. > > Further, if I pop up a tall menu I get an image apparently sized for the > width of the menu (but with the aspect ratio shorter than the original > image), with the root background in the unfilled areas. > > Then a subsequent short menu gets the image apparently again sized for > the width of the menu (and again with the aspect ratio to short - more > so than before) and with left over pixels from the previous, larger, > image resize for the previous tall menu. > > It appears to me that the image resizing is being called with the correct > menu width (and presumably then the correct menu height), but the new > image size computation based on this to preserve the image backdrop is > not quite right. And the buffer used for the backdrop is not initialised > correctly, but reused from an earlier buffer (or maybe just memory that > happens to overlap that).
I can reproduce all these effects.
> [ Pulls out 2.5.12 source... ]
> Should I be concerned by menustyle_free_face() in menustyle.c that says:
>
> switch (mf->type)
> {
> case GradientMenu:
> [...]
> break;
> case PixmapMenu:
> case TiledPixmapMenu:
> if (mf->u.p)
> {
> PDestroyFvwmPicture(dpy, mf->u.p);
> }
> mf->u.p = NULL;
> break;
> case SolidMenu:
> FreeColors(&mf->u.back, 1, True);
> default:
> break;
> }
> mf->type = SimpleMenu;
>
> No AspectPixmap there. Is that a problem?
No, it just means that MenuStyle has no AspectPixmap option. You
are using a colorset which is handled by teh default case.
> Pixmap and TiledPixmap seem to behave, but they are not what I want.
>
> AspectPixmap would be I hope.
>
> I basicly want a full view of the image, shrunk/enlarged to fill the menu
> in one direction and padded by the default background in the other to fit
> (or maybe left aligned, or tiled in that size). Since menus are dynamic
> in size (i.e. WindowList menus mostly) neither Pixmap nor TiledPixmap
> quite cut it because my desired backgrounds are pictures and not tiles.
That's the idea. I'll look into it.
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt, [EMAIL PROTECTED]
signature.asc
Description: Digital signature
