Non text buffers



Currently it seems that only Text Buffers show up in the Atom list of open buffers. If you have other types of panes open (e.g. Settings Window, a terminal buffer, search results) they don’t show up in the buffer list.

I’m wondering the reasoning behind this. It seems to make it harder to navigate via the keyboard. For example, I’d like to have a bunch of atom-term3 terminals open and navigate between them (and ideally rename them but that’s another feature), or be able to return to a Settings window I just had up or search results (yes, I’m an emacs refugee ;-).

Is there any plan to generalize the idea of a buffer list. I tried writing an extension but it seems like the API right now doesn’t give non text buffer panes names.

Am I thinking about this wrong?


I guess it depends on what you mean by a “buffer list”. To me, the Settings View isn’t a “buffer”. In my mind, a buffer is an abstract representation of a file to be edited. For a text editor like Atom, this is almost exclusively a text file. As I stated in this previous topic:

that I use the term “view” for the abstract concept of “the thing being displayed inside a tab (or pane if you have the tabs package disabled”. Atom refers to them as “pane items” in the API documentation.

In some ways, perhaps. For example you say:

Emphasis mine. What does it mean to “rename” a terminal? What does it mean to “rename” a Settings View? What does it mean to “rename” a Markdown Preview? Renaming is something you do to a file on disk and doesn’t really apply to say a Git history graph. This idea that “everything is a chunk of text” comes from the character-mode interface of vi and Emacs. Because Atom is built on web technologies, not everything is a chunk of text … we can represent things in much more flexible and innovative ways. And some of these representations may not even have a file in a file system to go with them. So I think getting away from the “buffer” idea might be a good first step?


I’m not too worried about the terminology.

The reason one might want to rename a non-text “pane” is to facilitate navigate.

For example, when using emacs I’d open several terminals and rename them to describe what I’m using them for (the renaming them doesn’t effect them in anyway, its just a tag for navigating to them). I can then easily navigate between them in the same way you can navigate between open text buffers as well (i.e. fuzzy matching etc.). I found it a powerful way to quickly navigate between lots of different panes.

Atom also has powerful pane selection tools, but these only apply to text buffers which seems limiting.


Every tab has a title. Perhaps that’s where you should be getting the name from?