diff --git a/add_curve_aceous_galore.py b/add_curve_aceous_galore.py
index 5183595bc1ba9ad532758a28415dfd07c4d26ef2..bf52e4738f02983955cb90c270505106bd12c193 100644
--- a/add_curve_aceous_galore.py
+++ b/add_curve_aceous_galore.py
@@ -765,7 +765,7 @@ def main(context, self, align_matrix):
 
 class Curveaceous_galore(bpy.types.Operator):
     ''''''
-    bl_idname = "curveaceous_galore"
+    bl_idname = "mesh.curveaceous_galore"
     bl_label = "Curveaceous galore"
     bl_options = {'REGISTER', 'UNDO'}
     bl_description = "adds many types of curves"
diff --git a/add_mesh_BoltFactory/Boltfactory.py b/add_mesh_BoltFactory/Boltfactory.py
index e2e396c71e4c4e74e3749cd594f881232e4dfc58..aa6e470e12cc35796b8c6a3c1d7d54fb897fd22f 100644
--- a/add_mesh_BoltFactory/Boltfactory.py
+++ b/add_mesh_BoltFactory/Boltfactory.py
@@ -43,7 +43,7 @@ def align_matrix(context):
 
 class add_mesh_bolt(bpy.types.Operator):
     ''''''
-    bl_idname = 'add_mesh_bolt'
+    bl_idname = "mesh.bolt_add"
     bl_label = "Add Bolt"
     bl_options = {'REGISTER', 'UNDO'}
     bl_description = "adds many types of Bolts"
@@ -71,7 +71,7 @@ class add_mesh_bolt(bpy.types.Operator):
                         ('bf_Head_Cap','CAP','Cap Head'),
                         ('bf_Head_Dome','DOME','Dome Head'),
                         ('bf_Head_Pan','PAN','Pan Head'),
-			('bf_Head_CounterSink','COUNTER SINK','Counter Sink Head')]
+                        ('bf_Head_CounterSink','COUNTER SINK','Counter Sink Head')]
     bf_Head_Type = EnumProperty( attr='bf_Head_Type',
             name='Head',
             description='Choose the type off Head you would like',
@@ -298,7 +298,7 @@ class add_mesh_bolt(bpy.types.Operator):
         #self.bf_Minor_Dia = self.bf_Major_Dia - (1.082532 * self.bf_Pitch)
         
         Create_New_Mesh(self, context, self.align_matrix)
-	
+
         return {'FINISHED'}
         
     ##### INVOKE #####
diff --git a/add_mesh_ant_landscape.py b/add_mesh_ant_landscape.py
index 6ce66975cec16b9d1d642b097ca3c5b8a4d9128c..6e220572ff8c0f05bca4f163732f23fab1a3e24f 100644
--- a/add_mesh_ant_landscape.py
+++ b/add_mesh_ant_landscape.py
@@ -516,7 +516,7 @@ def sphere_gen( sub_d, size_me, options ):
 # Add landscape
 class landscape_add(bpy.types.Operator):
     '''Add a landscape mesh'''
-    bl_idname = "Add_landscape"
+    bl_idname = "mesh.landscape_add"
     bl_label = "Landscape"
     bl_options = {'REGISTER', 'UNDO'}
     bl_description = "Add landscape mesh"
diff --git a/development_icon_get.py b/development_icon_get.py
index 4aadc35bee8a60bd75a2bc62263bc11f052f4e1c..e06b702f6c4d0e8dec4fcd26340c19f87f0cdd9a 100644
--- a/development_icon_get.py
+++ b/development_icon_get.py
@@ -62,6 +62,7 @@ class IconProps(bpy.types.IDPropertyGroup):
 
 
 class WM_OT_icon_info(bpy.types.Operator):
+    bl_idname = "wm.icon_info"
     bl_label = "Icon Info"
     bl_description = "Click to copy this icon name to the clipboard"
     icon = bpy.props.StringProperty()
@@ -74,6 +75,7 @@ class WM_OT_icon_info(bpy.types.Operator):
 
 
 class WM_OT_icon_prop_update(bpy.types.Operator):
+    bl_idname = "wm.icon_prop_update"
     bl_label = "Icon Search"
     bl_description = "Update icon_prop values"
     
diff --git a/io_coat3D/coat.py b/io_coat3D/coat.py
index e6401100edb51edcd48cc05145adb2e4e33633c7..fbda5575bddbe95be91d124f2122412ee16d7f27 100644
--- a/io_coat3D/coat.py
+++ b/io_coat3D/coat.py
@@ -174,7 +174,7 @@ class SCENE_PT_Borgleader(ObjectButtonsPanel,bpy.types.Panel):
 
 
 class SCENE_OT_export(bpy.types.Operator):
-    bl_idname = "exportbutton"
+    bl_idname = "export_applink.pilgway_3d_coat"
     bl_label = "Export your custom property"
     bl_description = "Export your custom property"
 
@@ -239,7 +239,7 @@ class SCENE_OT_export(bpy.types.Operator):
 
 
 class SCENE_OT_import(bpy.types.Operator):
-    bl_idname = "importbutton"
+    bl_idname = "import_applink.pilgway_3d_coat"
     bl_label = "import your custom property"
     bl_description = "import your custom property"
     
@@ -374,7 +374,7 @@ class SCENE_OT_import(bpy.types.Operator):
         return('FINISHED')
 
 class SCENE_OT_load3b(bpy.types.Operator):
-    bl_idname = "load3b"
+    bl_idname = "import_applink.pilgway_3d_coat_3b"
     bl_label = "Loads 3b linked into object"
     bl_description = "Loads 3b linked into object"
 
@@ -399,7 +399,7 @@ class SCENE_OT_load3b(bpy.types.Operator):
         return('FINISHED')
 
 class SCENE_OT_deltex(bpy.types.Operator):
-    bl_idname = "deltex"
+    bl_idname = "import_applink.pilgway_3d_deltex"  # XXX, name?
     bl_label = "Picks Object's name into path"
     bl_description = "Loads 3b linked into object"
 
diff --git a/io_export_pc2.py b/io_export_pc2.py
index 80359e6782b7708501d08eea18c7dfb45339eed2..a8a468cbd4d50765f268bf1326ab93e26f0a0c89 100644
--- a/io_export_pc2.py
+++ b/io_export_pc2.py
@@ -107,7 +107,7 @@ def do_export(context, props, filepath):
 ###### EXPORT OPERATOR #######
 class Export_pc2(bpy.types.Operator, ExportHelper):
     '''Exports the active Object as a .pc2 Pointcache file.'''
-    bl_idname = "export_pc2"
+    bl_idname = "export_shape.pc2"
     bl_label = "Export Pointcache (.pc2)"
 
     filename_ext = ".pc2"
diff --git a/io_export_unreal_psk_psa.py b/io_export_unreal_psk_psa.py
index c8e7fbd6696091b657e8940d5e3053d194187b28..fcae7f6a9e5a306fcfbbf323c8e41a1b8766aa75 100644
--- a/io_export_unreal_psk_psa.py
+++ b/io_export_unreal_psk_psa.py
@@ -1660,7 +1660,7 @@ bpy.types.Scene.unrealexportpsa = BoolProperty(
 class ExportUDKAnimData(bpy.types.Operator):
     global exportmessage
     '''Export Skeleton Mesh / Animation Data file(s)'''
-    bl_idname = "export.udk_anim_data" # this is important since its how bpy.ops.export.udk_anim_data is constructed
+    bl_idname = "export_anim.udk" # this is important since its how bpy.ops.export.udk_anim_data is constructed
     bl_label = "Export PSK/PSA"
     __doc__ = "One mesh and one armature else select one mesh or armature to be exported."
 
@@ -1742,7 +1742,7 @@ class VIEW3D_PT_unrealtools_objectmode(bpy.types.Panel):
         
 class OBJECT_OT_UnrealExport(bpy.types.Operator):
     global exportmessage
-    bl_idname = "OBJECT_OT_UnrealExport"
+    bl_idname = "export_mesh.udk"  # XXX, name???
     bl_label = "Unreal Export"
     __doc__ = "Select export setting for .psk/.psa or both."
     
@@ -1772,7 +1772,7 @@ def menu_func(self, context):
     #bpy.context.scene.unrealexportpsk = True
     #bpy.context.scene.unrealexportpsa = True
     default_path = os.path.splitext(bpy.data.filepath)[0] + ".psk"
-    self.layout.operator("export.udk_anim_data", text="Skeleton Mesh / Animation Data (.psk/.psa)").filepath = default_path
+    self.layout.operator(ExportUDKAnimData.bl_idname, text="Skeleton Mesh / Animation Data (.psk/.psa)").filepath = default_path
 
 def register():
     bpy.types.INFO_MT_file_export.append(menu_func)
diff --git a/mesh_surface_sketch.py b/mesh_surface_sketch.py
index c0b6b3ebc0ba492550884580731412dfd1a19a95..e6e90cd08cda53de1c74e9a5e542bd942027919e 100644
--- a/mesh_surface_sketch.py
+++ b/mesh_surface_sketch.py
@@ -58,19 +58,19 @@ class VIEW3D_PT_tools_SURF_SKETCH(bpy.types.Panel):
         col = layout.column(align=True)
         row = layout.row()
         row.separator()
-        col.operator("GPENCIL_OT_SURFSK_add_surface", text="Add Surface")
+        col.operator(GPENCIL_OT_surfsk_surface_add.bl_idname, text="Add Surface")
         col.prop(scn, "SURFSK_edges_U")
         col.prop(scn, "SURFSK_edges_V")
         row.separator()
         col.prop(scn, "SURFSK_keep_strokes")
         col.separator()
         row.separator()
-        col.operator("GPENCIL_OT_SURFSK_strokes_to_curves", text="Strokes to curves")
+        col.operator(GPENCIL_OT_surfsk_strokes_to_curves.bl_idname, text="Strokes to curves")
         
 
 
-class GPENCIL_OT_SURFSK_add_surface(bpy.types.Operator):
-    bl_idname = "GPENCIL_OT_SURFSK_add_surface"
+class GPENCIL_OT_surfsk_surface_add(bpy.types.Operator):
+    bl_idname = "gpencil.surfsk_surface_add"
     bl_label = "Surface generation from grease pencil strokes"
     bl_description = "Surface generation from grease pencil strokes"
     
@@ -734,12 +734,11 @@ class GPENCIL_OT_SURFSK_add_surface(bpy.types.Operator):
 
 
 
-class GPENCIL_OT_SURFSK_strokes_to_curves(bpy.types.Operator):
-    bl_idname = "GPENCIL_OT_SURFSK_strokes_to_curves"
+class GPENCIL_OT_surfsk_strokes_to_curves(bpy.types.Operator):
+    bl_idname = "gpencil.surfsk_strokes_to_curves"
     bl_label = "Convert grease pencil strokes into curves and enter edit mode"
     bl_description = "Convert grease pencil strokes into curves and enter edit mode"
-    
-    
+
     def execute(self, context):
         #### Convert grease pencil strokes to curve.
         bpy.ops.gpencil.convert(type='CURVE')
@@ -797,8 +796,8 @@ def register():
     km = kc.keymaps.get("3D View")
     if km is None:
         km = kc.keymaps.new(name="3D View")
-    keymap_item_add_surf = km.items.new("GPENCIL_OT_SURFSK_add_surface","E","PRESS", key_modifier="D")
-    keymap_item_stroke_to_curve = km.items.new("GPENCIL_OT_SURFSK_strokes_to_curves","C","PRESS", key_modifier="D")
+    keymap_item_add_surf = km.items.new(GPENCIL_OT_surfsk_surface_add.bl_idname,"E","PRESS", key_modifier="D")
+    keymap_item_stroke_to_curve = km.items.new(GPENCIL_OT_surfsk_strokes_to_curves.bl_idname,"C","PRESS", key_modifier="D")
 
 
 def unregister():
@@ -811,9 +810,9 @@ def unregister():
     km = kc.keymaps["3D View"]
     for kmi in km.items:
         if kmi.idname == 'wm.call_menu':
-            if kmi.properties.name == "GPENCIL_OT_SURFSK_add_surface":
+            if kmi.properties.name == GPENCIL_OT_surfsk_surface_add.bl_idname:
                 km.items.remove(kmi)
-            elif kmi.properties.name == "GPENCIL_OT_SURFSK_strokes_to_curves":
+            elif kmi.properties.name == GPENCIL_OT_surfsk_strokes_to_curves.bl_idname:
                 km.items.remove(kmi)   
             else:
                 continue
diff --git a/space_view3d_copy_attributes.py b/space_view3d_copy_attributes.py
index fb9dc518f2b73d6fca385440ec7f5cde668bba22..f825ba7d69a68fe5165cb7d50dba15e4e65b1388 100644
--- a/space_view3d_copy_attributes.py
+++ b/space_view3d_copy_attributes.py
@@ -192,25 +192,25 @@ def pConExec(bone, active, context):
 def pIKsExec(bone, active, context):
     generic_copy(active, bone, "ik_")
 
-pose_copies = (('POSE_LOC_LOC', "Local Location",
+pose_copies = (('pose_loc_loc', "Local Location",
                 "Copy Location from Active to Selected", pLocLocExec),
-                ('POSE_LOC_ROT', "Local Rotation",
+                ('pose_loc_rot', "Local Rotation",
                 "Copy Rotation from Active to Selected", pLocRotExec),
-                ('POSE_LOC_SCA', "Local Scale",
+                ('pose_loc_sca', "Local Scale",
                 "Copy Scale from Active to Selected", pLocScaExec),
-                ('POSE_VIS_LOC', "Visual Location",
+                ('pose_vis_loc', "Visual Location",
                 "Copy Location from Active to Selected", pVisLocExec),
-                ('POSE_VIS_ROT', "Visual Rotation",
+                ('pose_vis_rot', "Visual Rotation",
                 "Copy Rotation from Active to Selected", pVisRotExec),
-                ('POSE_VIS_SCA', "Visual Scale",
+                ('pose_vis_sca', "Visual Scale",
                 "Copy Scale from Active to Selected", pVisScaExec),
-                ('POSE_DRW', "Bone Shape",
+                ('pose_drw', "Bone Shape",
                 "Copy Bone Shape from Active to Selected", pDrwExec),
-                ('POSE_LOK', "Protected Transform",
+                ('pose_lok', "Protected Transform",
                 "Copy Protected Tranforms from Active to Selected", pLokExec),
-                ('POSE_CON', "Bone Constraints",
+                ('pose_con', "Bone Constraints",
                 "Copy Object Constraints from Active to Selected", pConExec),
-                ('POSE_IKS', "IK Limits",
+                ('pose_iks', "IK Limits",
                 "Copy IK Limits from Active to Selected", pIKsExec))
 
 
@@ -422,47 +422,47 @@ def obWei(ob, active, context):
                                    vgroupIndex_weight[i][1], "REPLACE")
     return('INFO', "weights copied")
 
-object_copies = (('OBJ_LOC', "Location",
+object_copies = (('obj_loc', "Location",
                 "Copy Location from Active to Selected", obLoc),
-                ('OBJ_ROT', "Rotation",
+                ('obj_rot', "Rotation",
                 "Copy Rotation from Active to Selected", obRot),
-                ('OBJ_SCA', "Scale",
+                ('obj_sca', "Scale",
                 "Copy Scale from Active to Selected", obSca),
-                ('OBJ_DRW', "Draw Options",
+                ('obj_drw', "Draw Options",
                 "Copy Draw Options from Active to Selected", obDrw),
-                ('OBJ_OFS', "Time Offset",
+                ('obj_ofs', "Time Offset",
                 "Copy Time Offset from Active to Selected", obOfs),
-                ('OBJ_DUP', "Dupli",
+                ('obj_dup', "Dupli",
                 "Copy Dupli from Active to Selected", obDup),
-                ('OBJ_COL', "Object Color",
+                ('obj_col', "Object Color",
                 "Copy Object Color from Active to Selected", obCol),
-                ('OBJ_MAS', "Mass",
+                ('obj_mas', "Mass",
                 "Copy Mass from Active to Selected", obMas),
-                #('OBJ_DMP', "Damping",
+                #('obj_dmp', "Damping",
                 #"Copy Damping from Active to Selected"),
-                #('OBJ_ALL', "All Physical Attributes",
+                #('obj_all', "All Physical Attributes",
                 #"Copy Physical Atributes from Active to Selected"),
-                #('OBJ_PRP', "Properties",
+                #('obj_prp', "Properties",
                 #"Copy Properties from Active to Selected"),
-                #('OBJ_LOG', "Logic Bricks",
+                #('obj_log', "Logic Bricks",
                 #"Copy Logic Bricks from Active to Selected"),
-                ('OBJ_LOK', "Protected Transform",
+                ('obj_lok', "Protected Transform",
                 "Copy Protected Tranforms from Active to Selected", obLok),
-                ('OBJ_CON', "Object Constraints",
+                ('obj_con', "Object Constraints",
                 "Copy Object Constraints from Active to Selected", obCon),
-                #('OBJ_NLA', "NLA Strips",
+                #('obj_nla', "NLA Strips",
                 #"Copy NLA Strips from Active to Selected"),
-                #('OBJ_TEX', "Texture Space",
+                #('obj_tex', "Texture Space",
                 #"Copy Texture Space from Active to Selected", obTex),
-                #('OBJ_SUB', "Subsurf Settings",
+                #('obj_sub', "Subsurf Settings",
                 #"Copy Subsurf Setings from Active to Selected"),
-                #('OBJ_SMO', "AutoSmooth",
+                #('obj_smo', "AutoSmooth",
                 #"Copy AutoSmooth from Active to Selected"),
-                ('OBJ_IDX', "Pass Index",
+                ('obj_idx', "Pass Index",
                 "Copy Pass Index from Active to Selected", obIdx),
-                ('OBJ_MOD', "Modifiers",
+                ('obj_mod', "Modifiers",
                 "Copy Modifiers from Active to Selected", obMod),
-                ('OBJ_WEI', "Vertex Weights",
+                ('obj_wei', "Vertex Weights",
                 "Copy vertex weights based on indices", obWei))
 
 
diff --git a/space_view3d_materials_utils.py b/space_view3d_materials_utils.py
index 0c832d43365d533584081fce14be4f178ed2d57f..1e149c2edfdb2611b0ca4d03c37c54171e95948a 100644
--- a/space_view3d_materials_utils.py
+++ b/space_view3d_materials_utils.py
@@ -487,7 +487,7 @@ def texface_to_mat():
 
 class VIEW3D_OT_texface_to_material(bpy.types.Operator):
     ''''''
-    bl_idname = "texface_to_material"
+    bl_idname = "view3d.texface_to_material"
     bl_label = "MW Texface Images to Material/Texture"
     bl_options = {'REGISTER', 'UNDO'}
 
@@ -505,7 +505,7 @@ class VIEW3D_OT_texface_to_material(bpy.types.Operator):
 
 class VIEW3D_OT_assign_material(bpy.types.Operator):
     '''assign a material to the selection'''
-    bl_idname = "assign_material"
+    bl_idname = "view3d.assign_material"
     bl_label = "MW Assign Material"
     bl_options = {'REGISTER', 'UNDO'}
 
@@ -528,7 +528,7 @@ class VIEW3D_OT_assign_material(bpy.types.Operator):
 class VIEW3D_OT_clean_material_slots(bpy.types.Operator):
     '''removes any material slots from the 
     selected objects that are not used by the mesh'''
-    bl_idname = "clean_material_slots"
+    bl_idname = "view3d.clean_material_slots"
     bl_label = "MW Clean Material Slots"
     bl_options = {'REGISTER', 'UNDO'}
 
@@ -542,7 +542,7 @@ class VIEW3D_OT_clean_material_slots(bpy.types.Operator):
 
 class VIEW3D_OT_material_to_texface(bpy.types.Operator):
     ''''''
-    bl_idname = "material_to_texface"
+    bl_idname = "view3d.material_to_texface"
     bl_label = "MW Material Images to Texface"
     bl_options = {'REGISTER', 'UNDO'}
 
@@ -556,7 +556,7 @@ class VIEW3D_OT_material_to_texface(bpy.types.Operator):
 
 class VIEW3D_OT_select_material_by_name(bpy.types.Operator):
     ''''''
-    bl_idname = "select_material_by_name"
+    bl_idname = "view3d.select_material_by_name"
     bl_label = "MW Select Material By Name"
     bl_options = {'REGISTER', 'UNDO'}
     matname = StringProperty(name = 'Material Name', 
@@ -575,7 +575,7 @@ class VIEW3D_OT_select_material_by_name(bpy.types.Operator):
 
 class VIEW3D_OT_replace_material(bpy.types.Operator):
     '''assign a material to the selection'''
-    bl_idname = "replace_material"
+    bl_idname = "view3d.replace_material"
     bl_label = "MW Replace Material"
     bl_options = {'REGISTER', 'UNDO'}
 
diff --git a/space_view3d_panel_measure.py b/space_view3d_panel_measure.py
index b8249cd72af059ea4ee0d587062ede10f54b90c4..0d4501c8985cb3e94a52be45cde7e6ff33e10aa0 100644
--- a/space_view3d_panel_measure.py
+++ b/space_view3d_panel_measure.py
@@ -691,9 +691,7 @@ def draw_measurements_callback(self, context):
 
 class VIEW3D_OT_display_measurements(bpy.types.Operator):
     '''Display the measurements made in the 'Measure' panel'''
-    # Do not use bl_idname here (class name is used instead),
-    # so the callback can be added easily.
-    #bl_idname = "view3d.display_measurements"
+    bl_idname = "view3d.display_measurements"
     bl_label = "Display the measurements made in the" \
         " 'Measure' panel in the 3D View."
     bl_options = {'REGISTER'}
diff --git a/system_icon_get.py b/system_icon_get.py
index c07246aed6cd236e856be84a1124716bfdc03322..f98bc358a62eabd69e3b03dbd2066c2e73fac825 100644
--- a/system_icon_get.py
+++ b/system_icon_get.py
@@ -56,6 +56,7 @@ class IconProps(bpy.types.IDPropertyGroup):
 
 
 class WM_OT_icon_info(bpy.types.Operator):
+    bl_idname = "wm.icon_info"
     bl_label = "Icon Info"
     bl_description = "Click to copy this icon name to the clipboard"
     icon = bpy.props.StringProperty()