icewm/src/yicon.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/icewm/src/yicon.cc b/icewm/src/yicon.cc index 85d1b47..fd219c8 100644 --- a/icewm/src/yicon.cc +++ b/icewm/src/yicon.cc @@ -80,6 +80,26 @@ upath YIcon::findIcon(upath dir, upath base, unsigned size) { if (fullpath.fileExists()) return fullpath; + sprintf(icons_size, "%dx%d/apps/%s", size, size, cstring(base.path()).c_str()); + fullpath = joinPath(dir, icons_size); + if (fullpath.fileExists()) + return fullpath; + + sprintf(icons_size, "%dx%d/apps/%s.png", size, size, cstring(base.path()).c_str()); + fullpath = joinPath(dir, icons_size); + if (fullpath.fileExists()) + return fullpath; + + sprintf(icons_size, "%dx%d/apps/%s.xpm", size, size, cstring(base.path()).c_str()); + fullpath = joinPath(dir, icons_size); + if (fullpath.fileExists()) + return fullpath; + + sprintf(icons_size, "%s_%dx%d.png", cstring(base.path()).c_str(), size, size); + fullpath = joinPath(dir, icons_size); + if (fullpath.fileExists()) + return fullpath; + return 0; }