diff --git a/src/anbox/application/launcher_storage.cpp b/src/anbox/application/launcher_storage.cpp index 2d038dd..5bdf931 100644 --- a/src/anbox/application/launcher_storage.cpp +++ b/src/anbox/application/launcher_storage.cpp @@ -39,8 +39,15 @@ LauncherStorage::LauncherStorage(const fs::path &path) : LauncherStorage::~LauncherStorage() {} void LauncherStorage::reset() { - if (fs::exists(path_)) - fs::remove_all(path_); + if (fs::exists(path_)) { + for(auto & p : boost::filesystem::directory_iterator(path_)) { + if (fs::is_regular_file(p)){ + auto str = p.path().filename().string(); + if (boost::starts_with(str, "anbox-")) + fs::remove(p); + } + } + } } std::string LauncherStorage::clean_package_name(const std::string &package_name) { diff --git a/src/anbox/application/launcher_storage.h b/src/anbox/application/launcher_storage.h index d7c5e79..55cfd8a 100644 --- a/src/anbox/application/launcher_storage.h +++ b/src/anbox/application/launcher_storage.h @@ -25,6 +25,7 @@ #include #include +#include namespace anbox { namespace application { diff --git a/src/anbox/system_configuration.cpp b/src/anbox/system_configuration.cpp index 4014887..d6289ea 100644 --- a/src/anbox/system_configuration.cpp +++ b/src/anbox/system_configuration.cpp @@ -99,6 +99,8 @@ std::string anbox::SystemConfiguration::input_device_dir() const { std::string anbox::SystemConfiguration::application_item_dir() const { static auto dir = xdg::data().home() / "applications" / "anbox"; + if (anbox::utils::get_env_value("ANBOX_NO_DESKTOP_SUBDIR").length() > 0) + dir = xdg::data().home() / "applications"; return dir.string(); }