# What do different execution contexts mean?

The documentation says that I can invoke an operator with a different execution context, either invoking or executing it. What I know is that invoke will most often set the parameters from the context and execute will execute the operator with already set parameter - most of the time.

Yet, there are many more execution contexts I can pass, namely ‘INVOKE_DEFAULT’, ‘INVOKE_REGION_WIN’, ‘INVOKE_REGION_CHANNELS’, ‘INVOKE_REGION_PREVIEW’, ‘INVOKE_AREA’, ‘INVOKE_SCREEN’, ‘EXEC_DEFAULT’, ‘EXEC_REGION_WIN’, ‘EXEC_REGION_CHANNELS’, ‘EXEC_REGION_PREVIEW’, ‘EXEC_AREA’, ‘EXEC_SCREEN’.

I think that the prefix INVOKE/EXEC decides if the the operator will be invoked or executed respectively. But what is the meaning of the second part of the execution context?

I always use DEFAULT in my scripts, but I wondered, what the effect of using the others were?

## 1 Answer

Probably you know more than me, but i think it is related to the words itself or the concepts behind it. Area, Screen and Region are pointing to where the oops are meant to be executed/invoked i think. "But dont know whats the diference between exec and invoke." now i do. thanks, (i dont use many scripted oops) You know, Area, Screen and Region are the names blender gives internally to the the user interface diferent componets. see: https://docs.blender.org/manual/en/dev/interface/window_system/screens.html

https://docs.blender.org/manual/en/dev/interface/window_system/areas.html

https://docs.blender.org/manual/en/dev/interface/window_system/regions.html

hope useful.