-
In the continuously evolving world of programming, the number of aspiring developers is only increasing.
-
To encourage the pursuit of software engineering, the provision of a smooth shell programming experience for beginners as well as experienced programmers with a user-friendly and efficient terminal shell is essential.
-
This project aims to design a terminal shell that focuses more on user interface and optimized commands to cater to the needs of a larger group of programmers that don’t want to use the same old bland terminal shells.
Everyone starts somewhere. But no one wants to start with a black and white command prompt terminal that is difficult to learn with.
When we ourselves were novices in the programming field, we would have certainly preferred to have a clear understanding of how to work around a terminal shell. In fact, even now, who doesn’t want a nicer programming experience?
Starting as only a baseline for the project, we foresee this terminal design having a larger scope with several features to optimize the user experience. After a few test runs, we will be able to gain more insights and feedback to upgrade the design even further.
-
Window made using tkinter with components from customtkinter.
-
Contains a button to run the inputted commands and a help button to display preprogrammed commands and their descriptions.
-
Contains a button to toggle between dark and light mode.
-
Terminal View: Main window of the terminal.
-
Command is extracted from the command line and processed to provide an output in the terminal window.
-
History View: Previously run commands are stored here using an array
-
Help window: Comprehensive documentation explaining each command line function with their respective usages.
-
Directory: Contains a sub window to display the current working directory
-
Widgets to display dynamic CPU and memory utilisation metrics. Additionally, multithreading is used to provide concurrency
-
Scalability: Scope for addition of customisable commands to suit the user’s personal requirements
Terminal (command-line) programming seems dry, but it remains highly relevant in the software realm.
-
Terminal programs are universally compatible across different operating systems.
-
Scripting is done best on terminal shells and this design helps programmers have an amazing experience with it.
-
This terminal design greatly improves the comprehensibility of shell programming.
-
Learning curve smoothened for beginners and terminal programming is more appealing.
-
This terminal also appeals to advanced programmers with many more features, metric displays and customizations.
-
The elegant design and potential customization just contributes to an overall improvement in user experience.
- Command-line engineering is a crucial skill and being familiar with necessary commands is invaluable. With the help of easy comprehension and a command helpdesk available in the terminal, it is easy to get familiar.
Please refer to the file 'TermEZ Final PPT' for a detailed look into this project including low level design, modules and function set.
-
Sriram B. Swami
-
AO Navin Kumar
-
Meghna Varma