Post #499: fj

πŸ“‹ Metadata

🏷️ Tags

pie-menu hotkeys intermediate solved

  • Pie Menu Editor
  • Command tab
  • Python Scripting
  • Context-sensitive menus

πŸ’¬ Content

fjg3d:

Does the context menu in examples work with Pose mode? I don’t see an entry for it.

Here is an example.

def main():
    obj = C.selected_objects and C.active_object
    if not obj:
        open_menu("None Object")

    elif obj.type == "MESH":
        if obj.mode == 'EDIT':
            msm = C.tool_settings.mesh_select_mode
            msm[0] and open_menu("Vertex") or \
                msm[1] and open_menu("Edge") or \
                msm[2] and open_menu("Face") or \
                open_menu("Edit") or \
                open_menu("Mesh") or \
                open_menu("Any Object")

        else:
            open_menu(obj.mode.replace("_", " ").title()) or \
                open_menu("Mesh") or \
                open_menu("Any Object")

    else:
        open_menu(obj.mode.replace("_", " ").title()) or \
            open_menu(obj.type.replace("_", " ").title()) or \
            open_menu("Any Object")

main()

Save it as command_context_sensitive.py in pie_menu_editor/scripts folder. And use it in Command tab:

execute_script("scripts/command_context_sensitive_menu.py")

This script tries to find a menu by name and open it in this order:

None Object(if nothing is selected),
Vertex, Edge, Face,
(mesh edit mode)**,
Object, Edit, Pose, Sculpt, Vertex Paint, Weight Paint, Texture Paint, Particle Edit, Gpencil Edit, **
**Mesh, Curve, Surface, Meta, Font, Armature, Lattice, Empty, Camera, Lamp, Speaker,
Any Object
**


πŸ”— View on Blender Artists