Folder/Tree view in the right side of the screen


#1

HI everyone,

I don’t know if this option is still available (it seems 2 years ago it was).
If it is, could anybody let me know how to place the Tree view in the right side of the screen?
(Else) if it’s not, it would be a useful feature, specially for people who work with 2 monitors.
Thanks in advance,

Eduardo


#2

To enter the settings for a specific package do the following:

  1. Open the settings view, file menu -> settings.
  2. Click on the packages tab on the left side of the settings view.
  3. Search for tree-view.
  4. Click on settings and check the Show On Right Side checkbox.

#3

I find no ‘settings’ in file, within the menu bar.
I’m using version 1.9.8 in Ubuntu 14.04.


#4

On Linux it’s Edit -> Preferences.


#5

Awesome, thank you!
Sadly, the solution doesn’t work for me since it shows it on right side of both open Atom windows (and the point of my question was being able to place it on left side in my left monitor and on right side in my right monitor, so that I can have 2 opened Atom windows with 2 tree views, but all the code in the ‘center’).


#6

You know what would work, though? Clone the tree-view repo and use apm install inside that directory to get its dependencies. Then use apm link -d to create a symbolic link from your .atom/dev/packages directory to where the source is, and set your cloned package to display on the right. You can then always open the right (or left, whichever) window in dev mode, in which case the cloned tree-view would be loaded instead of the one packaged inside Atom.


#7

There is an open issue asking for the exact same thing https://github.com/atom/tree-view/issues/878


#8

I’ve managed Atom to recognize the cloned package, but I don’t know if due to the name or something else, it’s recognized as the same one so if I set it to be displayed on the right, the original one changes too.


#9

Oh well, then I guess it’s not that simple. Looking at the package source, I can see why. They’re both referencing atom.config.get('tree-view.showOnRightSide'). So you have two options, either change the name of the cloned package or just delete a couple of those lines so that the cloned package always shows on the right (or left) side regardless of what the setting is.


#10

I’ve tried both editing lines 171-175 & 244-248 (didn’t know what to do with 28, I’m completely new to this language) and changing the name in package.json, and I haven’t been able to get it to work as desired. Excuse my ignorance.


#11

If you want help with your code, you need to share what you’ve written. But I can tell by the line numbers you mentioned that you’re way overthinking it. Look at this:

    @panel ?=
      if atom.config.get('tree-view.showOnRightSide')
        atom.workspace.addRightPanel(item: this)
      else
        atom.workspace.addLeftPanel(item: this)

That says, “When the panel is generated, check tree-view.showOnRightSide. If it exists, then put the panel on the right side. Otherwise, put the panel on the left side.” The solution is not language-specific. All you need to do is eliminate the conditional.

    @panel ?=
      atom.workspace.addRightPanel(item: this)

Now it knows exactly which function to use because there is no question. You should also undo the other changes, in case you introduced anything that messes up how it works.


#12

I was referring to the original lines, I deleted (I assume) correctly the conditional in both parts it appears atom.config.get('tree-view.showOnRightSide'), except in line 28 (no immediate solution there):
@panel ?= atom.workspace.addRightPanel(item: this)
and
width = @outerWidth() + @offset().left - pageX @width(width)

Now, if I don’t change the name of the package, It’s still linked to tree-view (choosing right side in one changes right side in the other one)
If I do change it, no ‘settings’ options appear in the package to be able to select ‘Right side’


#13

Without the conditional under @panel, that shouldn’t happen. Did you reload Atom after you removed it?


#14

I’m afraid we are missing something. After doing:

apm install
apm link -d

and after reloading Atom:

  • If not in dev mod, both custom and original tree-view packages are linked, and the tree view is shown wherever you choose in both of them.
  • If dev mode, tree-view is on the right side no matter what it’s selected in both custom and original, although both packages are still linked (if right side is chosen in one, it’s automatically chosen in the other one), although the selected option has no effect.

So a solution I could now use is to work with a dev window and a non-dev one (thank you!) but I’m afraid both packages are still linked and the difference is working in dev mode or not.


#15

That’s what I had intended. The more complicated option would be to rename every command and config option to create a duplicate package that doesn’t interact, but that would be more work. This way, you can open one dev mode window and put it on the right and one normal window and put it on the left.

This has the added benefit (in my mind) of giving you a spatially organized system for working with developer mode versus normal mode. If you do any package development, developer mode is important and sometimes you need to work simultaneously in both modes in order to develop and test. Even if you don’t, you can use the setup to load certain packages into your dev mode window (by placing them in .atom/dev/packages or linking them with apm link -d) and keep them out of your normal one.


#16

Understood, thanks again for your help @DamnedScholar!