MarsEdit 4.6.2: Ventura Compatibility and Bug Fixes

October 21st, 2022

MarsEdit 4.6.2 is now available on the MarsEdit site and has been submitted to the Mac App Store.

This update brings confirmed compatibility with macOS 13 Ventura, which is being released next week. It also includes a number of other fixes:

  • Verified compatibility with macOS 13 Ventura
  • Fix an issue that prevented image width and height from being included in the generated HTML for some images
  • Quotation marks in Alt. Text are now escaped properly when generating HTML for images
  • Fix a bug that sometimes caused clicking links in web preview to replace the preview content
  • Images in previously published section of Media Manager are now properly sorted from newest to oldest (may require blog refresh)
  • VoiceOver improvements to the image view in Media Manager and Upload Utility windows

If you enjoy MarsEdit, please consider writing a review or rating the app on the Mac App Store, spreading the word on Facebook or Twitter, and of course, writing about the app on your own blog! Thanks for your support.

MarsEdit 4.6.1: Finessing Micro.blog Title Visibility

September 29th, 2022

MarsEdit 4.6.1 is now available on the MarsEdit site and on the Mac App Store.

This minor update include a few bug fixes and a change, probably most useful to Micro.blog users, to control whether the post editor’s title field is automatically hidden and shown, or not.

By default, MarsEdit mimicks Micro.blog’s own native behavior of hiding the title field until a post is longer than 280 characterrs. With a new per-blog setting (under Editing -> Post Editor Defaults) you can change the behavior from automatically showing & hiding, to always defaulting to visible or hidden.

Screenshot of MarsEdit preference to control title field visibility in the post editor

Complete list of changes for this release:

MarsEdit 4.6.1

  • A new per-blog setting controls whether the Title Field is shown and hidden automatically
  • Fix an issue that caused the scroller for “Always Show Scroll Bar” to appear white in Dark Mode
  • Prevent a scenario that could cause the preview window to remain visible after the last document is closed
  • Fix a line-wrapping issue in the document status bar area when a window was made very small

If you enjoy MarsEdit, please consider writing a review or rating the app on the Mac App Store, spreading the word on Facebook or Twitter, and of course, writing about the app on your own blog! Thanks for your support.

FastScripts 3.2: Script Collections, Parameterized Scripts, Search Improvements

September 26th, 2022

FastScripts 3.2 is now available on the FastScripts home page, or by selecting “Check for Update” from the FastScripts menu.

This is a substantial update featuring support for custom script collections, parameterized scripts, improvements to the Scriptlight search feature, and more.

Script Collections

By default, FastScripts searches for scripts in the same standard “Scripts” folders that Apple’s Script Menu searches. Notably: “/Library/Scripts” for system-wide scripts, and “[Home]/Library/Scripts” for your personal collection of scripts. Anything in these standard folders shows up in the FastScripts menu, can be searched with the Scriptlight search feature, and can be configured with keyboard shortcuts via FastScripts’s Preferences.

But not everybody keeps their script collections in these standard locations, and for that matter, not everybody keeps only one or two collections of scripts. That’s why I’ve expanded FastScripts to support an arbitrary number of user-determined locations, whose script contents will all be available to the app. To customize these collections, you can add your own folders, remove the default ones, or both:

UntitledImage

Parameterized Scripts

For advanced workflows, FastScripts supports the ability to invoke any script … from within another script. I know, pretty meta, right? This can be useful for nesting behaviors from multiple scripts, or for conditionalizing whether particular scripts are run or not.

The ability to run scripts has gotten a lot more powerful in FastScripts 3.2, with the addition of robust support for specifying parameters to invoked scripts. As a trivial example, you might have a script called “Say Hello” that expects parameters for first and last names:

on sayHi(firstName, lastName)

tell application "FastScripts"

set greeting to "Hi " & firstName & " " & lastName

display message greeting

end tell

end sayHi

 

on run {firstName, lastName}

sayHi(firstName, lastName)

end run

Now you can run a script like this, either from within FastScripts, or invoked by another AppleScript utility:

tell application "FastScripts"

set myScript to script item "Say Hi"

set myTask to run myScript with parameters {"Daniel", "Jalkut"}

end tell

And running it will yield the expected result:

Screenshot of heads-up-display display text reading 'Hi Daniel Jalkut'

Script Results

If you look carefully at the examples above, you’ll see that unlike Apple’s built-in “run script” command, FastScripts doesn’t immediately return the result of running a script. This is because you are free to kick off multiple scripts and, thanks to FastScripts’s multi-process design, they will each run in parallel.

Instead of a result, the “run” command in FastScripts returns a script task object. You can use this reference to “force stop” a running script, but perhaps more importantly, you can now use it to await the script’s result. When your script requests the “result” of a script item, FastScripts will suspend the execution of your script until the result is available. So if you wanted to kick off 5 scripts and wait for all of them to return results, you could “run” them, and then ask for the result of each of them.

Here’s a simple example, wherein a script called “Add Numbers” is designed to take two parameters:

tell application "FastScripts"

set myScript to script item "Add Numbers"

set myTask to run myScript with parameters {19, 7}

set answer to result of myTask

display message "The answer is " & answer

end tell

For practical purposes, you can think of asking for the “result” of a script task as repeatedly checking to see if the script has completed, and “delaying” the script until it’s done. In reality, the behavior is far more efficient than this!

Search Improvements

Scriptlight, the built-in search feature that allows you to quickly locate scripts matching a particular name or substring, can sometimes identify two scripts that have the exact same name, but are located at different locations in your script collections. Until now, this had the unwanted effect of turning the process of searching for and running one of these scripts a kind of gamble. Would it be the one you wanted, or not?

In FastScripts 3.2 special care is taken to differentiate search results so that identically named items are further identified by the folder that contains them. There is still some risk of ambiguity if you have identically named scripts inside identically named folders, but this should solve the problem for most scenarios:

Screenshot of FastScripts search results showing two identically named files with a differentiating label showing the name of the containing folder

FastScripts 3.2 Summary

In sum, this update packs a powerful punch, including a number of new features to supercharge workflows, as well as a number of minor updates and bug fixes. Here’s the complete list of changes for this update:

  • New settings for custom Script Collections allows for arbitrary script folder locations
  • Built-in script running command now supports specifying script parameters and awaiting a result
  • Shortuts integration: new “Display Message” action for heads-up display messages
  • Identically named scripts are now differentiated in search results by showing their containing folder name
  • Fixed a bug that could caused the wrong color to appear in the menu bar color preference
  • Fixed a bug that in rare cases prevented changed keyboard shortcuts from showing as expected in the menu
  • Improved reliability of keyboard shortcuts staying set when scripts are moved
  • Changed name of “Preferences” to Settings” if running on macOS 13 or greater

If you enjoy FastScripts, please consider spreading the word on Facebook or Twitter! Thanks for your support.

FastScripts 3.1.2: Workaround macOS Ventura Crashes

August 9th, 2022

FastScripts 3.1.2 is now available on the FastScripts home page, or by selecting “Check for Update” from the FastScripts menu.

dThis update addresses a couple crashing issues, including one that specifically affects users who are running the macOS Ventura beta. A change in the system’s handling of event dispatch causes a crash to occur whenever FastScripts’s built-in “display message” notification gets dismissed. If you’re running Ventura, you definitely want this update!

Complete list of changes for this release:

  • Work around a crashing bug in macOS Ventura beta when dismissing a “display message” panel
  • Fix a bug that could cause some scripts that generate keystrokes to terminate unexpectedly
  • Improve the reliability of the built-in crash reporter

If you enjoy FastScripts, please consider spreading the word on Facebook or Twitter! Thanks for your support.