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).