There are many inconsistencies in the enablecheck parameter of plugins.
Most of them appear if two projects or more are opened, and/or if an Attribute table is active.
One current problem happens if layer B of project B is selected, and Attribute table of layer A of project A is the active frame : most plugins are initialized with layer B, not A.
Some suggestions :
Save view as...
Copy to clipboard
==> should be deactivated if no task window is active (if a attribute table is active)
==> some plugins are activated if no layer is selected and an attribute table is active (ex. buffer, offset) and others are not (union, polygon overlay) : as soon as the plugin offers a layer chooser, it should be active (and propose only layers of the task related to the active window, either a task window or a attribute table)
==> Should be activated if no layer is selected but a Attribute table is active
Generate > Create point layer
==> Should be activated if a Attribute table is active
==> Planar graph activation is not similar to other plugins of the submenu
==> Some of them should be available if a Attribute table is active