This version is now abandoned in favor of the new version UniShellect V2.
I will keep this here, but no support will be provided.
Build |
Status |
---|---|
Wed 07 Sep 2022 08:49:35 PM UTC
The new version is now avalable here.
Tue 06 Sep 2022 05:34:50 PM UTC
The new version is finished and will be released officially very soon as I'm currently working on the new repository. For now there are stable pre-released builds there, but they are not official yet. You can find the new project here.
Sun 25 Apr 2021 03:00:53 PM CDT
This program works fine as is, but my JSON structure is nonsense and I want to re-write this in C++ and Rust (maybe) and so I plan to do so at some point this year.
Re-writes in both C++ and Rust adding better cross-platform capability with plans to add the ability to add and remove items from the configuration file via the command line (switches and arguments).
- News
- Table of Contents
- About This Project
- Motivation
- Usage
- Files
- Project Links
- Media
- Support Me If You Like
- License
- Project Information
This tool parses a JSON config file and loads a highly customizable menu of shells, interpreters, files, commands and possible arguments into any command line interface.
Various config files can be loaded and this can be great for laoding various menus based on various criteria: E.g. project menus, work menus, game menus etc...
This is a cross-platform FOSS
project.
I work and play in all sorts of command line environments in both Windows and Linux and this helps me organize and navigate that world more effeciently and smoothly.
This is inspired by the hyper-shellect
plug-in for the Hyper
terminal which is dependent on node.js
.
This is a command line tool built for use in many different types of shells and terminals in Windows and Linux. It is meant to be a universal alternative to hyper-shellect
with additional features (loading different configs, passing arguments, and error handling).
Use any way you can use any other command line tool/executable: from a command line or other executable program or script.
In Windows
you can just double click to open in cmd or run in a command line, but in Linux
you might need to set the programs permissions to executable:
Make executable for yourself:
$ chmod u+x /path/to/unishellect
or:
Make executable for for everyone:
$ chmod 755 /path/to/unishellect-x86_64.AppImage
or:
$ chmod a+x /path/to/unishellect
$ unishellect --help
USAGE: unishellect [OPTIONS [CONFIG_FILE]...]...
Load a menu of shells/files from any CLI...
OPTIONS:
-h,--help This help message.
-c,--config Load an alternate config file.
-s,--supress Supress errors.
CONFIG_FILE: unishellect -c "/path/to/file.json"
Load an alternate config file.
The default config file: "unishellect.json"
should be created in the user's HOME
directory.
ERRORS:
0 No errors.
1 Passed config file does not
exist.
2 Could not create config
Directory.
3 Could not create default
config file.
4 Not items found in the config
file.
5 A key was not found in config.
6 Error running command.
The default JSON
configuration file: unishellect.json
will be created in the corresponding %AppData%\UniShellect\
or .config/UniShellect/
directory in Windows
and Linux
respectively on first run if no -c
option has been passed with an alternate configuration file.
By default the configuration file is empty and you must add your own options.
Operating System | Default Config Path |
---|---|
Windows | %AppData%\UniShellect\unishellect.json |
Linux | $HOME/.config/UniShellect/unishellect.json |
{
"Shells": {
"1": {
"Title":"Python 3",
"Path":"python3",
"Args":"-q",
},
"2": {
"Title":"GNU Screen - Temp",
"Path":"screen",
"Args":"-S Temp",
},
"3": {
"Title":"Edit this menu",
"Path":"vim",
"Args":"${HOME}/.config/UniShellect/unishellect.json",
}
}
}
{
"Shells": {
"1": {
"Title":"Python 3",
"Path":"python3",
"Args":"-q",
},
"2": {
"Title":"PowerCore",
"Path":"C:\\Program Files\\PowerCore\\7.0\\pwsh.exe",
"Args":"-NoLogo",
},
"3": {
"Title":"Edit this menu",
"Path":"vim",
"Args":"%AppData%\\UniShellect\\unishellect.json",
}
}
}
File | Description |
---|---|
Source Files - All | Complete project - no compilations. |
File | Description |
---|---|
Source Files | Linux source - no compilations. |
Compiled | Compiled binary executable with no dependencies. |
AppImage | Single executable with all dependencies. |
File | Description |
---|---|
Source Files | Windows source - no compilations. |
Compiled | Compiled binary executable with no dependencies. |
The current released compiled binary executables. These should correlate to the above compilations, but just in case these are the "official" current releases.
File | Description |
---|---|
Linux - EXE | Linux source - no compilations. |
Linux - AppImage | Packaged AppImage with all dependencies. |
Windows - EXE | Single executable with all dependencies. |
Link | Description |
---|---|
Official Project Page | The themed version of this page. |
Project Page | This repository page. |
Current Releases | The release files in "Continuous Build". |
If you like this project and care to donate to my PayPal:
Or Buy Me A Coffee if your prefer:
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Description | Status |
---|---|
Project Release Date | |
Total downloads for this project | |
Complete repository size | |
Commits in last month | |
Commits in last year |
Description | Status | Number of Downloads |
---|---|---|
Latest Release version | ||
Latest Tag version, possible Pre-Release's |