summaryrefslogtreecommitdiff
path: root/sway/input_state.c
diff options
context:
space:
mode:
authorS. Christoffer Eliesen <[email protected]>2015-10-26 12:20:32 +0100
committerS. Christoffer Eliesen <[email protected]>2015-10-29 17:41:33 +0100
commit78ca6197697d4f07eddf0c544daff85603adab90 (patch)
treee499ab901ab3371d5860e36db086ea8b46e8227e /sway/input_state.c
parent4799d07ac1bb08a770ee702eb3fd0ab4654f878a (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.c7
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) {