akonwi / git-plus

vim-fugitive like package for atom. make commits and other git things without the terminal
MIT License
537 stars 163 forks source link

[REQUEST] Option to disable restoring output view #787

Closed Frk7 closed 5 years ago

Frk7 commented 5 years ago

Is it possible to not create the split pane (or dock as it seems to be called) at Atom startup? I have multiple rows (tab groups) of open files in the editor and the pane's toggle arrow at the bottom is annoying, so I have to destroy (with the cross icon of the 'Git+' tab) the dock manually every time.

Also the pane is empty: split pane

akonwi commented 5 years ago

That looks like the output view. It's a view that's serialized and restored across window sessions. If you close it and don't open it again, it shouldn't be restored automatically. Is that the case?

Frk7 commented 5 years ago

That looks like the output view. It's a view that's serialized and restored across window sessions. If you close it and don't open it again, it shouldn't be restored automatically. Is that the case?

Yes. it's the output view, it's restored when you open a new window or when you close and reopen Atom. It wuold be nice to have a setting to create it or not on startup. I can always click on git+ on the status bar or set a keyboard shortcut to show the output when I need it.

akonwi commented 5 years ago

Since this is really an artifact of how atom serializes and deserializes workspaces, I'd suggest the manual band-aid for now until the setting is added, which is to keep that bottom dock closed and toggle it when you want. The window should only be restored to the way it was before it was torn down. So if the dock was open, it will be open at the next startup of that same set of project folders.

Pull requests are welcome by the way 😄

Frk7 commented 5 years ago

I've not been very clear. I meant the split pane's creation (including the toggle arrow) not the closed/open state 😅 I don't even want to see the toggle arrow to open the split pane after Atom startup beacuse for me it's annoying to have it there, so I have to remove the entire pane by clicking on the cross button of the only existing 'Git+' tab. I updated the issue title and my comments.

akonwi commented 5 years ago

Oh now I see. So atom calls those toggle-able panes, docks, and when I read split-pane, I thought you were saying new tabs are being created in the center of the workspace.

Here's a gif demonstrating the dock serialization behavior I see. If yours is doing something else, then I'd like to know why.

docks

If your dock behavior is the same, then my suggestion to just keep the dock closed and toggle it when you need to should solve your problem for now.

Frk7 commented 5 years ago

The problem is that i don't want the dock to be created if destroyed before (i can click on git+ on the status bar if I want to create it) because the toggle arrow annoys me (reason in my 1st post).

If I close the last tab in the dock and the dock is destroyed, I want it to stay destroyed (so no toggle arrow has to be present in the window) after reloading the window.

I think in code the dock's view is OutputViewContainer. So I would propose to add a setting (like notAutocreateDockAtStartup) or to check the last state == destroyed (or both), e.g. at creation time:

if (this.outputView === null && GitPlusSettings.notAutocreateDockAtStartup
    && lastOutputViewState === 'destroyed') {
  // outputView remains null
} else {
  this.outputView = new OutputViewContainer();
}