Pure gtk3 implementation
Merge tag 'pure-gtk3'