atom-community / atom-community/terminal

Add UI for switching to open terminals

Open
#35 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
JavaScript
Stars
18
Forks
3
PR merge metrics
No merged PRs in 30d

Description

It would be nice if we add a dropdown that shows all the open terminals and allows to switch to them (bring them to focus), by clicking on the drop-down entries.

This is a little similar to VsCode's terminal dropdown, but the difference is that I want the terminals to be kept in separate Panes (non in one pane). We just need to focus on them.
![image](https://user-images.githubusercontent.com/16418197/97760040-4f3f4b80-1ad0-11eb-8080-4d2f7104a5aa.png)

We can use Terminus's terminal manager for this work. That one also solves the issue of consistent dock buttons (closing/opening terminals quickly). This is actually a better approach than the dropdown. It will be nicer and take less space.
![image](https://user-images.githubusercontent.com/16418197/97760597-82cea580-1ad1-11eb-9da6-c169795e966d.png)

https://github.com/bus-stop/terminus/blob/master/lib/status-bar.js

Currently, I keep all my terminals in the bottom dock, but it is hard to know which open project has a terminal already open. When I close the dock, I tend to forget that there has been a terminal open.

Contributor guide

Open the contributing guide

Research direction

Start by reading Terminus's lib/status-bar.js, which the issue identifies as the reference for terminal-manager behavior, then inspect this package's existing terminal and dock UI entry points. Done means users can see open terminals, focus a selected terminal in its separate pane, and use consistent controls to open or close terminals.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.