From 13cbb3b7fca490cb7356de964d73ac3506c5f407 Mon Sep 17 00:00:00 2001 From: Brian Ashworth Date: Tue, 30 Apr 2019 17:08:25 -0400 Subject: [PATCH] cmd_move: add support for output current This adds support for the following commands for i3 compatibility: - `move [window|container] [to] output current` - `move workspace to [output] current` - `move workspace [to] output current` The above commands are only useful when used with criteria. --- sway/commands/move.c | 9 +++++++++ sway/sway.5.scd | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/sway/commands/move.c b/sway/commands/move.c index 4dec889c..9c6e69ec 100644 --- a/sway/commands/move.c +++ b/sway/commands/move.c @@ -28,6 +28,15 @@ static const char expected_syntax[] = static struct sway_output *output_in_direction(const char *direction_string, struct sway_output *reference, int ref_lx, int ref_ly) { + if (strcasecmp(direction_string, "current") == 0) { + struct sway_workspace *active_ws = + seat_get_focused_workspace(config->handler_context.seat); + if (!active_ws) { + return NULL; + } + return active_ws->output; + } + struct { char *name; enum wlr_direction direction; diff --git a/sway/sway.5.scd b/sway/sway.5.scd index 9fe51c33..32631b06 100644 --- a/sway/sway.5.scd +++ b/sway/sway.5.scd @@ -206,7 +206,7 @@ set|plus|minus *move* [container|window] [to] workspace back_and_forth Moves the focused container to previously focused workspace. -*move* [container|window] [to] output +*move* [container|window] [to] output |current Moves the focused container to the specified output. *move* [container|window] [to] output up|right|down|left @@ -216,10 +216,10 @@ set|plus|minus *move* [container|window] [to] scratchpad Moves the focused container to the scratchpad. -*move* workspace [to] output +*move* workspace [to] output |current Moves the focused workspace to the specified output. -*move* workspace to [output] +*move* workspace to [output] |current Moves the focused workspace to the specified output. *move* workspace [to] output up|right|down|left