terminal.md 1.8 KB

Design of the terminal plugin

This document describes the design of the terminal plugin. Any significant change to the terminal plugin should also involve changes here.

Personas

Janet Tobin

An experienced data scientist with a graduate degree in a technical field and has been coding for more than 5 years in multiple languages. She is 35 years old, has a solid income, and lives in an urban setting. In the past she has used the Jupyter Notebook alongside a text editor (Sublime Text) and the Terminal app on a Mac. She loves to code and feels at home in a terminal.

Goal: Replace the usage of Mac's Terminal app, in particular when running Jupyter on a remote system.

Some things they would do in the terminal include

  • Run command line git.
  • Small amounts of general software engineering to support their data science, such as running test suites, moving files around at the command line.
  • Run vim.
  • Run command line IPython.

User tasks

Users should be able to:

  • Open a new terminal (command palette, top menu)
  • Close a terminal (UI)
  • Change the font size (bigger/smaller) (command palette, top menu)
  • Close all terminals (command palette, top menu)
  • See the name of the terminal in the dock area tab (UI)
  • Copy text from the terminal (UI+keyboard)
  • Paste text into the terminal (UI+keyboard)
  • Reconnect all terminals after a network outage (command palette)
  • Toggle between black/white and white/black (command palette, menu)
  • Copy and paste commands into the terminal (shortcut, mouse)
  • Go to different directories (commands inside terminal)
  • Access or use IPython from the terminal (commands inside terminal)

Visual Design

  • Terminal menu should follow design guidelines for all menus.
  • Terminal theme can change from black/white to white/black

Team IO: @faricacarroll @spoorthyv @charnpreetsingh185 @katiewhite360