Is it okay to connect to GtkEntry::activate and other action signals?

I have maintained gtkmm and other C++ language bindings for a few years.
With very few exceptions, action signals (signals marked G_SIGNAL_ACTION in
the call to g_signal_new()) are not included in gtkmm. I have got the impression
that these signals are excluded from gtkmm because applications shall not connect
to them. Is it true that applications shall not connect to action signals?
I have not found any documentation stating such a rule.

My problem now is what to do with GtkEntry::activate. That signal has caused
problems now and then over the years. In gtk3 its documentation first said

Applications should not connect to it, but may emit it with
g_signal_emit_by_name() if they need to control activation programmatically.

It was changed to

While this signal is used as a keybinding signal, it is also commonly used
by applications to intercept activation of entries.

In gtk4 this text was removed.

GtkEntry::activate is excluded from present versions of gtkmm (no Gtk::Entry::signal_activate()).
I thought applications could connect to GtkCellEditable::editing-done instead.
I was wrong (https://gitlab.gnome.org/GNOME/gtk/-/issues/4848).

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.