Rated 5 stars at SnapFiles
   Shareware and Freeware

This Month's Donators R. Nine M. Theodoropoulos D. Bigelow A. Seeto A. Studentschnig (M. Giner - last month's top donator $20) ... more PayPal


Use with caution.
These public beta programs contain new fixes and new features that haven't been fully tested. I need you to tell me if you find any problems with these program or even if the changes listed work as you expect.

joejoe Jun-02-21 6:24 PM EDT

More Rename Master Tweaks


There's a small tweak to the Remove/Replace Expression step that makes incredibly more flexible. When in Remove mode, you can now specify which parts of the expression to remove. By default, all parts are removed.

In the above example, it will find anything between parenthesis and only remove the middle part. For removal options, it can remove all parts, one part, or all but one part.

joejoe May-27-21 5:22 PM EDT

Rename Master New Renaming Option


It's been a while since I found a renaming option that RM didn't support. Above is the new Replace/Remove Between feature.

This was a request from a user to "remove text between (something) and (something else)". The "Remove Expression" Renaming Step could do the task, but it would also remove the conditional phrases. While the Full Regular Expression support was able to do the task, this feature was common enough that I feel RM should support directly. Regular Expressions are also complicated and for very advanced users.

The current Public Beta includes this update and a fix for the "before and including" option of the Renaming Step.

joejoe Aug-01-20 4:32 PM EDT

ArsClip Exception when Exiting

The latest Public Beta of ArsClip adds sequence information to the debug log when exiting the program. I'm currently trying to track down an intermittent issue that can cause an exception during shutdown.

Previously, during the finalization of the program, the debug log information would be cleared when the debug window was destroyed. The debug log has been updated that it is the last to be finalized.

EDIT: This issue has been fixed in the next Public Beta upload (Test 17).

joejoe May-24-20 8:17 PM EDT

Text Inspector and JavaScript

I've updated the Text Inspector window with a JavaScript section. This is designed to auto-generate code for the selected control to use in a Permanent Clip/Macro. The current two functions are "clickInWindow" and "focusControlByPath".

The clickInWindow() function is designed to click inside a specific top-level window using coordinates based on the top-left of this window. As long as the control is always located in the same location on the window, the relative coordinates will always click the same location independent of the top-left position of the window. The "ClassName" of the window is used to specify which window to focus. The simulated mouseclick can either set focus on a control or activate a control like a Button.

The focusControlByPath() function uses a relational path to navigate to specific control by ClassName/id instead of a coordinate location. The control is then given "keyboard focus". Windows controls have a designed parent>child relationship, similar to folders on a hard drive. The path string is similar to the full path name of a file.

Both functions may fail for specific programs if the window dynamically changes the location or the parent>child relationship of controls.

The Edit Permanent Clip window has a new [JavaScript > Text Inspector] section. This is mainly used for reference, but a programmer may be able to manually set the parameters of these functions.

joejoe May-18-20 11:13 PM EDT

Text Inspector Update

The current Public Beta of ArsClip adds "Extract" commands to Text Inspector. ListView Headers, ListBoxes, and TreeViews have their own control specific methods for extracting text.

For ListViews Headers, there are options to extract the text from all column headers and an option for an entire column. For example, you can copy the date column from a list of files in Explorer. For Listboxes, there is an option to extract all rows from the control. By default, only the currently selected row is extracted. For TreeViews, there is an option to extract the full path of an item. By default, only the current tree item is extracted. There's plenty of room for growth here.

This feature can sometimes interact with a page in a web browser. When it works, copying the name of a link and/or the target is trivial. When a page formats it's information as a grid or list, Text Inspector can extract individual data from the row and column.

Currently, the only commands for the content window are "Copy", "Copy + Exit", and "Extract". Since this window is mainly a textbox, ArsClip's own macros can already be run on this text. There is an idea to have a Permanent Group dedicated to the Text Inspector and integrate it into the window as a context menu. Such a feature wouldn't likely appear in the first version.

joejoe May-09-20 2:03 PM EDT

ArsClip and the Text Inspector

A new prototype feature has been added to ArsClip call the Text Inspector. This window is semi-transparent so you can click on program controls of other programs and receive information about them. The goal is to have an interactive tool that can extract text from Windows controls, even if you normally cannot copy text from the control. A secondary goal is to be able to use this window to generate JavaScript that can target specific controls in a window (not implemented).

Text Inspector targets Windows Common Controls. This include the Edit, ListBox, ListView (and it's column Header), Button, ComboBox, and TreeView controls. These controls are used in a variety of programs, but are generated and interacted with by Windows itself. Windows uses a messaging system for communication that any program can also use to interact with these controls. Programs with UAC protection (running as Admin) and custom made controls that don't respond to standard message cannot be interacted with.


In this example, Text Inspector is targeting a Header control and specifically showing the first column. The first textbox in Text Inspector itself shows the type and class name of the control. The second textbox shows the text retrieved from the control using standard Windows Messaging routines. The third textbox shows the parent-child information for the control.


This example shows the text extracted from the entire row of a ListView control in details mode. The grey and dark grey boxes are generated by ArsClip to show the selected control and the selected item of a control. Note that some "save as" dialogs use a standard ListView control, so Text Inspector can extract filenames and other file text from a selected item. Controls using the "Explorer Shell" to show files are not yet supported, since they are not standard "Common Controls" and are interacted with differently.

The next feature to implement is a context-sensitive interface. A panel of controls can show near the clicked control with routines to execute specific to the type of control selected. For example, the text of a single column of a ListView in "report" mode can be extracted. All items of a ListBox or the dropdown items of a ComboBox can be extracted.

Even though this feature lacks polish, it's important to gather feedback on wanted features. To get to this point, it has take a full week of research and testing. Feedback is needed to proceed in the right direction.

joejoe Apr-25-20 8:53 PM EDT

ArsClip and Rename Master Release Plans

The usual cycle for releases is: new features/refinements release -> fixes release(s) -> repeat. After a feature release, time is given to address major issues and gather feedback for the next set of features/refinements.

The current Public Beta of ArsClip is a fixes release. For example, the Online Code Examples broke last release and this is needed to show some of the newwe JavaScript features for automation. Those currently running the Public Beta can see the two new JavaScript examples. Test 7 is the last planned update before doing final exhaustive testing.

The current Public Beta of Rename Master is a features release. Since Rename Master hasn't had an official release in a long time, the current Public Beta is in feature freeze. While there are more ideas for further changes, a larger audience is required for more feedback. There are about 6 refinements and a complete redesign of the Insert Meta-Variables window to introduce.

joejoe Apr-20-20 8:41 PM EDT

Even more Tweaks for Rename Master

The latest Public Beta upload of Rename Master has some notable features.

A dropdown list of checked files is now available on the File Tags window and the Insert/Edit Meta-variables window. Before, the file list could be clicked to change the files used for data. This was not intuitive and hard to discover.

The Insert/Edit Meta-variables window has been re-designed and re-written. There is now a clear "left to right" order for the work flow. There's now an explicit way to insert multiple variables by using a "keep open" checkbox. By default, a single variable is inserted and the dialog is closed.

The "File Tags" can also be opened using the Insert popup menu on Renaming Steps. This helps improve the flow of working with the Renaming Script, so you don't have to switch focus to the File List for viewing file tag data. The "File Tags" window itself also has some small interface changes.

There's still room for improvement. The Renaming Script header portion has empty space for controls to work with the Renaming Steps. The "More" context menu for Renaming Steps has room for more menu items. The Meta-variables window can add more panels for inserting more variables. For example, the "View Tags" list could also be integrated directed into this window.

Older Items

Got an idea for improvement, a bug to report? Just want to say hello? Send me your feedback.
I can be contacted at jackass.joejoe@gmail.com English only please.