swayfx/sway/commands
Drew DeVault 57954a2b24 Implement move [left|right|up|down]
The exact semantics of this command are complicated. I'll describe each
test scenario as s-expressions. Everything assumes L_HORIZ if not
specified, but if you rotate everything 90 degrees the same test cases
hold.

```
(container (view a) (view b focus) (view c))
-> move left
(container (view b focus) (view a) (view c))

(container (view a) (view b focus) (view c))
-> move right
(container (view a) (view c) (view b focus))

(container L_VERT (view a))
(container L_HORIZ
  (view b) (view c focus))
-> move up
(container L_VERT
  (view a) (view c focus))
(container L_HORIZ (view b))

(workspace
  (view a) (view b focus) (view c))
-> move up
(workspace [split direction flipped]
  (view b focus)
  (container (view a) (view c)))

(workspace
  (view a) (view b focus) (view c))
-> move down
(workspace [split direction flipped]
  (container (view a) (view c))
  (view b focus)))

Note: outputs use wlr_output_layout instead of assuming that i+/-1 is
the next output in the move direction.

(root
  (output X11-1
    (workspace 1))
  (output X11-2
    (workspace 1 (view a focus) (view b)))))
-> move left
(root
  (output X11-1
    (workspace 1 (view a focus)))
  (output X11-2
    (workspace 1 (view b)))))

(root
  (output X11-1
    (workspace 1
      (container (view a) (view b)))
  (output X11-2
    (workspace 1 (view c focus)))))
-> move left
(root
  (output X11-1
    (workspace 1
      (container (view a) (view b))
      (view c focus)))
  (output X11-2
    (workspace 1)))
```
2018-04-06 09:43:52 -04:00
..
bar Clean up imported bar commands 2018-03-29 22:11:08 -04:00
input input config handler context 2018-01-20 11:34:57 -05:00
seat seat config handler context 2018-01-20 11:44:34 -05:00
bar.c Use statically allocated text buffer 2018-03-29 22:11:08 -04:00
bind.c sway: change all sway_log to wlr_log 2018-01-05 23:39:46 +01:00
default_orientation.c Add default_orientation command 2018-03-30 10:43:55 -04:00
exec.c sway: change all sway_log to wlr_log 2018-01-05 23:39:46 +01:00
exec_always.c Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree" 2018-03-29 23:41:33 -04:00
exit.c remove checks for command handlers 2018-02-24 13:22:57 -05:00
focus.c Merge branch 'wlroots' into seat-fixes 2018-04-02 13:23:43 -04:00
focus_follows_mouse.c Implement focus_follows_mouse 2018-03-31 13:05:45 -04:00
include.c Add include command 2017-12-05 18:47:57 +01:00
input.c seat config handler context 2018-01-20 11:44:34 -05:00
kill.c address feedback 2018-04-03 19:23:59 -04:00
layout.c clean up container_get_default_layout 2018-04-03 13:23:34 -04:00
mode.c Implement modes 2018-03-29 22:11:08 -04:00
mouse_warping.c Implement mouse warping 2018-03-31 13:05:45 -04:00
move.c Implement move [left|right|up|down] 2018-04-06 09:43:52 -04:00
opacity.c Implement opacity command 2018-04-04 21:57:05 -04:00
output.c Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree" 2018-03-29 23:41:33 -04:00
reload.c Merge remote-tracking branch 'origin/wlroots' into swaybar-layers 2018-03-30 00:04:04 -04:00
resize.c Implement resize command 2018-04-05 00:03:20 -04:00
seat.c 80col 2018-04-02 11:44:42 -04:00
set.c add config handlers 2018-02-24 13:34:47 -05:00
split.c cleanup split command handlers 2018-04-02 20:12:18 -04:00
swaybg_command.c Add swaybg_command 2018-03-29 22:11:08 -04:00
workspace.c move workspace create to workspace.c 2018-04-03 19:52:17 -04:00