You said:
I want to call "save graphics as" by right-clicking on the LocatorPane graphics.
I have not yet found a way to do this, but you may not know that you can:
I believe the correct option does not work:
SetOptions[EvaluationNotebook[], ComponentwiseContextMenu -> {"GraphicsBox" -> FEPrivate`FrontEndResource["ContextMenus", "GraphicsBox"], "Graphics3DBox" -> FEPrivate`FrontEndResource["ContextMenus", "Graphics3DBox"], "LocatorPaneBox" -> FEPrivate`FrontEndResource["ContextMenus", "GraphicsBox"], "CellGroup" -> FEPrivate`FrontEndResource["ContextMenus", "CellGroup"], "CellBracket" -> FEPrivate`FrontEndResource["ContextMenus", "CellBracket"], "CellRange" -> FEPrivate`FrontEndResource["ContextMenus", "CellRange"], "CellInsertionPoint" -> FEPrivate`FrontEndResource["ContextMenus", "CellInsertionPoint"]} ];
In particular, the value for "LocatorPaneBox" -> been changed to "GraphicsBox" , but it has no visible effect.
On the other hand, changing the value for "GraphicsBox" -> has an effect.
I suspect that since LocatorPane uses mouse input, it captures an attempt to right-click and never passes it to the context menu mechanism. Perhaps disabling the mouse as an input device for LocatorPane fix this, but it doesn't seem practical.
Here is one way to implement your proposal for using "SelectionSaveSpecial" :
Dynamic[EventHandler[ LocatorPane[{1, 1}/2, Graphics[{Gray, Disk[]}]], {"MouseClicked", 2} :> FrontEndExecute[ SelectionMove[EvaluationNotebook[], All, GeneratedCell]; SelectionMove[EvaluationNotebook[], All, CellContents]; FrontEndToken["SelectionSaveSpecial"] ] ]]