ShellMenu is a fallout 4 inspired Menu system written in python, configured with a single JSON file.
- make
- python3.5 or greater
- pip for python3.5 or greater
- unzip
- wget
After installing all dependencies use pip to install the package netifaces:
sudo pip install netifaces
Then use make to run the installation:
sudo make install
To start just run the following command in your terminal:
shell-menu
Within the menu you can open a help prompt using the h key. You can reload using the r key. You can edit your current config by pressing c and you can execute terminal commands using the t key. To exit the menu press q or ESCAPE. You can navigate throu the menu using the arrow keys or W,A,S,D. Some keys like ENTER, d or KEY_RIGHT have the same functions. Here is a table of the keylayout:
Key | Function |
---|---|
h | Show Help |
w | Up |
Arrow Up | |
s | Down |
Arrow Down | |
Enter | Confirm selection |
e | |
d | |
Arrow Right | |
TAB | Go Back |
a | |
BACKSPACE | |
Arrow Left | |
q | Exit ShellMenu |
x | |
ESCAPE | |
t | Execute command |
c | Edit configuration |
r | Reload Menu |
H | Show --help for selection |
The configuration is stored entirely in a JSON file. The following explanation assumes that you have basic knowledge of the JSON syntax. If that's not the case have a look at the folowing link: w3schools JSON syntax
If you want to add a command option to your menu (for example opening htop) you just have to add a key with a string value to your JSON object. The key will be shown inside the menu and the string value will be the command executed.
"Open htop": "htop"
After completing the execution of the command the menu will reopen by default.
If you wish the command to wait until you press enter end the command with the string &read
all lowercase no whitespaces.
"Show Datetime": "date&read"
bla bla bla