Status display line
Idea: a status line display at the bottom of the screen showing the path to the working directory, git branch and other relevant contextual information. Some elements might be interactable - e.g. the git branch indicator could pop up a menu to select a different branch.
Motivation
There is a lot of context state that a user using a terminal may want to track. Some examples:
- Path to working directory
- Current container or remote host
- Current git branch
- Current Python virtual environment
- Current kubernetes namespace
People typically handle this from the prompt - distributions configure a prompt by default, users figure out their own magic strings of \h
and \$(__git_ps1 \" (%s)\")
, and there are tools like powerline. But packing everything into the prompt to begin with is not ideal.
Width: if the user is using a 80-wide or even 100-wide terminal, longer command lines get squeezed/wrapped
Noise: there are usually many copies of the prompt on screen. Especially if colors and emoji are used in the prompt to distinguish different types of information, these past prompts (which have stale information) can distract from actual content.
Putting a status line at the bottom of the screen would keep this information prompt adjacent without actually needing to pack everything into the prompt. (You might want to still have a small set of information in the prompt such as the last component of the working directory.)
Implementation could be done by tracking the controlling process of the terminal and looking at its working directory and environment, and/or by shell integration such as sending control sequences from a bash $PROMPT_COMMAND.
Links
I implemented git branch tracking in PurpleEgg.