Skip to content
This repository has been archived by the owner on Mar 4, 2022. It is now read-only.

Idea: Multiple tabs #7

Open
blakeembrey opened this issue Oct 12, 2016 · 1 comment
Open

Idea: Multiple tabs #7

blakeembrey opened this issue Oct 12, 2016 · 1 comment

Comments

@blakeembrey
Copy link

blakeembrey commented Oct 12, 2016

Really nice work! I'm just opening this issue to submit an idea.

For applications that maybe have multiple processes running, what do you think about enabling tabs? Perhaps each application running could register itself to a display name and you could toggle between them using numbers. I could imagine spawning child processes that might render a new tab and then when it closes the tab disappears. Also for use with projects like https://github.com/strongloop/node-foreman, where you might have two process (web/worker) running and want to run them together.

Some ways it may work:

  • Pass a name on require, but this would break the current child.stdout approach (it might need to monkey patching process stdout instead)
  • Pass a flag to nodejs-dashboard --new-tab web that'll use the parent dashboard process to attach to it (this would likely mean a new tab results in two tabs - one for the overall process, one for the new tab child)
@jasonwilson
Copy link
Contributor

Thanks for the feedback @blakeembrey! I've been thinking about different architectures for handling cluster mode and or workers. Decoupling the child from the dashboard would allow for greater control but would create challenges for stdout, as you note. Leveraging the existing infrastructure in cluster might solve some of these problems.

https://github.com/chjj/blessed certainly has support for input and multiple screens so it'd just be a matter of coming up with a reasonable design.

Once I have some spare cycles I'll look into prototyping a few different approaches.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants