Custom contextual menu ↩
This example shows how to create a custom contextual menu in the Font Overview.

To activate the contextual menu, right-click anywhere in the font window.
from mojo.subscriber import Subscriber, registerRoboFontSubscriber
class CustomFontOverviewContextualMenu(Subscriber):
debug = True
def fontOverviewWantsContextualMenuItems(self, info):
myMenuItems = [
("option 1", self.option1Callback),
("option 2", self.option2Callback),
("submenu", [("option 3", self.option3Callback)])
]
info["itemDescriptions"].extend(myMenuItems)
def option1Callback(self, sender):
print("option 1 selected")
def option2Callback(self, sender):
print("option 2 selected")
def option3Callback(self, sender):
print("option 3 selected")
if __name__ == '__main__':
registerRoboFontSubscriber(CustomFontOverviewContextualMenu)
The same approach can be used to add custom items to other contextual menus in RoboFont. Use the following keys to access the menus for glyphs, guides and images:
glyphAdditionContextualMenuItems
guideAdditionContextualMenuItems
imageAdditionContextualMenuItems