diff options
| author | Winter <102400503+exoess@users.noreply.github.com> | 2024-07-09 21:52:48 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-10 04:52:48 +0000 |
| commit | a283c34dbbad44dfddfa4b5eafa6d8e3b47b7c14 (patch) | |
| tree | 3999eec34fa448f919f410966bccb16f555e5db4 /src/input | |
| parent | f9fe86ee3e82ff02ac9f75869cc4219850ae3f4c (diff) | |
| download | niri-a283c34dbbad44dfddfa4b5eafa6d8e3b47b7c14.tar.gz niri-a283c34dbbad44dfddfa4b5eafa6d8e3b47b7c14.tar.bz2 niri-a283c34dbbad44dfddfa4b5eafa6d8e3b47b7c14.zip | |
Add move-column-{left/right}-or-to-monitor-{left/right} (#528)
* feature added, move-column-left-or-monitor-left and move-column-right-or-monitor-right
* fixed stupid mistake
* yalter's fixes
* fixed names
* fixed a stupid mistake
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
Diffstat (limited to 'src/input')
| -rw-r--r-- | src/input/mod.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/input/mod.rs b/src/input/mod.rs index d96de0cb..148129cf 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -571,6 +571,40 @@ impl State { // FIXME: granular self.niri.queue_redraw_all(); } + Action::MoveColumnLeftOrToMonitorLeft => { + if let Some(output) = self.niri.output_left() { + if self.niri.layout.move_column_left_or_to_output(&output) + && !self.maybe_warp_cursor_to_focus_centered() + { + self.move_cursor_to_output(&output); + } else { + self.maybe_warp_cursor_to_focus(); + } + } else { + self.niri.layout.move_left(); + self.maybe_warp_cursor_to_focus(); + } + + // FIXME: granular + self.niri.queue_redraw_all(); + } + Action::MoveColumnRightOrToMonitorRight => { + if let Some(output) = self.niri.output_right() { + if self.niri.layout.move_column_right_or_to_output(&output) + && !self.maybe_warp_cursor_to_focus_centered() + { + self.move_cursor_to_output(&output); + } else { + self.maybe_warp_cursor_to_focus(); + } + } else { + self.niri.layout.move_right(); + self.maybe_warp_cursor_to_focus(); + } + + // FIXME: granular + self.niri.queue_redraw_all(); + } Action::MoveWindowDown => { self.niri.layout.move_down(); self.maybe_warp_cursor_to_focus(); |
