First post, by ales
Greetings to everyone in this wonderful forum.
I came here to share a little program which I decided to hack together to help me easily launch programs in DOS.
These are the main points describing its functionality, and maybe setting it appart from other similar utilities:
- Responsive interface
It scans your (potentially slow) hard drive while you type the name of what you are looking for.
As you type, the scanned items are filtered based on your input. You can confirm your selection at any time. - Zero configuration required
In its simplest use case you just run it from the directory where you store your executables and it puts them all in a list for you to choose from. - Advanced scenarios
While you can use it without any special setup, you can also configure the menu to work for a particular use case.
There is special support for .BAT files where you can provide a title on the first line of the file prefixed with a double colon (::).
Since you can tell the launcher where to look for the executables, you can build customized menus by creating directories with batch files that run the things you want.
The batch files can naturally be crafted to perform any necessary setup before running your program/game, and clean up after it finishes. I have successfully used this approach to slow down the CPU for certain games, or mount a virtual CD-ROM drive when it's required. - Select only mode
Right now the launcher has been a quick hack and takes up a fair amount of memory by itself (~30 kB). I do free almost all of the dynamically allocated resources prior to launching the selected program but the size of the launcher itself can be prohibitive for running many games and demos.
For this reason I added a select only mode where instead of launching the selected program it outputs the full path to it. This can be consumed by the parent process (like a batch file) to actually run the program after the launcher exits and doesn't consume memory anymore. Currently this is my preferred way to use it actually.
Even though this is the first release I already have plans for some improvements (if time permits).
Hopefully it's going to be useful for someone else too.
The binary (built for i386) and source code are available on GitHub: https://github.com/alespergl/slr/releases/tag/v0.1