aboutsummaryrefslogtreecommitdiff
path: root/niri-config/src
diff options
context:
space:
mode:
authorAnnika Hannig <annika@hannig.cc>2025-02-20 23:09:59 +0100
committerIvan Molodetskikh <yalterz@gmail.com>2025-03-10 23:17:36 -0700
commit50a99f635648c9de0d63d59dc5b7ea8d92cbe1fa (patch)
tree0c3b18d0715f5441860fa2be4d976deeec5d79d0 /niri-config/src
parent993c5ce8afc78229fa42c2c7f90813eb40c34c54 (diff)
downloadniri-50a99f635648c9de0d63d59dc5b7ea8d92cbe1fa.tar.gz
niri-50a99f635648c9de0d63d59dc5b7ea8d92cbe1fa.tar.bz2
niri-50a99f635648c9de0d63d59dc5b7ea8d92cbe1fa.zip
Implemented move-window-to-monitor and move-column-to-monitor
Diffstat (limited to 'niri-config/src')
-rw-r--r--niri-config/src/lib.rs42
1 files changed, 42 insertions, 0 deletions
diff --git a/niri-config/src/lib.rs b/niri-config/src/lib.rs
index fca9313e..d6fac26b 100644
--- a/niri-config/src/lib.rs
+++ b/niri-config/src/lib.rs
@@ -1575,12 +1575,14 @@ pub enum Action {
MoveWindowToMonitorUp,
MoveWindowToMonitorPrevious,
MoveWindowToMonitorNext,
+ MoveWindowToMonitor(#[knuffel(argument)] String),
MoveColumnToMonitorLeft,
MoveColumnToMonitorRight,
MoveColumnToMonitorDown,
MoveColumnToMonitorUp,
MoveColumnToMonitorPrevious,
MoveColumnToMonitorNext,
+ MoveColumnToMonitor(#[knuffel(argument)] String),
SetWindowWidth(#[knuffel(argument, str)] SizeChange),
#[knuffel(skip)]
SetWindowWidthById {
@@ -1778,12 +1780,14 @@ impl From<niri_ipc::Action> for Action {
niri_ipc::Action::MoveWindowToMonitorUp {} => Self::MoveWindowToMonitorUp,
niri_ipc::Action::MoveWindowToMonitorPrevious {} => Self::MoveWindowToMonitorPrevious,
niri_ipc::Action::MoveWindowToMonitorNext {} => Self::MoveWindowToMonitorNext,
+ niri_ipc::Action::MoveWindowToMonitor { output } => Self::MoveWindowToMonitor(output),
niri_ipc::Action::MoveColumnToMonitorLeft {} => Self::MoveColumnToMonitorLeft,
niri_ipc::Action::MoveColumnToMonitorRight {} => Self::MoveColumnToMonitorRight,
niri_ipc::Action::MoveColumnToMonitorDown {} => Self::MoveColumnToMonitorDown,
niri_ipc::Action::MoveColumnToMonitorUp {} => Self::MoveColumnToMonitorUp,
niri_ipc::Action::MoveColumnToMonitorPrevious {} => Self::MoveColumnToMonitorPrevious,
niri_ipc::Action::MoveColumnToMonitorNext {} => Self::MoveColumnToMonitorNext,
+ niri_ipc::Action::MoveColumnToMonitor { output } => Self::MoveColumnToMonitor(output),
niri_ipc::Action::SetWindowWidth { id: None, change } => Self::SetWindowWidth(change),
niri_ipc::Action::SetWindowWidth {
id: Some(id),
@@ -3774,6 +3778,8 @@ mod tests {
Mod+Shift+H { focus-monitor-left; }
Mod+Shift+O { focus-monitor "eDP-1"; }
Mod+Ctrl+Shift+L { move-window-to-monitor-right; }
+ Mod+Ctrl+Alt+O { move-window-to-monitor "eDP-1"; }
+ Mod+Ctrl+Alt+P { move-column-to-monitor "DP-1"; }
Mod+Comma { consume-window-into-column; }
Mod+1 { focus-workspace 1; }
Mod+Shift+1 { focus-workspace "workspace-1"; }
@@ -4646,6 +4652,42 @@ mod tests {
Bind {
key: Key {
trigger: Keysym(
+ XK_o,
+ ),
+ modifiers: Modifiers(
+ CTRL | ALT | COMPOSITOR,
+ ),
+ },
+ action: MoveWindowToMonitor(
+ "eDP-1",
+ ),
+ repeat: true,
+ cooldown: None,
+ allow_when_locked: false,
+ allow_inhibiting: true,
+ hotkey_overlay_title: None,
+ },
+ Bind {
+ key: Key {
+ trigger: Keysym(
+ XK_p,
+ ),
+ modifiers: Modifiers(
+ CTRL | ALT | COMPOSITOR,
+ ),
+ },
+ action: MoveColumnToMonitor(
+ "DP-1",
+ ),
+ repeat: true,
+ cooldown: None,
+ allow_when_locked: false,
+ allow_inhibiting: true,
+ hotkey_overlay_title: None,
+ },
+ Bind {
+ key: Key {
+ trigger: Keysym(
XK_comma,
),
modifiers: Modifiers(