FastScripts 3.0 Sneak Peek

Hey folks! Many of you are already familiar with my scripting utility, FastScripts. I have been working on a pretty substantial 3.0 upgrade to the app.

While I’m not ready to go fully public with the beta yet, I thought it would be good to share it here. I know many of you who do use it are among my most technical users and also push the app to do remarkable things ;p I am hoping you’ll help me by installing the beta and letting me know if anything major is broken. Hopefully you’ll also start to enjoy the new features immediately and get to enjoy them before most of the world.

The main new features of 3.0 are:

  • Scriptlight: quickly search for scripts from right in the FastScripts menu

  • Scripts always run in separate processes, empowering parallel script-running and protecting the main app from issues arising from a badly behaving script.

  • Lots of little fixes such as detecting when a conflicting shortcut is being set, additions to FastScripts’s own scripting dictionary, and more.

If you’d like to give it a spin, please download it here:

https://redsweater.com/fastscripts/FastScripts3.0b29.zip

As long as you’re running the beta version you should be offered updates to future beta revisions, and to the final release when it’s ready. The beta versions are free for all to use, but the final release will be a paid upgrade for most users.

Thanks for giving it a try, and let me know what you think!

Daniel

8 Likes

Hey Daniel,

Sounds great!

Very glad to see FastScripts getting some Love.

  • Any system requirements?

  • Can it possibly eat FastScripts 2.x’s preferences?

  • Is it simple to downgrade if necessary?

-Chris

Hi Christopher - currently it requires 10.14.6 or later, but I know it has some UI glitches on 10.14 so it might end up being only officially supported on 10.15+

It should be safe to run and to downgrade as neeed to 2.x, but if in any doubt, I recommend backing up the FastScripts preferences file! You should be able to do this from the Terminal by running:

defaults export com.red-sweater.fastscripts ~/Desktop/FastScriptsPrefs.plist

You might need to use com.red-sweater.fastscripts.macappstore if you using a MAS version of the app.

Daniel

Hey Daniel,

I never use the MAS if I can help it.

It’d be nice if you could support Mojave.

Presently I don’t have a system that can run more than Catalina, and it’s a flea-ridden mangy mutt that I refuse to install anywhere for any reason.

I can’t really start thinking about upgrading hardware until Apple Silicon gets sorted out, and from what I understand this will not be until September or so of this year.

It chaps my behind to wait that long, but I don’t want to get stuck with badly outdated hardware again.

-Chris

2 Likes

Hi Daniel,

Thanks for working on an update. Being able to run scripts in parallel will be great!

Like Chris @ccstone, I’m running Mojave 10.14.6, and have no plans to upgrade to Catalina. So it would be great if you can make FS3 work with Mojave.

1 Like

Thanks guys, I’ll see what I can do about continuing to support Mojave. I hope that it’s just a few rough edges cosmetically that won’t really impact the usefulness of the app in a serious way. If you do give it a spin please let m know if you encounter any trouble. The main issue I know about is the Search field can draw a little wonky sometimes on Mojave.

Daniel

1 Like

Thx, Daniel. One of my favourite apps.

In case anyone else is wondering, I note it’s a universal binary and supports both Intel and M1 (I’ll be able to test both next week).

1 Like

Damn, my main workhorse is still on High Sierra. I guess it’s futile to keep supporting that, then :slight_smile:

Daniel, may I ask how you technically create new processes from which you run the scripts? Such as invoke the compiled scripts via NSTask?

I ask because I maintain an app that does similar things and I sometimes run into issues if the other end misbehaves and I end up with a deadlock or something. Using a separate process may help avoiding this.

Yeah, my main motivation for requiring 10.14.4 is that it lets me drop the Swift libraries being bundled with the app. I hate to leave anybody out of the fun but at some point it also just becomes a lot easier for me to support a smaller number of OS releases.

The way I’m handling running the scripts in a separate process is indeed via NSTask, but with the help of a separate, bundled application called RSScriptRunner, which lives in the FastScripts app bundle and can be launched as many times as necessary to run scripts on behalf of the host app. It might be worth a try for your app too. May I ask which app that is?

It’s iClip (iclipapp.com). It’s highly scriptable and runs a special user-accessible script every time it reads something from the clipboard. If that script in turn talks to other apps, I may end up in a deadlock or at least run into performance issues.

Ah yes, it does sound very comparable to the vulnerability FastScripts had to similar problems. It’s a little investment of time to get it working, and if you don’t need all the bells and whistles that FastScripts does, you might consider using NSUserAppleScriptTask instead.

1 Like

Sounds great and happy to see FastScripts continue.
I’ll probably buy it for myself, but I use the free version on 40 Macs (just for one important shortcut!).

Will there still be a free “version” for 3.0?

Hi Bret! I am not 100% sure but I am guessing there will be a free version still. Have to work out those details still. Thanks for the interest!

You are so diplomatic :slight_smile:

1 Like

Considering the…
•minimal cost of FastScripts,
•value it has provided to so many in the Applescript community,
•longevity of the program despite the passage of years,
•community of people using it are those who have found its value to surpass the cost of its absence,

it appears to me that
•Daniel deserves the price of his software,
•the issue of free software should be allowed to rest in peace,
•along with the permission for Daniel to derive a profit from his work.

I recommend that we all allow Daniel to release his update, and charge what he considers reasonable.

Thanks, Daniel @redsweater. This is looking great.

Somehow, I had overlooked the “display message” command in v2. I can see a lot of use for this, as I’m increasingly deploying scripts via FastScripts instead of as applications.

I noticed it is now part of a suite name “FastScripts Scripting Additions.” Does this mean more might be coming, and we can pester you with requests? :slight_smile:

1 Like

Hi Ray! Yeah, the “display message” command has been in there for years (since 2005!) but I don’t do a great job promoting the built in additions.

I have long planned to add to these built in additions and with this update I’m adding an “open web page” command that supports streamlined URL shortcuts in browsers. It’s also been on my list for a long time to add some more substantial dialogs support, and build in regex support.

Ooo…ah…

For Display Message, it would great if we could have a way to have a “subtext” like with Display Alert, or if we could just plug-in HTML text with breaks for styling. Hoping that might be a smaller request than some things. But anything you could do with dialogs would be welcome.

Larger request: A true progress bar would be great. I know that’s an old request, and things have been done, but there’s nothing that I’ve found very useful or easy to implement.

Really dreaming: A way in FastScripts to set individual scripts to repeat after a designated time. In other words, a substitute for an app with an idle handler. Or a way to pass items to a FastScript script. In other words, a substitute for a droplet. I greatly appreciate all that Mark and Shane have done and are doing with SD8, but I’ve become very anti-app because of Apple. Distributing scripts and asking co-workers and/or clients to install in FastScripts is so much easier, though I don’t want to push the envelope and have Apple crack down on what you are doing.

I’ll stop here, because I’m just glad you are in this forum, and don’t want to scare you away with requests…

Hi Daniel.
Here is a feature you could consider in FastScripts, multitouch trackpad input.
In other words…

Right hand 2 fingers on trackpad + key input with left hand = execute command.

To test this you could get: https://karabiner-elements.pqrs.org

It could bind shortcuts with multitouch trackpad input. Its very useful instead of
using ctrl, options, shift and command + key
You could find karabiner at GitHub and its open source if you like to know how
it works or if it will be something useful to you.

Regards.

Yeah, I have it on my list to add a distinction between heading and body text basically, for the display message command. Progress bar stuff is also kicking around in my TODO list somewhere :slight_smile:

Script timing/etc, and droplet type support, those are probably going to remain a bit outside the scope of FastScripts for now, but who knows, maybe I’ll get around to a FastScripts 4 eventually!

Don’t worry about Apple cracking down on me. As long as I’m not doing anything harmful to users they can’t really do anything about FastScripts 3, since it will be sold outside the Mac App Store.