Add focus-column-right-or-first, focus-column-left-or-last (#391)

* add focus-column-right-or-first

* add focus-column-left-or-last
This commit is contained in:
James Sully
2024-06-09 21:14:51 +10:00
committed by GitHub
parent af6d84a7f8
commit a55e385b12
6 changed files with 72 additions and 0 deletions
+22
View File
@@ -1235,6 +1235,20 @@ impl<W: LayoutElement> Layout<W> {
monitor.focus_column_last();
}
pub fn focus_column_right_or_first(&mut self) {
let Some(monitor) = self.active_monitor() else {
return;
};
monitor.focus_column_right_or_first();
}
pub fn focus_column_left_or_last(&mut self) {
let Some(monitor) = self.active_monitor() else {
return;
};
monitor.focus_column_left_or_last();
}
pub fn focus_down(&mut self) {
let Some(monitor) = self.active_monitor() else {
return;
@@ -2634,6 +2648,8 @@ mod tests {
FocusColumnRight,
FocusColumnFirst,
FocusColumnLast,
FocusColumnRightOrFirst,
FocusColumnLeftOrLast,
FocusWindowDown,
FocusWindowUp,
FocusWindowDownOrColumnLeft,
@@ -2928,6 +2944,8 @@ mod tests {
Op::FocusColumnRight => layout.focus_right(),
Op::FocusColumnFirst => layout.focus_column_first(),
Op::FocusColumnLast => layout.focus_column_last(),
Op::FocusColumnRightOrFirst => layout.focus_column_right_or_first(),
Op::FocusColumnLeftOrLast => layout.focus_column_left_or_last(),
Op::FocusWindowDown => layout.focus_down(),
Op::FocusWindowUp => layout.focus_up(),
Op::FocusWindowDownOrColumnLeft => layout.focus_down_or_left(),
@@ -3144,6 +3162,8 @@ mod tests {
Op::FullscreenWindow(3),
Op::FocusColumnLeft,
Op::FocusColumnRight,
Op::FocusColumnRightOrFirst,
Op::FocusColumnLeftOrLast,
Op::FocusWindowUp,
Op::FocusWindowUpOrColumnLeft,
Op::FocusWindowUpOrColumnRight,
@@ -3317,6 +3337,8 @@ mod tests {
},
Op::FocusColumnLeft,
Op::FocusColumnRight,
Op::FocusColumnRightOrFirst,
Op::FocusColumnLeftOrLast,
Op::FocusWindowUp,
Op::FocusWindowUpOrColumnLeft,
Op::FocusWindowUpOrColumnRight,