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 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 a toolbar button or by running a script command, which can be assigned to a hotkey 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 instructions on how to initiate OpenWithMode.
- 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 Affinity Photo instead of the executable's actual name, Photo. (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 really 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.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.
If you use the PortableApps Launcher, you can copy-paste the same key:value pairs that are saved in
PortableAppsMenu.ini
into ChildLauncher's .ini. Useful for if you've already hidden/renamed files in the PortableApps Launcher.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 v3.0+, prior configuration files are not supported. Start fresh.
Changelog
Code: Select all
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) 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.
Method 2) Run Script: This is useful if you would like to assign a keyboard shortcut to start ChildLauncher in OpenWithMode, or if you want to use OpenWithMode in the CFA menu for unknown file-types ("ChildLauncher"*>{OpenWithModeCommand}).
Run the command below to start ChildLauncher in OpenWithMode
::perm $P_CHILDLAUNCHER_OPENWITHMODE = "true"; load "<xyscripts>\ChildLauncher\ChildLauncher.xys";
+ 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