fix signal args: skip first one, we pass it manually. fixes cairo
callback: add back union type