get rid of function pointers - removes some of duplication, no perf diff
don't die on enter
gtk3 fixes