       @stop()
 
   shouldBeAttached: ->
-    # TODO: Remove this after atom/atom#13977 lands in favor of unguarded `getCenter()` call
-    (atom.workspace.getCenter?() ? atom.workspace).getPanes().length is 1 and not atom.workspace.getActivePaneItem()?
+    @workspaceCenter.getPanes().length is 1 and not @workspaceCenter.getActivePaneItem()?
 
   start: ->
     return if not @shouldBeAttached() or @interval?

    @index = -1

    @disposables = new CompositeDisposable
    @disposables.add atom.workspace.onDidAddPane => @updateVisibility()
    @disposables.add atom.workspace.onDidDestroyPane => @updateVisibility()
    @disposables.add atom.workspace.onDidChangeActivePaneItem => @updateVisibility()

    @startTimeout = setTimeout((=> @start()), @StartDelay)


    @element.innerHTML = Template
    @message = @element.querySelector('.message')

    paneView = atom.views.getView(@workspaceCenter.getActivePane())
    top = paneView.querySelector('.item-views')?.offsetTop ? 0
    @element.style.top = top + 'px'
    paneView.appendChild(@element)
