Writing a Macro in Python - Wondering if what I want to do is a major or minor task

As @Andrej said in this thread, you need to set the ‘INVOKE_DEFAULT’ for the operator context…

So… this will work for context_menus too:

def menu_func(self, context):
    self.layout.operator_context = "INVOKE_DEFAULT"
    self.layout.operator(SimpleOperator.bl_idname, text=SimpleOperator.bl_label)