add fallback icon, recursively handle application dir