Introduction
If you're like me, you might have your XYplorer folder alongside other portable programs. A folder structure that looks something like this...
Code: Select all
PortableApps\
FireFoxPortable\
FireFoxPortable.exe
GitBashPortable\
GitBashPortable.exe
XYplorer\
XYplorer.exe
Features
- Display and run scripts: Display and run scripts alongside your applications. This opens up all kinds of possibilities for using ChildLauncher as not only a program launcher, but also as a convenient script launcher. See the v4.0 [11/25/2025] update for instructions and examples on getting started.
- Display additional programs: Not all your programs will be in a sibling folder, some may be in different locations, such as the Program Files folder. In these cases, you can specify the location of that program and it will appear in the ChildLauncher menu, right alongside the sibling programs. (As seen with the Affinity programs in the screenshot above)
- OpenWithMode: Instead of just starting the selected program, use it to open the currently selected file(s). You can start OpenWithMode from either the ChildLauncher interface, a toolbar button, or by running a simple script command, which is useful when assigned to a hotkey/button for quick access. The script command can even be used in the CFA menu, where it works great as a catch-all for unknown file-types. See the v2.0 [05/18/2022] update for details.
::perm $P_CHILDLAUNCHER_OPENWITHMODE = "true"; load "<xyscripts>\ChildLauncher\ChildLauncher.xys";
- Hide executables: Not all executables are meant to be started directly. Hide programs such as XYCopy.exe from being displayed.
- Change display names: Some executables aren't named how we would like to see them. Easily define name changes, such as displaying Calculator instead of the executable's actual name, Qalculate. (As seen in the screenshot above)
- Custom program icons: Sometimes the icon of a program isn't the one we recognize/prefer. If you'd like to change it, you can easily specify a different icon to be displayed for that particular program.
- GUI Configuration: Prior to v3.0, configuration was done by editing a .ini in a text-editor. With current versions, interface-based configuration is possible. Add programs, change display names, set custom icons, and hide programs, all through simple prompts. The configuration options are found at the bottom of the ChildLauncher list. Other settings can still be found in the top section of the configuration .ini file.
- Remove Portable from the display name: Programs downloaded from PortableApps have the word Portable appended to their filename, which gets quite redundant... Gone.
- Large Icons: The icons in the screenshot above are 32x32. If those are too big for your liking, disable large icons to use the smaller 16x16 instead.
- Set window width/height: If the default ChildLauncher window is too big/small for your setup, you can specify in pixels what size the window should be.
Instructions
ChildLauncher is designed for users who keep their XYplorer folder alongside other programs, with a folder structure like the example above. If you've installed XY to your Program Files folder, this script won't work too well for you because of the inconstancy between folder hierarchies.
If you're using ChildLauncher for the first time, download and extract the script from the link below. Copy the ChildLauncher folder into your
<xyscripts> directory and load the script using your preferred method. The first thing I recommend doing is selecting the [ Hide Applications ] option at the bottom of the ChildLauncher list, so that you can clean-up your list and hide the .exe files that shouldn't be launched directly (such as XYcopy.exe).ChildLauncher is configured using a
.ini file, which I've included in the download. You can either configure it using the GUI options at the bottom of the ChildLauncher list, or manually using a text editor. Deleting entries can only be done manually by editing the ChildLauncher.ini file directly.This is the first script I write that's not part of a
popupnested() menu. A lot of the functionality I used is new to me and I wrote this in only a few hours. It may not be the cleanest approach, but it works! Any feedback is appreciated.Download
If upgrading to v4.0, make sure to read the release notes about why your AdditionalApps won't show up... Changelog
Code: Select all
v4.0 [11/25/2025]
! The default separator used in the [AppsAdditional] section of the config file was changed from '|' to '||'. Do a find-and-replace of the affected lines to update the separator, otherwise your additional apps won't show up. This was done to allow for better support when defining ::SCRIPT and #ID lines.
+ OpenWithMode in Menu: OpenWithMode has been added as an option among the applications, which when selected, will re-open ChildLauncher but this time in OpenWithMode. Providing the option to start OpenWithMode from the main interface seamed like the friendliest way to initiate it, but the other methods are still an option (and my preferred way of doing it)
+ Display and run '::script' and '#ID' Commands: In addition to applications, you can now add '::script' and '#ID' commands to be displayed in the ChildLauncher list. As this is advanced usage, doing this is done manually by editing the 'ChildLauncher.ini' file. Be sure to prepend scripts with '::' and ID commands with '#'...
Example: App1=XYForums||::open("https://www.xyplorer.com/xyfc/search.php?search_id=active_topics")||<xy>
Example: App2=Empty Recycycle Bin||#642||<xy>
* Code Cleanup: A good amount of code cleanup and variable renaming to allow for ::script and #ID commands
-----------------------------------------------------------------------------------------------------------------------------------------------------
v3.0 [05/21/2022]
! Previous .ini configuration files are no longer compatible with v3.0+, read this thread for more info: https://www.xyplorer.com/xyfc/viewtopic.php?f=2&t=24681
+ Configure ChildLauncher through the GUI: At the bottom of the ChildLauncher window, you'll find 4 new options; Add Application, Rename Applications, Custom Icons, and Hide Applications.
As their name suggests, they'll allow you to configure ChildLauncher through the interface. For most people, this will be a lot easier/quicker than editing the .ini in a text-editor.
! Removing Applications/Renames/Icons through the GUI is not supported nor planned. Delete the lines from the .ini using your text-editor.
Tip: To maintain portability, put your custom icons in the <xyicons> folder and then replace the path with <xyicons> when confirming the changes.
+ AppsIcons: You can now define custom program icons to be displayed in the ChildLauncher window in the [AppsIcons] section of the configuration file. Like the Rename and Hide options, custom icons only apply to sibling programs that are scanned for by ChildLauncher. For manually added programs, there was already an option to add them when configuring the .ini.
-----------------------------------------------------------------------------------------------------------------------------------------------------
v2.0 [05/18/2022]
+ OpenWithMode: This new mode will generate the same list of programs as normal, except it will append <selitems> to whatever application you choose.
This means that instead of just opening that program, the currently selected files will be opened into that program, hence the name "OpenWithMode".
You also have the option to browse your filesystem for an application, should it not be in your list.
There are 2 methods to start ChildLauncher in OpenWithMode:
Method 1) Run Script: This is useful if you would like to start OpenWithMode using custom toolbar button, a keyboard shortcut, or even in the CFA menu for unknown file-types.
Run the command below to start ChildLauncher in OpenWithMode (Hotkey/Custom Toolbar Button)
::perm $P_CHILDLAUNCHER_OPENWITHMODE = "true"; load "<xyscripts>\ChildLauncher\ChildLauncher.xys";
Put this as the last line in your CFA to use OpenWithMode as a catch-all for whenever you try to open an unknown filetype...
"ChildLauncher"; *>::perm $P_CHILDLAUNCHER_OPENWITHMODE = "true"; load "<xyscripts>\ChildLauncher\ChildLauncher.xys";
Method 2) Toolbar Button: Create a toolbar button to load ChildLauncher. Highlight the desired items in your list and then "Left-Click + Shift" on the toolbar button. ChildLauncher will start in OpenWithMode.
+ OpenWithFiletypes: New option to filter what filetypes will be displayed when selecting the "Browse for Application..." of OpenWithMode.
+ LargeIcons: New option to enable large icons (32x32).
+ Window Width/Height: New option to specify in pixels the width/height of the ChildLauncher window.
-----------------------------------------------------------------------------------------------------------------------------------------------------
v1.5 [05/17/2022]
+ Check to make sure each program defined in [AppsAdditional] actually exists. If it doesn't, don't display it in the results. This is to prevent broken links when switching between computers.
? Keys in .ini are not case-sensitive: During my initial testing, I found that retrieving key:value pairs from a .ini was case-sensitive. It must have been bad code because now they're working fine regardless of the case... ┐(゚ ~゚ )┌
* Syntax cleaning: Code was inconsistent, hard to read, and lacked commenting. Fixed.
-----------------------------------------------------------------------------------------------------------------------------------------------------
v1.0 [05/16/2022]
+ Initial release. Quick and dirty but it works... I stayed up way past my bed-time for this...
Previous Versions
XYplorer Beta Club