Hi,

> There were recent patches touching these path creation routines
that could very well have introduced odd behavior.

Just do a:

git log util/getstyle.c

to see that there were patches touching these precise areas.

Yeah, the one I mentioned was the only one that looked odd to me. However, it was clearly the right thing to do, all that system()-based stuff was clunky and had to go. I'll try to confirm this hunch tomorrow just to be sure.

If that turns out to be wrong, I'll try to locally revert the odder commits to getstyle.c, too, before patching things. They aren't too many. Maybe the bug was inconspicuously introduced by a more trivial patch that can be reverted without causing much harm, or fixed more easily.


It seems to me that a much cleaner solution is to relocate
/long/path/to/file.png to themeDir/assets/file.png. The only problem
this seems to have is that a theme creator may use files with the
same name, but located in different places, and getstyle would
either have to rename these automatically (not too difficult) or
bork and warn the user (trivial, but possibly annoying to use).

If you're copying the files to themeDir/assets then why is this
a problem for getstyle? Why would it care about other files elsewhere?
Note that I haven't read the code, so this is just a "common sense"
type of question.

If the theme uses a pixmap at /home/user/Documents/brushedmetal.png and a background image at /home/user/Pictures/wallpapers/brushedmetal.png, relocating them with their full path under themeDir/, as themeDir/home/user/Documents/brushedmetal.png and themeDir/home/user/Pictures/wallpapers/brushedmetal.png will be fine.

However, trying to blindly relocate them to themeDir/assets/brushedmetal.png won't do. They may have the same name, but that doesn't mean they're necessarily the same file (one may be a small 64x64 px tile, the other may be a wallpaper), so overwriting one with the other is not the correct choice. getstyle should either fix this automatically (by renaming one of the files after the relocation) or complain about it.

It's the only likely reason I can think of for relocating files with full path (I have done it in the past, too, just in order to not recursively mkdir stuff). It is, however, a very remote cornercase; in fact, I doubt it's being handled correctly right now, too, as I don't see how findCopyFile could discriminate between two identically-named files at different paths; since that seems to have worked fine for 6-12 years now, it's fair to conclude that it's woefully uncommon.

Alex


--
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to