"""
    list of items  used in marking menu, hotkeys, and shelf
"""

# strings to be generated by the install
ICONSPATH = '!MAYA_SHELF!'

# hotkeys list

hotkeyItems = [
    {
        'name':'dmptools_marking_menu',
        'key':'j',
        'alt':False,
        'ctrl':False,
        'release':True,
        'command':'python("import dmptools.setup.markingMenu as markingMenu;\
            reload(markingMenu);markingMenu.createMenu()");',
        'releaseCommand':'python("import dmptools.setup.markingMenu as markingMenu;\
            reload(markingMenu);markingMenu.deleteMarkingMenu()");',
    },
    {
        'name':'dmptools_settings_window',
        'key':'J',
        'alt':False,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.setup.settingsWindow as settingsWindow;reload(settingsWindow);settingsWindow.buildUI()");',
    },
    {
        'name':'reassign_dmptools_hotkeys',
        'key':'H',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.setup.hotkeys as hotkeys;\
            reload(hotkeys);hotkeys.main()");',
    },
    {
        'name':'show_items_list',
        'key':'H',
        'alt':False,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.setup.showItems as showItems;\
            reload(showItems);showItems.main()");',
    },
    #=====================================================================#
    #                      MODELING SECTION    #
    #=====================================================================#
    {
        'name':'align_selected_vertices_minX',
        'key':'4',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.alignVertices(True, False, False, False, False, False)");',
    },
    {
        'name':'align_selected_vertices_maxX',
        'key':'6',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.alignVertices(False, True, False, False, False, False)");',
    },
    {
        'name':'align_selected_vertices_minY',
        'key':'2',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.alignVertices(False, False, True, False, False, False)");',
    },
    {
        'name':'align_selected_vertices_maxY',
        'key':'8',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.alignVertices(False, False, False, True, False, False)");',
    },
    {
        'name':'align_selected_vertices_minZ',
        'key':'7',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.alignVertices(False, False, False, False, True, False)");',
    },
    {
        'name':'align_selected_vertices_maxZ',
        'key':'9',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.alignVertices(False, False, False, False, False, True)");',
    },
    {
        'name':'align_selected_UVs_up',
        'key':'up',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.alignUVs(False, False, False, True)");',
    },
    {
        'name':'align_selected_UVs_down',
        'key':'down',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.alignUVs(False, False, True, False)");',
    },
    {
        'name':'align_selected_UVs_left',
        'key':'left',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.alignUVs(True, False, False, False)");',
    },
    {
        'name':'align_selected_UVs_right',
        'key':'right',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.alignUVs(False, True, False, False)");',
    },
    {
        'name':'symmetry_tool',
        'key':'s',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.tools.symmetry as symmetry;\
            reload(symmetry);symmetry.main()");',
    },
    {
        'name':'create_shader_from_file',
        'key':'s',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.shading as shading;\
            reload(shading);shading.createDsShader()");',
    },
    {
        'name':'create_uv_proj_from_camera',
        'key':'P',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.createCameraUVProj()");',
    },
    {
        'name':'soften_harden_edge',
        'key':'n',
        'alt':False,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.softEdgeSelection()");',
    },
    {
        'name':'unlock_harden_edge',
        'key':'N',
        'alt':False,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.unlockAndHarden()");',
    },
    {
        'name':'advance_move',
        'key':'A',
        'alt':False,
        'ctrl':False,
        'release':True,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.advanceMove()");',
        'releaseCommand':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.advanceMoveRelease()");',
    },
    {
        'name':'advance_move_multi',
        'key':'a',
        'alt':False,
        'ctrl':False,
        'release':True,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.advanceMoveMulti()");',
        'releaseCommand':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.advanceMoveRelease()");',
    },
    {
        'name':'advance_extrude_multi',
        'key':'q',
        'alt':False,
        'ctrl':False,
        'release':True,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.advanceMoveMultiExtrude()");',
        'releaseCommand':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.advanceMoveRelease()");',
    },
    {
        'name':'split_edge_tool',
        'key':'Q',
        'alt':False,
        'ctrl':False,
        'release':True,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.oldSplitEdge()");',
        'releaseCommand':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.advanceMoveRelease()");',
    },
    {
        'name':'split_edge_ring_tool',
        'key':'Q',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.splitEdgeRing()");',
    },
    {
        'name':'merge_vertices',
        'key':'m',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.mergeVertex()");',
    },
    {
        'name':'merge_uvs',
        'key':'X',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.mergeUVs()");',
    },
    {
        'name':'invert_normals',
        'key':'i',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.invertNormals()");',
    },
    #=====================================================================#
    #                      DISPLAY SECTION    #
    #=====================================================================#
    {
        'name':'toggle_ui_elements',
        'key':'space',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.toggleUiElements()");',
    },
    {
        'name':'set_default_renderer',
        'key':'1',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.setDefaultRenderer()");',
    },
    {
        'name':'set_hardware_renderer',
        'key':'2',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.setHardwareRenderer()");',
    },
    {
        'name':'set_viewport2_0_renderer',
        'key':'3',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.setViewport2Renderer()");',
    },
    {
        'name':'toggle_vertex_color_display',
        'key':'C',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.toggleVertexColorDisplay()");',
    },
    {
        'name':'toggle_normals',
        'key':'n',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.toggleNormals()");',
    },
    {
        'name':'toggle_wireframe',
        'key':'w',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.setWireframe()");',
    },
    {
        'name':'toggle_backface_culling',
        'key':'B',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.setBackfaceCulling()");',
    },
    {
        'name':'toggle_default_material',
        'key':'d',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.setDefaultMaterial()");',
    },
    {
        'name':'toggle_all_lights',
        'key':'l',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.switchLight()");',
    },
    {
        'name':'toggle_highlighted_selection',
        'key':'f',
        'alt':True,
        'ctrl':False,'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.switchHighlightedSelection()");',
    },
    {
        'name':'camera_pan_tool',
        'key':'z',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.cameraPanTool()");',
    },
    {
        'name':'camera_zoom_tool',
        'key':'Z',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.cameraZoomTool()");',
    },
    {
        'name':'reset_pan_zoom',
        'key':'Z',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.resetPanZoom()");',
    },
    {
        'name':'isolate_selection',
        'key':'h',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.isolateSelection()");',
    },
    {
        'name':'light_selection',
        'key':'l',
        'alt':False,
        'ctrl':False,
        'release':True,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.lightingMode()");',
        'releaseCommand':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.lightingModeRelease()");',

    },
    #=====================================================================#
    #                      WINDOWS SECTION    #
    #=====================================================================#
    {
        'name':'namespace_editor',
        'key':'n',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.windows as windows;\
            reload(windows);windows.openNamespaceEditor()");',
    },
    {
        'name':'hypershade',
        'key':'0',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.windows as windows;\
            reload(windows);windows.openHypershade()");',
    },
    {
        'name':'uv_texture_editor',
        'key':'.',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.windows as windows;\
            reload(windows);windows.openUvTextureEditor()");',
    },
    #=====================================================================#
    #                      SELECTION SECTION    #
    #=====================================================================#
    {
        'name':'freeze_delete_history',
        'key':'F',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.freezeHistory()");',
    },
    {
        'name':'freeze_delete_history_pivot',
        'key':'F',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.freezeCenterPivot()");',
    },
    {
        'name':'center_pivot',
        'key':'F',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.centerPivot()");',
    },
    {
        'name':'toggle_visibility_or_open_outliner',
        'key':'h',
        'alt':False,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.hideSelSwitchOrOutliner()");',
    },
    # {
    #     'name':'toggle_visibility',
    #     'key':'h',
    #     'alt':False,
    #     'ctrl':False,
    #     'release':False,
    #     'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
    #         reload(mayaCommands);mayaCommands.hideSelSwitch()");',
    # },
    {
        'name':'invert_selection',
        'key':'I',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.invertSelection()");',
    },
    {
        'name':'select_ngones',
        'key':'q',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.switchSelectNgones()");',
    },
    {
        'name':'select_triangles',
        'key':'p',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.switchSelectTriangles()");',
    },
    {
        'name':'unselect_all',
        'key':'space',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.unselectAll()");',
    },
    {
        'name':'shortest_edge_path',
        'key':'Q',
        'alt':True,
        'ctrl':True,
        'release':True,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.shortestEdgePath()");',
        'releaseCommand':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.shortestEdgePathRelease()");',
    },
    #=====================================================================#
    #                              MISC SECTION    #
    #=====================================================================#
    {
        'name':'launch_console',
        'key':'x',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.launchConsole()");',
    },
    {
        'name':'ask_flush_undo',
        'key':'f',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.askFlushUndo()");',
    },
    {
        'name':'save_as',
        'key':'S',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'SaveSceneAs;',
    },
    {
        'name':'switch_object_tumble',
        'key':'Q',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.switchObjectTumble()");',
    },
    {
        'name':'run_command',
        'key':'e',
        'alt':True,
        'ctrl':False,
        'release':False,
        'command':'python("import dmptools.tools.runCommand as runCommand;\
            reload(runCommand);runCommand.main(False)");',
    },
    {
        'name':'set_namespace',
        'key':'N',
        'alt':False,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.setNamespace()");',
    },
    {
        'name':'switch_vertex_color_display',
        'key':'c',
        'alt':True,
        'ctrl':True,
        'release':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.toggleVertexColorDisplay()");',
    },
    #=====================================================================#
    #                              FRAMESTORE SECTION    #
    #=====================================================================#
    # {
    #     'name':'setPreviousRenderVersion',
    #     'key':'[',
    #     'alt':True,
    #     'ctrl':False,
    #     'release':False,
    #     'command':'python("import dmptools_misc.framestore.maya.fbkUtils as fbkUtils;reload(fbkUtils);fbkUtils.setPreviousVersion(\'render\', True, True)");',
    # },
    # {
    #     'name':'setNextRenderVersion',
    #     'key':']',
    #     'alt':True,
    #     'ctrl':False,
    #     'release':False,
    #     'command':'python("import dmptools_misc.framestore.maya.fbkUtils as fbkUtils;reload(fbkUtils);fbkUtils.setNextVersion(\'render\', True, True)");',
    # },
    # {
    #     'name':'setPreviousRenderDisplayVersion',
    #     'key':'{',
    #     'alt':True,
    #     'ctrl':False,
    #     'release':False,
    #     'command':'python("import dmptools_misc.framestore.maya.fbkUtils as fbkUtils;reload(fbkUtils);fbkUtils.setPreviousVersion(\'render\', False, True)");',
    # },
    # {
    #     'name':'setNextRenderDisplayVersion',
    #     'key':'}',
    #     'alt':True,
    #     'ctrl':False,
    #     'release':False,
    #     'command':'python("import dmptools_misc.framestore.maya.fbkUtils as fbkUtils;reload(fbkUtils);fbkUtils.setNextVersion(\'render\', False, True)");',
    # },
    # {
    #     'name':'setLatestVersion',
    #     'key':']',
    #     'alt':True,
    #     'ctrl':True,
    #     'release':False,
    #     'command':'python("import dmptools_misc.framestore.maya.fbkUtils as fbkUtils;reload(fbkUtils);fbkUtils.setLatestVersion(\'render\', False, False)");',
    # },
    # {
    #     'name':'switchFbkResolution',
    #     'key':'G',
    #     'alt':True,
    #     'ctrl':False,
    #     'release':False,
    #     'command':'python("import dmptools_misc.framestore.maya.fbkUtils as fbkUtils;reload(fbkUtils);fbkUtils.switchAnimRender()");',
    # },
]

# markingMenu items list
markingMenuItems = [
    #==========================#
    #       COMPASS MENU       #
    #==========================#
    {
        'name':'Combine',
        'subMenu':False,
        'position':'N',
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.combine()");',
    },
    {
        'name':'Separate',
        'subMenu':False,
        'position':'NE',
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.faceSeparate()");',
    },
    {
        'name':'Symmetry',
        'subMenu':False,
        'position':'NW',
        'command':'python("import dmptools.tools.symmetry as symmetry;\
            reload(symmetry);symmetry.main()");',
    },
    {
        'name':'Split edge',
        'subMenu':False,
        'position':'W',
        'command':'python("import dmptools.utils.modeling as modeling;\
            reload(modeling);modeling.oldSplitEdge()");',
    },

    #============================#
    #         MAIN MENU          #
    #============================#
    {
        'name':'Maya To FB',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.tools.fbExport as fbExport;reload(fbExport);fbExport.main()");'
    },
    {
        'name':'Maya To UE',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.tools.ueExport as ueExport;reload(ueExport);ueExport.main()");'
    },
    {
        'name':'Maya To Nuke',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.tools.mayaToNuke.launcher as mtn;mtn.main()");'
    },
    {
        'name':'Terminator',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.launchConsole()");'
    },
    {
        'name':'SublimeText',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.launchSublimeText()");'
    },
    {
        'name':'separator',
        'subMenu':None,
        'position':None,
        'command':None
    },
    {
        'name':'Ratio Calculator',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.tools.ratioCalculator as ratioCalculator;\
            ratioCalculator.main()");'
    },
    {
        'name':'Camera Constraint',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.tools.camConstraint as camC;\
            reload(camC);camC.main()");'
    },
    {
        'name':'Run command',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.tools.runCommand as runCommand;\
            reload(runCommand);runCommand.main(False)");'
    },
    {
        'name':'Arc System',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.tools.arcSystem as arcSystem;\
            reload(arcSystem);arcSystem.main()");'
    },
    {
        'name':'Batch Rename',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.tools.batchRename as batchRename;\
            reload(batchRename);batchRename.main(False)");'
    },
    {
        'name':'UV tile Manager',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.tools.uvManager as uvManager;reload(uvManager);uvManager.main()");'

    },
    {
        'name':'Replace default persp',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.utils.mayaCommands as mayaCommands;\
            reload(mayaCommands);mayaCommands.replaceDefaultPersp()");'
    },
    {
        'name':'Show/Hide Items List',
        'subMenu':False,
        'position':False,
        'command':'python("import dmptools.setup.showItems as showItems;\
            reload(showItems);showItems.main()");'
    },
]

#======================#
# shelf buttons list   #
#======================#
shelfItems = [
    # RELOAD SHELF BUTTON
    {
        'name':'Initialisation/Setup',
        'command':'python("import dmptools.setup.shelf as shelf;reload(shelf);shelf.main()");',
        'icon':ICONSPATH+'/refresh.png',
        'annotation':'Initialisation/Setup dmptools - click to rebuild the shelf, right click for options.',
        'menu':True,
        'menuItems':[
            {
                'name':'Initialize dmptools',
                'command':'python("import dmptools.setup.init");',
            },
            {
                'name':'divider1',
                'command':'',
            },
            {
                'name':'Rebuild the dmptools hotkeys',
                'command':'python("import dmptools.setup.hotkeys as hotkeys;reload(hotkeys);hotkeys.main()");',
            },
            {
                'name':'Reset dmptools windows locations',
                'command':'python("import dmptools.utils.windows as windows;reload(windows);windows.resetWindowsLocations()");',
            },
        ]
    },
    # SETTINGS SHELF BUTTON
    {
        'name':'separator_main'
    },
    {
        'name':'Settings',
        'command':'python("import dmptools.setup.settingsWindow as settingsWindow;reload(settingsWindow);settingsWindow.buildUI()");',
        'icon':ICONSPATH+'/options.png',
        'annotation':'Settings of dmptools.',
        'menu':True,
        'menuItems':[
            {
                'name':'Settings',
                'command':'python("import dmptools.setup.settingsWindow as settingsWindow;reload(settingsWindow);settingsWindow.buildUI()");',
            },
            {
                'name':'divider2',
                'command':'',
            },
            {
                'name':'Open maya command port',
                'command':'python("import dmptools.setup.mayaSettings as mayaSettings;mayaSettings.openCommandPort()");',
            },
            {
                'name':'Set Custom Settings',
                'command':'python("import dmptools.setup.mayaSettings as ms;ms.setCustomSettings()");',
            },
            {
                'name':'Set Default Settings',
                'command':'python("import dmptools.setup.mayaSettings as ms;ms.setDefaultSettings()");',
            },
        ]
    },
    {
        'name':'separator_settings'
    },
    {
        'name':'Terminator',
        'command':'print "right click for full list.", ',
        'icon':ICONSPATH+'/Console.xpm',
        'annotation':'Launch a Terminal.',
        'menu':True,
        'menuItems':[
            {
                'name':'Terminal',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.launchTerminal()");',
            },
            {
                'name':'Windows console',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.launchConsole()");',
            },
        ]
    },
    {
        'name':'Script/Code Editor',
        'command':'print "right click for full list.", ',
        'icon':'text.png',
        'annotation':'Script/Code Editor.',
        'menu':True,
        'menuItems':[
            {
                'name':'Script Editor',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.openScriptEditor()");',
            },
            {
                'name':'Charcoal Editor',
                'command':'python("import dmptools.utils.windows as windows;reload(windows);windows.openCharcoalEditor()");',
            },
            {
                'name':'Sublime Text',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.launchSublimeText()");',
            },
            {
                'name':'Custom Script Editor',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.newScriptEditor()");',
            },
        ]
    },
    {
        'name':'Nuke',
        'command':'print "right click for full list.", ',
        'icon':ICONSPATH+'/Nuke.xpm',
        'annotation':'Launch Nuke.',
        'menu':True,
        'menuItems':[
            {
                'name':'Launch Nuke',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.launchNuke()");',
            },
        ]
    },
    {
        'name':'Tools and Utilities',
        'command':'print "utils - right click for full list", ',
        'icon':ICONSPATH+'/utils.png',
        'annotation':'utils - right click for full list',
        'menu':True,
        'menuItems':[
            {
                'name':'Maya To FB',
                'command':'python("import dmptools.tools.fbExport as fbExport;reload(fbExport);fbExport.main()");',
            },
            {
                'name':'Maya To UE',
                'command':'python("import dmptools.tools.ueExport as ueExport;reload(ueExport);ueExport.main()");',
            },
            {
                'name':'Maya To Nuke',
                'command':'python("import dmptools.tools.mayaToNuke.launcher as mayaToNukeLauncher;mayaToNukeLauncher.main(False)");',
            },
            {
                'name':'Batch Rename',
                'command':'python("import dmptools.tools.batchRename as batchRename;reload(batchRename);batchRename.main(False)");',
            },
            {
                'name':'Display Color',
                'command':'python("import dmptools.tools.displayColor as displayColor;reload(displayColor);displayColor.main()");',
            },
            {
                'name':'Arc System',
                'command':'python("import dmptools.tools.arcSystem as arcSystem;reload(arcSystem);arcSystem.main()");',
            },
            {
                'name':'Rooftops Tool',
                'command':'python("import dmptools.tools.createRooftops as createRooftops;reload(createRooftops);createRooftops.main()");',
            },
            {
                'name':'Aperture Tool',
                'command':'python("import dmptools.tools.ratioCalculator as ratioCalculator;reload(ratioCalculator);ratioCalculator.main()");',
            },
            {
                'name':'Symmetry Tool',
                'command':'python("import dmptools.tools.symmetry as symmetry;reload(symmetry);symmetry.main()");',
            },
            {
                'name':'UV Tile Mover',
                'command':'python("import dmptools.tools.uvManager as uvManager;reload(uvManager);uvManager.main()");',
            },
            {
                'name':'Floating Output',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.floatingOutputReporter()");',
            },
            {
                'name':'Run...',
                'command':'python("import dmptools.tools.runCommand as runCommand;reload(runCommand);runCommand.main(False)");',
            },
            {
                'name':'divider1',
                'command':'',
            },
            {
                'name':'Bake UDIM Tiles',
                'command':'python("import dmptools.tools.bakeUdimTiles as bakeUdimTiles;reload(bakeUdimTiles);bakeUdimTiles.main()");',
            },
            {
                'name':'Camera Clip Planes',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.fixClipPlanes()");',
            },
            {
                'name':'Bake ctive camera',
                'command':'python("import dmptools.tools.bakeCamera as bakeCamera;reload(bakeCamera);bakeCamera.main()");',
            },
        ]
    },
    # {
    #     'name':'Framestore utils',
    #     'command':'print "utils - right click for full list", ',
    #     'icon':ICONSPATH+'/framestore_logo.jpg',
    #     'annotation':'utils - right click for full list',
    #     'menu':True,
    #     'menuItems':[
    #         ('load fShambles...', 'import dmptools_misc.framestore.maya.jsonWrite as jsonWrite;jsonWrite.loadShambles()'),
    #         ('write fShambles...', 'import dmptools_misc.framestore.maya.jsonWrite as jsonWrite;jsonWrite.main()'),
    #         ('divider3', ''),
    #         ('get fd state', 'import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.getFdState()'),
    #         ('get fd list', 'import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.getLenFd(True)'),
    #         ('flush fd', 'import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.flushFd()'),
    #     ]
    # },
    {
        'name':'separator_customItems'
    },
    {
        'name':'custom',
        'command':'python("import dmptools.setup.customItems as customItems;reload(customItems);customItems.addItem()");',
        'icon':ICONSPATH+'/create.png',
        'annotation':'create custom item with associated command - right click for full list',
        'menu':True,
        'menuItems':[
            {
                'name':'Add item',
                'command':'python("import dmptools.setup.customItems as customItems;reload(customItems);customItems.addItem()");',
            },
            {
                'name':'Edit/Remove item',
                'command':'python("import dmptools.setup.customItems as customItems;reload(customItems);customItems.editRemoveItemsUI()");',
            },
            {
                'name':'divider1',
                'command':'',
            },
            # that's where the custom items created by the user are going to be placed.
        ]
    },
    {
        'name':'separator_help'
    },
    {
        'name':'Help',
        'command':'python("import dmptools.setup.showItems as showItems;reload(showItems);showItems.main()");',
        'icon':ICONSPATH+'/help.png',
        'annotation':'dmptools help. right click for full list',
        'menu':True,
        'menuItems':[
            {
                'name':'Show dmptools items',
                'command':'python("import dmptools.setup.showItems as showItems;reload(showItems);showItems.main()");',
            },
            {
                'name':'divider1',
                'command':'',
            },
            {
                'name':'Open Maya (2014) commands page',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.openMayaCommandHelp()");',
            },
            {
                'name':'divider2',
                'command':'',
            },
            {
                'name':'Open dmptools github page',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.openGitHubMainPage()");',
            },
            {
                'name':'Open dmptools wiki page',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.openGitHubWikiPage()");',
            },
            {
                'name':'Open dmptools issues page',
                'command':'python("import dmptools.utils.mayaCommands as mayaCommands;reload(mayaCommands);mayaCommands.openGitHubIssuesPage()");',
            },
        ]
    },
    {
        'name':'separator_end'
    }
  ]
