mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-03-24 18:31:22 +01:00
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
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user