Exit Full View

ToolApp

ToolApp is half way house between a traditional GUI and command line tools. It contains a set of disparate tools, which can all work together within a single tabbed GUI application.

It includes a file manager, a text editor, a git tool, a terminal, a front end for "grep"...

You could argue that it is a jack of all trades and master of none. However, the real benefits of ToolApp become apparent when you start customising it.

Every tool has one thing in common, they have "Options". An option is typically a 1 or two character code, which is used to run a script or a "Task". Typically a script is just just a single line of code, but could be much longer. A "Task" is similar to a command line program, but instead of having to remember the command line options, Task can be prompted in a graphic manner, and their parameters are checked before the task is executed.

For more information, head over to : http://nickthecoder.co.uk/wiki/view/software/ParaTask

Build

There is a dependency on terminalfx, which I found tricky to include within this project. I am using Debina Buster, which uses OpenJDK version 11 by default, and I like using Debian's defaults. However the pre-packaged terminalfx packages use Java version 17. So, I compiled it from sources :

git clone https://github.com/rahmanusta/TerminalFX
cd TerminalFX

# Edit pom.xml, and change the line :
#    <javafx.version>17</javafx.version>
# to
#    <javafx.version>11</javafx.version>

mvn clean install

Now we are ready to compile toolapp (using mavenLocal for TerminalFX dependencies)

git clone https://gitlab.com/nickthecoder/toolapp.git
cd toolapp
./gradlew

To start ToolApp run the "toolapp" script within the build's bin folder.

./build/install/toolapp/bin/toolapp