reduce using set_properties
fixed gtk2 bugs and less code