
There are some instances where a generic verb is more appropriate. I don't understand this bit, can you explain?
Additionally, SP_ACTIVE_DESKTOP is an older C-style approach that we really need to try to purge.
It is a macro so it can be replaced with a call to the application object that will return a refpointer to the currently activated desktop/view/document. I also don't see anything wrong with being able to globally know the active desktop.
Also, not all actions are GUI actions. Instead take the view that they are document actions, and some will manifest in the GUI. It's possible to get some that mainly get activated from a script or from the command-line.
The concept of the active desktop is still valid in command line mode, e.g. an abstraction over the file being open or processed now. Multiple desktops are not present in command line mode either. Also, Gtk::Action is not GUI-specific. You can leave the icon, label, etc. undefined, and you can init and use GTK without a display.
Regards, Krzysztof Kosiński