Added a cache directory selection and creation method. Also, updated
desktop libs.