# 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 lovse 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