   componentDidUpdate: (prevProps, prevState) ->
     cur = (new Date()).getTime()
     console.log "the cost of tab-module's render: #{cur-@nowTime}ms" if process.env.DEBUG?
-  renderPlugins: async ->
+  cachePluginList: async ->
     plugins = yield PluginManager.getValidPlugins()
     plugins = plugins.filter (plugin) ->
       plugin.show isnt false
     plugins = _.sortBy plugins, 'priority'
-    tabbedPlugins = plugins.filter (plugin) ->
-      !plugin.handleClick?
     if @isMounted()
       @setState
         plugins: plugins
-        tabbedPlugins: tabbedPlugins
-  handleToggleDropdown: ->
-    dropdownOpen = !@state.dropdownOpen
-    @setState {dropdownOpen}
   selectTab: (key) ->
     return if !key?
     event = new CustomEvent 'TabContentsUnion.show',

    @selectTab key
  handleSelectDropdown: (e, key) ->
    @selectTab key
    @selectTab 'plugin' if !@state.doubleTabbed
  handleSelectMenuItem: (e, key) ->
    e.preventDefault()
    if @state.doubleTabbed
      @setState
        pluginKey: key
    else
      @setState
        key: key
        pluginKey: key
  handleCtrlOrCmdTabKeyDown: ->
    @selectTab 'mainView'
  handleCtrlOrCmdNumberKeyDown: (num) ->

      Boolean)[0]

  setNewKey: (nxtKey, force=false) ->
    nxtChild = @findChildByKey nxtKey
    if !force
      nowKey = @state.nowKey || @props.children[0]?.key
      return if (nowKey && nxtKey == nowKey) || !nxtChild
    @setState
      nowKey: nxtKey
    @props.onChange? nxtKey
    nxtChild.props.onSelected? nxtKey

  activeKey: ->
    @state.nowKey || @props.children[0]?.key
