mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-04-19 23:31:25 +02:00
fix(wm): populate ws rules on config reload
This commit fixes a bug where workspace rules would not be populated properly on file reloads, leading to issues with the ReplaceConfiguration message handler.
This commit is contained in:
@@ -1315,6 +1315,8 @@ impl WindowManager {
|
|||||||
// Initialize the new wm
|
// Initialize the new wm
|
||||||
wm.init()?;
|
wm.init()?;
|
||||||
|
|
||||||
|
wm.restore_all_windows(true)?;
|
||||||
|
|
||||||
// This is equivalent to StaticConfig::postload for this use case
|
// This is equivalent to StaticConfig::postload for this use case
|
||||||
StaticConfig::reload(config, &mut wm)?;
|
StaticConfig::reload(config, &mut wm)?;
|
||||||
|
|
||||||
|
|||||||
@@ -1220,6 +1220,9 @@ impl StaticConfig {
|
|||||||
value.apply_globals()?;
|
value.apply_globals()?;
|
||||||
|
|
||||||
if let Some(monitors) = value.monitors {
|
if let Some(monitors) = value.monitors {
|
||||||
|
let mut workspace_matching_rules = WORKSPACE_MATCHING_RULES.lock();
|
||||||
|
workspace_matching_rules.clear();
|
||||||
|
|
||||||
for (i, monitor) in monitors.iter().enumerate() {
|
for (i, monitor) in monitors.iter().enumerate() {
|
||||||
if let Some(m) = wm.monitors_mut().get_mut(i) {
|
if let Some(m) = wm.monitors_mut().get_mut(i) {
|
||||||
m.ensure_workspace_count(monitor.workspaces.len());
|
m.ensure_workspace_count(monitor.workspaces.len());
|
||||||
@@ -1238,8 +1241,6 @@ impl StaticConfig {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut workspace_matching_rules = WORKSPACE_MATCHING_RULES.lock();
|
|
||||||
workspace_matching_rules.clear();
|
|
||||||
for (j, ws) in monitor.workspaces.iter().enumerate() {
|
for (j, ws) in monitor.workspaces.iter().enumerate() {
|
||||||
if let Some(rules) = &ws.workspace_rules {
|
if let Some(rules) = &ws.workspace_rules {
|
||||||
for r in rules {
|
for r in rules {
|
||||||
|
|||||||
Reference in New Issue
Block a user