Compare commits

...

1 Commits

Author SHA1 Message Date
LGUG2Z
00c63aacba fix(wm): check height for cross-monitor focus idx
This commit is an example of how it may be possible to have height-aware
cross-monitor focus movements. I am not able to test this code as I
don't have enough monitors to replicate the issue in #447.

re #447
2023-06-26 09:27:47 -07:00
2 changed files with 13 additions and 3 deletions

View File

@@ -703,10 +703,12 @@ impl WindowManager {
if let Layout::Custom(ref mut custom) = rule.1 {
match sizing {
Sizing::Increase => {
custom.set_primary_width_percentage(percentage + 5.0);
custom
.set_primary_width_percentage(percentage + 5.0);
}
Sizing::Decrease => {
custom.set_primary_width_percentage(percentage - 5.0);
custom
.set_primary_width_percentage(percentage - 5.0);
}
}
}

View File

@@ -309,12 +309,20 @@ impl WindowManager {
match direction {
OperationDirection::Left => {
if monitor.size().left + monitor.size().right == current_monitor_size.left {
if current_monitor_size.top > monitor.size().bottom {
continue;
}
return Option::from(idx);
}
}
OperationDirection::Right => {
if current_monitor_size.right + current_monitor_size.left == monitor.size().left
{
if current_monitor_size.top > monitor.size().bottom {
continue;
}
return Option::from(idx);
}
}
@@ -1040,7 +1048,7 @@ impl WindowManager {
.get_mut(first_idx)
.ok_or_else(|| anyhow!("There is no monitor"))?
.remove_workspaces();
let second_workspaces = self
.monitors_mut()
.get_mut(second_idx)