]> git.lizzy.rs Git - bspwm.git/blobdiff - tree.c
Add setting: pointer_follows_focus
[bspwm.git] / tree.c
diff --git a/tree.c b/tree.c
index c0a0661e1970121dc4890ec9ff6bbbcebadaafe3..5b4c99ea3f78b6e1a913ed4e19825767bc492ee2 100644 (file)
--- a/tree.c
+++ b/tree.c
@@ -103,6 +103,10 @@ void apply_layout(monitor_t *m, desktop_t *d, node_t *n, xcb_rectangle_t rect, x
                window_border_width(n->client->window, bw);
                window_draw_border(n, d->focus == n, m == mon);
 
+               if (pointer_follows_focus && mon->desk->focus == n && frozen_pointer->action == ACTION_NONE) {
+                       center_pointer(r);
+               }
+
        } else {
                xcb_rectangle_t first_rect;
                xcb_rectangle_t second_rect;
@@ -353,6 +357,10 @@ void focus_node(monitor_t *m, desktop_t *d, node_t *n)
                        disable_motion_recorder();
        }
 
+       if (pointer_follows_focus) {
+               center_pointer(get_rectangle(n->client));
+       }
+
        ewmh_update_active_window();
 }