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 Dec-19-15 12:05 PM CST
A "Killer Script"
Something as simple as "extract all URLs" sounds great, but is an extremely difficult task to do correctly. Several libraries exist for this task and almost all of them have issues. I've even written my own for the MakeLinks browser extension, to detect "may be" links. Still, this is a candidate for a "killer script".
I've one user that is copying address information and pasting it into a form. The addresses can be in multiple forms and each needs special detection and treatment. While this is another difficult task, it sounds like it may also be a candidate.
I'll be looking through my archive of user feedback to find more.
Another feature that might need to included is a way to get scripts from the website, instead of just using hard coded examples. Will scripts be added or updated frequently enough to merit this work? I'm not sure. This feature may have to wait for a future version.
joejoe Dec-17-15 2:49 PM CST
Currently, the clipboard state is passed as a parameter to the "main" function. The Popup Clips are optionally included as an array of string. This is the only data that AC directly includes in the script. Indirectly, the script can have AC execute the [TOTEXTFILE=""] command to store the changed clipboard to a file. This may change in a later version.
Some notes about the implementation:
Currently, cscript is used to execute the "main.js" file. This command line program has been a part of Windows since XP. Mozilla's SpiderMonkey engine may be used instead in a future update. The simplest method was tried first.
Cscript is executed using a hidden command prompt to prevent any focus issues with the script.
Any number of start/end label can be used and they conditionally executed or loop executed by the script.
AC and the script use a named pipe for inter-process communication. This will likely be used even if the implementation changes.
Error messages will reference the line number of "main.js", not the line number of the current clip.
joejoe Dec-14-15 7:10 PM CST
Version 5.07 of ArsClip will be released as an official version soon. Preparations are being made to ensure that if a hotfix is needed, it can be addressed quickly.
All the details are preliminary and may change. The only incoming data from AC in this version is the clipboard in plaintext format. I'll need to find an efficient way of including other data, like the Popup Clips, into the script. I may use some more special syntax for this, so it's only conditionally included.
joejoe Dec-11-15 12:51 PM CST
Flexibility Needed 2
How will it work?
Addons for ArsClip?
joejoe Dec-10-15 12:36 PM CST
The Split Clipboard command is great for doing a single routine repeatedly, but it doesn't account for the case when the split pieces need to be treated differently.
The above is a bit of a hack that will fill the Temporary Clip List with pieces. From here, pieces can be removed from the list and pasted using:
This works, but it's far from intuitive. Having the Split Clipboard command implicitly be a loop may be a mistake. The command may be better served just saving the clipboard as pieces. Then, the pieces can be inserted one at a time or inserted using a loop. This is much more flexible and more intuitive.
The above shows the case where the number of splits is known ahead of time. The user copies a block of text with 3 separate lines and those lines are pasted without linefeeds.
The above show the case where the number of splits is not known ahead of time or all splits can be treated the same. The Split Item looks the same, but an index variable is used instead of a hardcoded number.
The "Insert" menu would have 2 versions of the Split Command to use for templates. While not perfect, this seems to be a better solution that allows for much more flexibility.
joejoe Dec-08-15 10:14 AM CST
A New ArsClip Command
Work is being done on a new command that will split the clipboard into pieces. This will basically be an insert command that functions like a loop. I had written a long post describing it in detail, accidentally closed it, and I'm too lazy to repeat it. The idea is (based on a user request) is as follows:
Any command or text could be placed before or after the [INSERTPIECE] command. For example, keystroke simulation could be added after the insert. This command is tailored for advanced users and is clearly targeted for pasting automation. The example given to me by a user was to copy an address and paste it into a form. The command for that would look like the following:
Each line from the clipboard is pasted and a tab key is simulated. In the case that City/State are on the same line separated by a comma, the following would work (only if the one comma is present):
[CLIPBOARDFIND="," REPLACE="\n"][SPLITCLIPBOARD SEPARATOR="\n"][INSERTPIECE][TAB][/ENDSPLITCLIPBOARD]
This could replace the tedious task of copying each individual line and then using Form Mode or the "keep open" keystroke to paste the parts.
joejoe Dec-06-15 10:32 AM CST
Thank you to whomever is reporting ArsClip Mini crashes on an Asus MeMo. Once nice thing about Android apps and the Play store is that it reports the exact line of source code that is causing the crash, if the users presses the "report" button.
ACM uses the "accessibility" features to receive reports when a textbox is clicked on. For some unknown reason, some Android systems just don't implement or incorrectly implement these notifications. This is causing the ACM service to crash because of an unhandled exception. Since I can only test on one real device and several virtual machines, I can't replicate these issues. I can, however, add exception handlers to the code that usually wouldn't need it.
For the user, it would seem that ACM was randomly crashing. Actually, this seemed to be occurring on when a users was clicking on a textbox in a browser page and the system was returning only partial accessibility notifications.
In any case, the last reported crash showed that my first attempt only partially solved the issue. In the latest update (v1.7), this crash has been resolved. I may have to further refine some code, but this "bug" appears to have been squashed.
joejoe Dec-02-15 9:38 AM CST
ArsClip Hidden Settings
In the latest Public Beta of ArsClip, a new section has been added to the arsclip.ini file. This "hidden" section will contain settings that were formerly hardcoded in the program. For example, "MinClipLength" defines how long a text clip must be for adding to the Popup Clips list.
From now on, new default values will always be added to the INI file. This allows expert users to tinker with advanced customization option, before an option exists in the Configuration window. If a setting becomes popular, these settings may be added as an option under Configuration.
This will bridge the gap between the failed "just add an option" design and the new "don't clutter the Configuration" design. User requests for setting can be added to the "hidden" section with almost not consequences, as long as the setting doesn't interfere with the normal flow of the program. For example, the setting "ShowClipCues" was added for disabling the small tooltip that appears when a new clip is ignored by the program, or when the paste method is overridden. This setting is something that would almost never be used and the new "cues" feature has been an overwhelming success. It doesn't hurt to have it as a hidden setting.
joejoe Nov-24-15 1:35 PM CST
ArsClip Database Size
There's an issue that may start revealing itself in ArsClip for users with large amounts of clips: the database(DB) size. In the last beta, the entire clip table had to be re-created to fix an issue with a few columns. This required creating a new copy of the table and removing the old. This doubles the size of the file, even though most of the space is empty.
In future versions, when the DB is updated like this, the program will automatically run the "compact" command to get rid of all the blank space. Since the DB isn't updated often, the "Edit Clips" tab for databases will also have a place to compact the local DB. This will also help those that use ArsClip on a thumb drive.