function warp_cursor(c) -- if c ~= client.focus or not c.warp_cursor then if not c.warp_cursor then return end -- dont allow moving mouse unless it is over another client or over nothing local canmovemouse = mouse.current_client or (mouse.current_wibox or mouse.current_widget) == nil if canmovemouse and mouse.current_client ~= c then mouse.coords { x = c.x + (c.width / 2), y = c.y + (c.height / 2), } end end client.connect_signal("focus", warp_cursor) --client.connect_signal("property::size", warp_cursor) --client.connect_signal("property::position", warp_cursor) return warp_cursor