beg: graphical tools starter
(taken out of #19)
If there are custom tools and widgets which require a gui framework, the be command can't be used as it is not pulling in any support for it. Of course it could, but then it would always have requirements that are more expensive (and which would not exist on travis for instance).
A graphical version of be should exist, which pulls in GUI frameworks.
the 'beg' commandline tool
beg is in all aspects the same as be, but with support for graphical interfaces. g was chosen as it nicely corresponds to the 'g' in graphical, and makes a very memorable word that could be considered a somewhat funny wordplay.
A sample invocation would look like this:
beg @/projects/a launch
Any subcommand registered with beg must by definition pop up some sort of graphical user interface. It is, however, absolutely valid to have the subcommand accept options to help configure the gui.
the 'bex' commandline tool
x stands for anything, as this is a placeholder for any suffix that differentiates the be command by the interpreter it uses.
For instance, a beb tool could be configured to launch blender's python interpreter, which allows to perform various data transformation tasks from the commandline easily.
graphical program launcher
The first beg subcommand shall be launch, which will bring up a single-window launcher widget.
In a first version, it should be valid to enforce CWD or @syntax to set the context, but in the second version, it should look out for context providers which allow the user to change the context dynamically.
The tool looks pretty much like this:
+-----------------------------+
| [Context Selector] |
| |
+-----------------------------+
+-----------------------------+
| [Executable List] |
| +-----------------------+ |
| | Executable 1 | |
| | | |
| +-----------------------+ |
| +-----------------------+ |
| | Executable N | |
| | | |
| +-----------------------+ |
| |
+-----------------------------+