In the .etk file: widget { type: "button"; name: "custom-signal-button"; parent: "button-window-button-frame"; label: "custom signal"; signal { name: "clicked"; emit: "custom_signal_emittion"; } } In the .c file: void _custom_signal_emittion_cb(void *data) { printf("This is a custom emittion!\n"); } ... ... evolve_signal_connect(evolve, "custom_signal_emittion", _custom_signal_emittion_cb, NULL);