mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-23 02:05:33 +07:00
Avoid move_left() in expel-left
This commit is contained in:
+23
-12
@@ -622,8 +622,9 @@ impl<W: LayoutElement> Workspace<W> {
|
|||||||
x
|
x
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn add_window(
|
pub fn add_window_at(
|
||||||
&mut self,
|
&mut self,
|
||||||
|
col_idx: usize,
|
||||||
window: W,
|
window: W,
|
||||||
activate: bool,
|
activate: bool,
|
||||||
width: ColumnWidth,
|
width: ColumnWidth,
|
||||||
@@ -633,12 +634,6 @@ impl<W: LayoutElement> Workspace<W> {
|
|||||||
|
|
||||||
let was_empty = self.columns.is_empty();
|
let was_empty = self.columns.is_empty();
|
||||||
|
|
||||||
let idx = if self.columns.is_empty() {
|
|
||||||
0
|
|
||||||
} else {
|
|
||||||
self.active_column_idx + 1
|
|
||||||
};
|
|
||||||
|
|
||||||
let column = Column::new(
|
let column = Column::new(
|
||||||
window,
|
window,
|
||||||
self.view_size,
|
self.view_size,
|
||||||
@@ -648,7 +643,7 @@ impl<W: LayoutElement> Workspace<W> {
|
|||||||
is_full_width,
|
is_full_width,
|
||||||
);
|
);
|
||||||
let width = column.width();
|
let width = column.width();
|
||||||
self.columns.insert(idx, column);
|
self.columns.insert(col_idx, column);
|
||||||
|
|
||||||
if activate {
|
if activate {
|
||||||
// If this is the first window on an empty workspace, skip the animation from whatever
|
// If this is the first window on an empty workspace, skip the animation from whatever
|
||||||
@@ -667,11 +662,27 @@ impl<W: LayoutElement> Workspace<W> {
|
|||||||
|
|
||||||
let prev_offset = (!was_empty).then(|| self.static_view_offset());
|
let prev_offset = (!was_empty).then(|| self.static_view_offset());
|
||||||
|
|
||||||
self.activate_column(idx);
|
self.activate_column(col_idx);
|
||||||
self.activate_prev_column_on_removal = prev_offset;
|
self.activate_prev_column_on_removal = prev_offset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn add_window(
|
||||||
|
&mut self,
|
||||||
|
window: W,
|
||||||
|
activate: bool,
|
||||||
|
width: ColumnWidth,
|
||||||
|
is_full_width: bool,
|
||||||
|
) {
|
||||||
|
let col_idx = if self.columns.is_empty() {
|
||||||
|
0
|
||||||
|
} else {
|
||||||
|
self.active_column_idx + 1
|
||||||
|
};
|
||||||
|
|
||||||
|
self.add_window_at(col_idx, window, activate, width, is_full_width);
|
||||||
|
}
|
||||||
|
|
||||||
pub fn add_window_right_of(
|
pub fn add_window_right_of(
|
||||||
&mut self,
|
&mut self,
|
||||||
right_of: &W::Id,
|
right_of: &W::Id,
|
||||||
@@ -1037,9 +1048,9 @@ impl<W: LayoutElement> Workspace<W> {
|
|||||||
let window =
|
let window =
|
||||||
self.remove_window_by_idx(self.active_column_idx, source_column.active_tile_idx);
|
self.remove_window_by_idx(self.active_column_idx, source_column.active_tile_idx);
|
||||||
|
|
||||||
self.add_window(window, true, width, is_full_width);
|
self.add_window_at(self.active_column_idx, window, true, width, is_full_width);
|
||||||
// Window was added to the right of current column, so move the new column left.
|
// We added to the left, don't activate even further left on removal.
|
||||||
self.move_left();
|
self.activate_prev_column_on_removal = None;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user