MenuModeが大体出来たので公開してみる。
MenuMode

拡張子別に実行ファイルを選べたり、コマンドを階層メニューの中から選んだり出来るようになります。バグがあったら報告お願いします。改良して欲しい所も受付中。

MenuMode普及推進週間ということで,nakayatoさんとこで話題になっていたメニューからスタックされているモードを選ぶ方法をMenuMode使うとこんな感じ.

def SetMode(name):
    import clmode
    if clmode.Top().__class__.__name__ == 'MenuMode':
        PopMode()
    for n, mode in enumerate(clmode.mode_stack):
        if mode.__class__.__name__ == name:
            mode = clmode.mode_stack.pop(n)
            PushMode(mode)

def SelectMode():
    import os.path, clmode_menu, clmode
    list =[]
    omit_mode =['BaseMode'] #表示しないモード
    for mode in clmode.mode_stack:
        mode_name = mode.__class__.__name__
        if omit_mode.count(mode_name)==0:
            list.append((mode_name, mode_name, u"SetMode('%s')" %mode_name))
    args = {'SetMode':SetMode}
    menu = menu = clmenu.ParentMenu(item_list=[])
    menu.AddMenuItem(list)
    PushMode(clmode_menu.MenuMode(menu, args=args))
SetKeyDownHandler( ord('M'), MODKEY_CTRL|MODKEY_ALT, SelectMode )