mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-22 09:05:59 +01:00
parent
bfcc2adbda
commit
352574d862
3 changed files with 10 additions and 6 deletions
|
@ -316,7 +316,7 @@ eHeadersErrors CPluginManager::headersValid() {
|
||||||
return HEADERS_OK;
|
return HEADERS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CPluginManager::updateHeaders() {
|
bool CPluginManager::updateHeaders(bool force) {
|
||||||
|
|
||||||
const auto HLVER = getHyprlandVersion();
|
const auto HLVER = getHyprlandVersion();
|
||||||
|
|
||||||
|
@ -325,7 +325,7 @@ bool CPluginManager::updateHeaders() {
|
||||||
std::filesystem::permissions("/tmp/hyprpm", std::filesystem::perms::all, std::filesystem::perm_options::replace);
|
std::filesystem::permissions("/tmp/hyprpm", std::filesystem::perms::all, std::filesystem::perm_options::replace);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (headersValid() == HEADERS_OK) {
|
if (!force && headersValid() == HEADERS_OK) {
|
||||||
std::cout << "\n" << std::string{Colors::GREEN} + "✔" + Colors::RESET + " Your headers are already up-to-date.\n";
|
std::cout << "\n" << std::string{Colors::GREEN} + "✔" + Colors::RESET + " Your headers are already up-to-date.\n";
|
||||||
auto GLOBALSTATE = DataState::getGlobalState();
|
auto GLOBALSTATE = DataState::getGlobalState();
|
||||||
GLOBALSTATE.headersHashCompiled = HLVER.hash;
|
GLOBALSTATE.headersHashCompiled = HLVER.hash;
|
||||||
|
|
|
@ -40,7 +40,7 @@ class CPluginManager {
|
||||||
bool removePluginRepo(const std::string& urlOrName);
|
bool removePluginRepo(const std::string& urlOrName);
|
||||||
|
|
||||||
eHeadersErrors headersValid();
|
eHeadersErrors headersValid();
|
||||||
bool updateHeaders();
|
bool updateHeaders(bool force = false);
|
||||||
bool updatePlugins(bool forceUpdateAll);
|
bool updatePlugins(bool forceUpdateAll);
|
||||||
|
|
||||||
void listAllPlugins();
|
void listAllPlugins();
|
||||||
|
|
|
@ -23,6 +23,7 @@ const std::string HELP = R"#(┏ hyprpm, a Hyprland Plugin Manager
|
||||||
┣ --notify | -n → Send a hyprland notification for important events (e.g. load fail)
|
┣ --notify | -n → Send a hyprland notification for important events (e.g. load fail)
|
||||||
┣ --help | -h → Show this menu
|
┣ --help | -h → Show this menu
|
||||||
┣ --verbose | -v → Enable too much logging
|
┣ --verbose | -v → Enable too much logging
|
||||||
|
┣ --force | -f → Force an operation ignoring checks (e.g. update -f)
|
||||||
┗
|
┗
|
||||||
)#";
|
)#";
|
||||||
|
|
||||||
|
@ -38,7 +39,7 @@ int main(int argc, char** argv, char** envp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::string> command;
|
std::vector<std::string> command;
|
||||||
bool notify = false, verbose = false;
|
bool notify = false, verbose = false, force = false;
|
||||||
|
|
||||||
for (int i = 1; i < argc; ++i) {
|
for (int i = 1; i < argc; ++i) {
|
||||||
if (ARGS[i].starts_with("-")) {
|
if (ARGS[i].starts_with("-")) {
|
||||||
|
@ -49,6 +50,9 @@ int main(int argc, char** argv, char** envp) {
|
||||||
notify = true;
|
notify = true;
|
||||||
} else if (ARGS[i] == "--verbose" || ARGS[i] == "-v") {
|
} else if (ARGS[i] == "--verbose" || ARGS[i] == "-v") {
|
||||||
verbose = true;
|
verbose = true;
|
||||||
|
} else if (ARGS[i] == "--force" || ARGS[i] == "-f") {
|
||||||
|
force = true;
|
||||||
|
std::cout << Colors::RED << "!" << Colors::RESET << " Using --force, I hope you know what you are doing.\n";
|
||||||
} else {
|
} else {
|
||||||
std::cerr << "Unrecognized option " << ARGS[i];
|
std::cerr << "Unrecognized option " << ARGS[i];
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -82,9 +86,9 @@ int main(int argc, char** argv, char** envp) {
|
||||||
return g_pPluginManager->removePluginRepo(command[1]) ? 0 : 1;
|
return g_pPluginManager->removePluginRepo(command[1]) ? 0 : 1;
|
||||||
} else if (command[0] == "update") {
|
} else if (command[0] == "update") {
|
||||||
bool headersValid = g_pPluginManager->headersValid() == HEADERS_OK;
|
bool headersValid = g_pPluginManager->headersValid() == HEADERS_OK;
|
||||||
bool headers = g_pPluginManager->updateHeaders();
|
bool headers = g_pPluginManager->updateHeaders(force);
|
||||||
if (headers) {
|
if (headers) {
|
||||||
bool ret1 = g_pPluginManager->updatePlugins(!headersValid);
|
bool ret1 = g_pPluginManager->updatePlugins(!headersValid || force);
|
||||||
|
|
||||||
if (!ret1)
|
if (!ret1)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Reference in a new issue