diff options
author | S. Christoffer Eliesen <[email protected]> | 2015-10-26 12:20:32 +0100 |
---|---|---|
committer | S. Christoffer Eliesen <[email protected]> | 2015-10-29 17:41:33 +0100 |
commit | 78ca6197697d4f07eddf0c544daff85603adab90 (patch) | |
tree | e499ab901ab3371d5860e36db086ea8b46e8227e /sway/input_state.c | |
parent | 4799d07ac1bb08a770ee702eb3fd0ab4654f878a (diff) |
commands: Learn mouse_warping.
Place mouse at center of focused view when changing to a workspace on a
different output, if option is enabled. (This replicates existing i3
option.)
This can be triggered in multiple ways:
A) via `workspace <name>` which changes output
B) via `focus <direction>` which changes output
C) via `focus output <name>` which (obviously) changes output
Diffstat (limited to 'sway/input_state.c')
-rw-r--r-- | sway/input_state.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sway/input_state.c b/sway/input_state.c index bd46a5ac..ee3dc7cf 100644 --- a/sway/input_state.c +++ b/sway/input_state.c @@ -185,6 +185,13 @@ void pointer_position_set(struct wlc_origin *new_origin, bool force_focus) { wlc_pointer_set_origin(new_origin); } +void center_pointer_on(swayc_t *view) { + struct wlc_origin new_origin; + new_origin.x = view->x + view->width/2; + new_origin.y = view->y + view->height/2; + pointer_position_set(&new_origin, true); +} + // Mode set left/right click static void pointer_mode_set_left(void) { |