mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 09:05:59 +01:00
patches
This commit is contained in:
parent
0c88c0310e
commit
dba7bbdcf3
2 changed files with 19 additions and 1 deletions
|
@ -22,6 +22,18 @@ CConfigManager::CConfigManager() {
|
||||||
void CConfigManager::init() {
|
void CConfigManager::init() {
|
||||||
loadConfigLoadVars();
|
loadConfigLoadVars();
|
||||||
|
|
||||||
|
const char* const ENVHOME = getenv("HOME");
|
||||||
|
|
||||||
|
const std::string CONFIGPATH = ENVHOME + (ISDEBUG ? (std::string) "/.config/hypr/hyprlandd.conf" : (std::string) "/.config/hypr/hyprland.conf");
|
||||||
|
|
||||||
|
struct stat fileStat;
|
||||||
|
int err = stat(CONFIGPATH.c_str(), &fileStat);
|
||||||
|
if (err != 0) {
|
||||||
|
Debug::log(WARN, "Error at statting config, error %i", errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
lastModifyTime = fileStat.st_mtime;
|
||||||
|
|
||||||
isFirstLaunch = false;
|
isFirstLaunch = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,8 +98,8 @@ void CConfigManager::handleMonitor(const std::string& command, const std::string
|
||||||
curitem = argZ.substr(0, idx);
|
curitem = argZ.substr(0, idx);
|
||||||
argZ = argZ.substr(idx + 1);
|
argZ = argZ.substr(idx + 1);
|
||||||
} else {
|
} else {
|
||||||
argZ = "";
|
|
||||||
curitem = argZ;
|
curitem = argZ;
|
||||||
|
argZ = "";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -268,6 +280,8 @@ SMonitorRule CConfigManager::getMonitorRuleFor(std::string name) {
|
||||||
if (found)
|
if (found)
|
||||||
return *found;
|
return *found;
|
||||||
|
|
||||||
|
Debug::log(WARN, "No rule found for %s, trying to use the first.", name.c_str());
|
||||||
|
|
||||||
for (auto& r : m_dMonitorRules) {
|
for (auto& r : m_dMonitorRules) {
|
||||||
if (r.name == "") {
|
if (r.name == "") {
|
||||||
found = &r;
|
found = &r;
|
||||||
|
@ -278,5 +292,7 @@ SMonitorRule CConfigManager::getMonitorRuleFor(std::string name) {
|
||||||
if (found)
|
if (found)
|
||||||
return *found;
|
return *found;
|
||||||
|
|
||||||
|
Debug::log(WARN, "No rules configured. Using the default hardcoded one.");
|
||||||
|
|
||||||
return SMonitorRule{.name = "", .resolution = Vector2D(1280, 720), .offset = Vector2D(0, 0), .mfact = 0.5f, .scale = 1};
|
return SMonitorRule{.name = "", .resolution = Vector2D(1280, 720), .offset = Vector2D(0, 0), .mfact = 0.5f, .scale = 1};
|
||||||
}
|
}
|
|
@ -232,6 +232,8 @@ void Events::listener_commitWindow(wl_listener* listener, void* data) {
|
||||||
void Events::listener_destroyWindow(wl_listener* listener, void* data) {
|
void Events::listener_destroyWindow(wl_listener* listener, void* data) {
|
||||||
CWindow* PWINDOW = wl_container_of(listener, PWINDOW, listen_destroyWindow);
|
CWindow* PWINDOW = wl_container_of(listener, PWINDOW, listen_destroyWindow);
|
||||||
|
|
||||||
|
g_pLayoutManager->getCurrentLayout()->onWindowRemoved(PWINDOW);
|
||||||
|
|
||||||
g_pCompositor->removeWindowFromVectorSafe(PWINDOW);
|
g_pCompositor->removeWindowFromVectorSafe(PWINDOW);
|
||||||
|
|
||||||
Debug::log(LOG, "Window %x destroyed", PWINDOW);
|
Debug::log(LOG, "Window %x destroyed", PWINDOW);
|
||||||
|
|
Loading…
Reference in a new issue