dynamic widget width size