mirror of
https://github.com/hyprwm/Hyprland
synced 2025-02-17 00:22:07 +01:00
added config-only to hyprctl reload
This commit is contained in:
parent
d906617fb6
commit
f0fe0c25d6
3 changed files with 16 additions and 4 deletions
|
@ -1079,7 +1079,8 @@ void CConfigManager::loadConfigLoadVars() {
|
||||||
// Set the modes for all monitors as we configured them
|
// Set the modes for all monitors as we configured them
|
||||||
// not on first launch because monitors might not exist yet
|
// not on first launch because monitors might not exist yet
|
||||||
// and they'll be taken care of in the newMonitor event
|
// and they'll be taken care of in the newMonitor event
|
||||||
if (!isFirstLaunch) {
|
// ignore if nomonitorreload is set
|
||||||
|
if (!isFirstLaunch && !m_bNoMonitorReload) {
|
||||||
m_bWantsMonitorReload = true;
|
m_bWantsMonitorReload = true;
|
||||||
|
|
||||||
// check
|
// check
|
||||||
|
@ -1099,6 +1100,9 @@ void CConfigManager::loadConfigLoadVars() {
|
||||||
// Force the compositor to fully re-render all monitors
|
// Force the compositor to fully re-render all monitors
|
||||||
for (auto& m : g_pCompositor->m_vMonitors)
|
for (auto& m : g_pCompositor->m_vMonitors)
|
||||||
m->forceFullFrames = 2;
|
m->forceFullFrames = 2;
|
||||||
|
|
||||||
|
// Reset no monitor reload
|
||||||
|
m_bNoMonitorReload = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CConfigManager::tick() {
|
void CConfigManager::tick() {
|
||||||
|
|
|
@ -97,6 +97,7 @@ public:
|
||||||
void performMonitorReload();
|
void performMonitorReload();
|
||||||
bool m_bWantsMonitorReload = false;
|
bool m_bWantsMonitorReload = false;
|
||||||
bool m_bForceReload = false;
|
bool m_bForceReload = false;
|
||||||
|
bool m_bNoMonitorReload = false;
|
||||||
void ensureDPMS();
|
void ensureDPMS();
|
||||||
|
|
||||||
std::string parseKeyword(const std::string&, const std::string&, bool dynamic = false);
|
std::string parseKeyword(const std::string&, const std::string&, bool dynamic = false);
|
||||||
|
|
|
@ -505,9 +505,16 @@ std::string dispatchKeyword(std::string in) {
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string reloadRequest() {
|
std::string reloadRequest(std::string request) {
|
||||||
|
|
||||||
|
const auto REQMODE = request.substr(request.find_last_of(' ') + 1);
|
||||||
|
|
||||||
g_pConfigManager->m_bForceReload = true;
|
g_pConfigManager->m_bForceReload = true;
|
||||||
|
|
||||||
|
if (REQMODE == "config-only") {
|
||||||
|
g_pConfigManager->m_bNoMonitorReload = true;
|
||||||
|
}
|
||||||
|
|
||||||
return "ok";
|
return "ok";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -681,8 +688,8 @@ std::string getReply(std::string request) {
|
||||||
return layersRequest(format);
|
return layersRequest(format);
|
||||||
else if (request == "version")
|
else if (request == "version")
|
||||||
return versionRequest(format);
|
return versionRequest(format);
|
||||||
else if (request == "reload")
|
else if (request.find("reload") == 0)
|
||||||
return reloadRequest();
|
return reloadRequest(request);
|
||||||
else if (request == "devices")
|
else if (request == "devices")
|
||||||
return devicesRequest(format);
|
return devicesRequest(format);
|
||||||
else if (request == "splash")
|
else if (request == "splash")
|
||||||
|
|
Loading…
Add table
Reference in a new issue