     @applyHiddenWidth()
     @applyDoAnimate()
     width = treeViewEl.querySelector('.tree-view').clientWidth
-    if width > treeViewEl.clientWidth > @getHiddenWidth()
+    if width > treeViewEl.clientWidth > @getSetting 'hiddenWidth'
       noDelay = true
-    transitionDelay = !noDelay * @getShowDelay()
+    transitionDelay = !noDelay * @getSetting 'showDelay'
     treeViewEl.classList.add 'autohide-unfolded'
     treeViewEl.style.transitionDelay = "#{transitionDelay}s"
     treeViewEl.style.width = "#{width}px"


  applyDoAnimate: (doAnimate) ->
    return unless @enabled
    doAnimate = doAnimate?.newValue ? @getDoAnimate()
    treeViewEl.style.transitionDuration = "#{!!doAnimate * .3}s"

  applyHiddenWidth: (width) ->
    return unless @enabled
    width = @getHiddenWidth() if isNaN parseInt width
    treeViewEl.style.width = "#{width}px"

  applyPushEditor: (pushEditor) ->
    return unless @enabled
    if pushEditor
      treeViewEl.style.position = 'relative'
      treeViewEl.parentNode.style?.width = 'auto'
    else
      treeViewEl.style.position = 'absolute'
      treeViewEl.parentNode.style?.width = "#{atom.config.get 'autohide-tree-view.hiddenWidth'}px"

  getDoAnimate: -> atom.config.get 'autohide-tree-view.animate'

  getShowDelay: -> atom.config.get 'autohide-tree-view.showDelay'

  getHideDelay: -> atom.config.get 'autohide-tree-view.hideDelay'

  getHiddenWidth: -> atom.config.get 'autohide-tree-view.hiddenWidth'

  enableHoverEvents: -> treeViewEl.classList.add 'autohide-hover-events'


  hide: (noDelay) ->
    return unless @enabled
    @applyDoAnimate()
    transitionDelay = !noDelay * @getSetting 'hideDelay'
    treeViewEl.classList.remove 'autohide-unfolded'
    treeViewEl.style.transitionDelay = "#{transitionDelay}s"
    @applyHiddenWidth()
