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