swayfx/sway
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
..
commands Implement move [left|right|up|down] 2018-04-06 09:43:52 -04:00
config Merge branch 'wlroots' into split-containers2 2018-04-04 00:20:44 -04:00
desktop Handle unmanaged surfaces motion 2018-04-05 18:48:35 -04:00
input Fix focus_follows_mouse issues 2018-04-06 09:32:51 -04:00
tree Implement move [left|right|up|down] 2018-04-06 09:43:52 -04:00
base64.c Rework get_clipboard implementation 2017-07-07 21:51:34 +02:00
commands.c Implement resize command 2018-04-05 00:03:20 -04:00
config.c rename seat functions 2018-04-02 08:45:37 -04:00
criteria.c Fix oversights from previous pull request 2018-03-29 23:53:38 -04:00
ipc-json.c Remove L_TYPES 2018-04-05 23:22:08 -04:00
ipc-server.c address feedback 2018-04-05 22:50:10 -04:00
main.c temporarily add LD_LIBRARY_PATH stuff 2018-03-31 15:37:16 -04:00
meson.build Add damage tracking for xwayland unmanaged surfaces 2018-04-05 17:39:17 -04:00
security.c Add minimal config subsystem 2017-12-05 10:40:55 +01:00
server.c Configure wlr_xdg_output_manager during init 2018-04-05 14:01:14 -04:00
sway-bar.5.txt Various manpage edits 2017-10-14 21:41:49 +02:00
sway-input.5.txt document fallback seat 2017-12-19 04:52:03 -05:00
sway-security.7.txt Various manpage edits 2017-10-14 21:41:49 +02:00
sway.1.txt input and seat command docs 2017-12-16 08:19:33 -05:00
sway.5.txt Implement opacity command 2018-04-04 21:57:05 -04:00