Archive for the ‘Development’ Category

Default Folder X 6.0d19 : Better drag-and-drop in the Finder

Thursday, December 29th, 2022

A new pre-release build of Default Folder X version 6 is available! Click here to download it. If you haven’t been following along, previous posts have covered new features like the wider filename edit box in Save dialogs, new Quick Entry window, and post-save actions.

In this build I’ve rewritten the drawer that Default Folder X (optionally) attaches to Finder windows. It now properly supports dragging to reorder items, selection and multi-selection of items in the drawer, dragging items into folders that you’ve added to the drawer, and more.

This makes the drawer much more helpful as a temporary “shelf” when moving items between folders, as well as a handy place to organize files and folders while you’re working with them. They’re easy to get to, even if they’re actually located in multiple different folders.

One of the challenges with the drawer was finding a way to make it scale as you add more items to it. It shrinks the icons as more are added, then as you mouse through them, spreads them apart so you can read their filenames.

I’ve been experimenting with this for quite a while, and I’d appreciate feedback on how it works for you in practice. Suggestions are more than welcome!

Default Folder X 6 progress

Monday, October 17th, 2022

After making intermittent progress on version 6 of Default Folder X for months, I’m hoping to get things moving faster so I can get the new features out to a wider audience soon. The new capabilities make Open and Save dialogs even faster and easier to use, as well as speeding access to recently used files and folders in the Finder.

Among the features I find most useful are a wider edit field in Save dialogs, so you can actually see and edit long filenames:

and a “quick entry” pop-up where you can type a few letters in the name of a folder or file you want to access:

I outlined the details of these features in a previous post.

In addition, the latest build synchronizes your preferences and history between multiple Macs, so you’ll have access to your favorite and recently used files and folders regardless of which Mac you’re using. The caveat here is that synced Macs must have their files and folders synchronized so that Default Folder X can find the items on both machines – if it can’t, those items will be grayed out in its menus.

DFX 6 also offers “post-save” actions that you can use to automatically handle files after saving them. Built-in actions include immediately opening a saved file, attaching it to an email, or running an AppleScript or Automator workflow on it.

If you’d like to give the new features a spin, you can download the latest development build here. While it’s not feature-complete, the features above are working well and are stable. Please see the Read Me file for details on enabling the new features, and if you’ve got suggestions, feedback or bug reports, send them to DefaultFolderX@stclairsoft.com

Default Folder X 5.7 public beta 2 gets in sync with Ventura

Wednesday, July 27th, 2022

Among other things, the second public beta of Default Folder X 5.7, otherwise known as version 5.7b2, adopts Ventura‘s use of the term “Settings” rather than “Preferences.” Seems like that wouldn’t be a big deal, right? It turns out that those terms occur more frequently than you’d think in various dialogs and error messages, and have to be substituted on the fly to match the version of macOS you’re running. So I spent a couple of days bringing all that into conformance, then testing and localizing, and now it DFX fits in properly on Ventura.

Version 5.7b2 also adds a couple more interesting things, like support for Thomas Tempelmann’s Find Any File application. When you’re in an Open or Save dialog, you can now search with Find Any File from Default Folder X’s utility menu.

Find Any File can be helpful because it performs an exhaustive search based on a file’s name, modification date, and other filesystem properties. While Spotlight indexes these same properties as well as the contents of documents, it won’t always find all files – Spotlight omits the contents of some folders, as well as files contained within application packages and other special locations.

Default Folder X 5.7b2 also fixes a problem with its Recent File and Recent Folder tracking on Microsoft OneDrive that could result in files or folders being listed twice when they’re updated on OneDrive.

If you’re already running an earlier beta of Default Folder X 5.7, just choose “Check for Update” from its menu in your menu bar. If you’re not, head over to the Default Folder X Testing page to download a copy!

It’s that time of year again! Default Folder X 5.7d3

Friday, June 10th, 2022

It’s June, and you know what that means! Well, maybe you don’t… Apple’s World Wide Developer Conference (WWDC) is held at the beginning of June every year, and Apple traditionally uses the conference to introduce the next version of all of its operating systems. This year is no different, so developers world-wide (see what I did there?) are downloading and running the first early test version of macOS 13 “Ventura”.

And because Default Folder X works so closely with the operating system, it needs to be updated to support each new version. So there’s now a public pre-release build of Default Folder X 5.7 that’s available for folks who are running Ventura. For those of you who are accustomed to Default Folder X’s quick navigation and file management, this will keep you from getting frustrated while testing or developing on Ventura 😁

A download link, release notes and a list of known problems are on the Default Folder X Testing page. I’ve also rolled in a few fixes for other issues that affect both Ventura and past versions of macOS, so check the release notes for details about those, too.

App Tamer 2.7b2 fine tunes support for Apple Silicon

Thursday, February 24th, 2022

Version 2.7b2, the second public beta release of App Tamer 2.7, is available on the App Tamer Beta Testing page. If you’ve recently downloaded beta 1, just choose “Check for Update” from its utility menu or in the Options tab of App Tamer’s Preferences window to get the new version.

The changes in beta 2 are relatively small, correcting interactions between the new capability of running apps on the M1 processor’s efficiency cores and several existing App Tamer options. In addition, App Tamer’s online help has been brought up to date, and a bug affecting the CPU usage graphs in beta 1 has been fixed. Details and download links are available on the beta testing page.

If you have any feedback or bugs to report on the 2.7 beta releases, please share them in the comments here or by emailing AppTamer@stclairsoft.com. Version 2.7 is on track for release soon, barring any further bug reports or changes.

App Tamer 2.7b1: Advanced support for Apple Silicon processors

Thursday, February 17th, 2022

There’s now a public beta version of App Tamer 2.7 available for download. The big deal in this iteration is support for the Performance and Efficiency cores (or “P and E cores” for short) in Apple’s M-series processors.

P and E core usage statistics

As you can see in the image on the left, App Tamer now displays graphs of P and E core usage as well as overall CPU usage. You’ll get these automatically if you’re running App Tamer on an M1-powered Mac.

Note that P and E stats are shown as a proportion of total CPU power available, so on an M1 Pro processor (8 P cores and 2 E cores), the E core number will max out at 20% (2 cores out of the 10 available), while the P core number will max out at 80%. This may be a little counter-intuitive at first, but it was even more confusing to represent them as a percentage of each core type. In that scenario, “CPU Used by All Apps” could show 50%, with E core usage at 100% and P core usage at 38% – which doesn’t make sense to most normal humans.

Running background apps on E cores

This is the really cool part. When you click on an app in the process list to change its settings, there’s an additional “Run this app on the CPU’s efficiency cores” checkbox, as you can see in the screenshot below.

I explained the basics of this feature in a previous post. It works like App Tamer’s other CPU-saving capabilities in that it’s applied to an app anytime that app is not frontmost. If you turn on the checkbox for Safari, any time that you leave Safari running in the background while you’re using another app, Safari will be switched to the processor’s E cores. This saves power and leaves the P cores free to handle higher priority tasks.

Note that the effects of this feature are similar to App Tamer’s existing “CPU throttling” capability, which is what you get when you turn on the “Slow down this app if it uses more than X%” checkbox. However, there are a couple of advantages:

  • The E cores actually consume less power by design
  • There’s no overhead when running an app on E cores, whereas throttling an app’s CPU usage requires App Tamer to actively manage the app’s execution

So, basically, running an app on the processor’s E cores saves more power than throttling it.

Of course, the two aren’t mutually exclusive – you can run an app on the CPU’s E cores and throttle it while it’s there if it’s still using too much processing power. App Tamer will let you turn on both checkboxes to do this.

What about Intel-powered Macs?

If you’re not using a fancy new M1 or M2 (soon?) powered Mac, you won’t get this new feature. However, that checkbox does still do something. It’s named “Run this app as a low-priority process” on Intel Macs, and it will use the macOS system scheduler to reduce the priority of the app, both in terms of CPU usage and disk and network I/O. This will reduce its impact on other apps and cut its energy usage somewhat, but not nearly as much as it does on M-series Macs.

OK already! Where do I download it?

Go to the App Tamer beta testing page. And if you have suggestions, find a bug, or want to argue with me about how E and P core usage is displayed, send email to AppTamer@stclairsoft.com.

App Tamer experimentation: Running apps on M1 efficiency cores

Friday, January 21st, 2022

So I was reading Howard Oakley’s Eclectic Light Company blog, as I often do (and you should too), and he mentioned the taskpolicy command line app, which I wasn’t aware of before. taskpolicy allows you to demote a process to “background priority,” making it run more slowly by giving it a lower priority for its disk and network access and – key point here – on M1-powered Macs, also runs the process on the M1’s efficiency cores instead of on the performance cores.

That got me thinking… if there’s a command line tool to do this, there must be a system API to make this happen, too. And lo and behold, the setpriority( ) system call will actually perform this neat trick, even though the man page lies and says it won’t.

I made some changes to App Tamer yesterday to add this, and App Tamer now has a new checkbox:

Turn the checkbox on, and whenever an app isn’t frontmost, App Tamer will give that app background priority, reducing its disk and network priority and switching it over to run on an M1 efficiency core. Running a few apps that consume quite a bit of CPU looks like this in Activity Monitor:

In my initial testing, the feature seems to work quite nicely. App Tamer automatically moves apps between the performance and efficiency cores as you switch between apps. So far, I haven’t found any downsides to this – but then again, I just added the feature yesterday and have only done limited testing. It’d be great to actually quantify whether this delivers additional battery life.

If you’d like to give it a try, you can download App Tamer 2.7d1 here. Just unzip it and run it, then click on a cpu-hungry app in App Tamer’s process list and turn on “Run this app on an M1 efficiency core” – that’s it. App Tamer will automatically lower the app’s priority when it isn’t frontmost.

Update: There’s now a beta version of App Tamer 2.7 that includes an almost-finished version of this feature.

Note for users of Intel-based Macs: On your machine, the checkbox is named “Run this app as a low-priority process” because your Mac doesn’t have separate efficiency and performance cores 😢. The app will be demoted to background priority so it uses fewer CPU and I/O resources, but I’m afraid there’s no fancy cpu-juggling involved.

Default Folder X 6 development update

Friday, September 10th, 2021

While it’s been slow going, I’ve gotten a few new features put together in the ongoing development of version 6 of Default Folder X. I’m sharing two here because I’m very happy to have gotten them up and running, as I personally find them really useful.

Expanded Filename Editing Field

It seems like such a minor thing, but when you’re saving something like a web page that has a long name, it’s maddening that Save As dialogs have such a tiny edit box for the filename. The long name runs past the end of the edit field and you have to click and drag or use the arrow keys to get to the rest of it if you want to make any changes.

While it required way more juggling than I expected, Default Folder X 6 expands the filename field to a usable size.

Keyboard-based Access to Recent and Favorite Items

I’m personally a very keyboard-biased user. I’d rather use shortcuts and type than take my hand off the keyboard to click around with the mouse. As a result, Default Folder X has always had the ability to assign keyboard shortcuts to Favorites and to access recently used items. Up until now, however, that didn’t include just typing to select exactly what you wanted. In version 6, that’ll be an option:

I’ve used a “Sublime Text-style” selection method, where fuzzy matching gives you results that include file, folder and application names that contain the letters you’ve typed, even if there are some missing in between. It also favors capital letters and the first letters of words.

You’ll see that the top match in the image above when typing “roc” is “ReactiveObjC” because of the capitalized R, O and C in the correct order, with “ProcessController.m” further down the list even though it contains “roc” in lowercase. I’m still tweaking this, but I find the results pretty quick and intuitive when looking for something (though granted, the results lower down in the list tend to appear almost random until you look hard at them).

As a developer, the danger I see with this feature is that people will want me to reproduce all kinds of options from similar keyboard-based utilities like LaunchBar and Alfred and I’m not sure how far to go with that. This isn’t meant to replace those (I’m a long-time LaunchBar user myself), but some additional tweaks could be nice…

If you want to help test…

While these (and other) features are still in development and thus a bit rough around the edges, I’d welcome input if you’ve got some time to try them out and provide thoughtful feedback. Email DefaultFolderX@stclairsoft.com if you’re interested.

Default Folder X 5.5.2: Big Sur 11.1 compatibility and a bug fix

Friday, November 20th, 2020

Version 5.5.2 of Default Folder X is available. It works on Apple’s recent macOS 11.1 Big Sur beta release.

Amusingly, the biggest problem on macOS 11.1 was the new version numbering scheme that Apple is using for Big Sur. Default Folder X checks the OS version and had always assumed that if the minor revision number (the ’15’ in 10.15.7, for example) changed, it was a major new OS release, because that’s the way it’s always been in the past. Big releases like going from Mojave (10.14) to Catalina (10.15) generally require significant testing and development to ensure compatibility, so it just disables itself and waits for me to finish a compatibility update.

So when Apple went from Big Sur 11.0.1 to Big Sur 11.1 beta (with a version number change that surprised a lot of us developers), Default Folder X said “Oh no, it’s a major OS release! I don’t know what to do, so I’ll just be safe and do nothing” and refused to even look at the Open and Save dialogs. So yeah, redoing the OS-version-checking logic and making a minor functional tweak was all that was actually necessary to get things working on 11.1.

In the process of testing Default Folder X on the Big Sur 11.1 beta, I did find a bug that could potentially cause file dialogs to lock up for what seems like an eternity (potentially as much as 2 minutes), so that’s also fixed in 5.5.2. Because of that, you should update if you’re running Big Sur, even if you’re not using 11.1.

Release notes and download links are on the Default Folder X release page.

Default Folder X 5.4.1: fixes for Catalina and more

Monday, October 21st, 2019

Default Folder X 5.4.1 is now available. It fixes several issues that have been reported with macOS Catalina. A couple were simple bugs in Default Folder X itself:

  • Empty folders were not added to the Recent Folders menu
  • Items in the Utility menu were sometimes not enabled correctly
  • File dialog menu shortcuts were not working as advertised

Those issues have all been fixed. One other fix, however, is a bit bizarre. I figured I’d briefly talk about it in case other Mac users or developers encounter this:

In Catalina, the Finder must be running before you can approve apps to record the screen

In macOS 10.15, Default Folder X requests permission for Screen Recording (here’s why). If it doesn’t have permission, it tries to capture a portion of the screen, which causes Catalina to pop up an alert asking for your approval. Default Folder X then leads you through System Preferences to ok everything. It’s an annoying process, but works as well as can be expected given Catalina’s limitations. UNLESS you happen to also be a user of CocoaTech’s Path Finder app.

If you’re running Path Finder and have chosen to have Path Finder launch when you log in and have its preference set to quit the Finder after it launches, you’re in for a treat. If an app needs permission to record your screen, you will never see the prompt, and the app will not be added to System Preferences > Security & Privacy > Privacy > Screen Recording, so there’s no way for you to manually approve it there if you happen to realize it needs permission.

Based on testing that I and Ben Surtees at Surtees Studios (developer of the excellent Bartender app) have done, if the Finder isn’t running, the permissions system for Screen Recording just silently fails. Default Folder X, Bartender or whatever app needs permission doesn’t know this, and will continue prompting you to authorize them in System Preferences. Unfortunately, you have no way of approving them because there’s no way to manually add apps to the Screen Recording privacy panel, and if the Finder’s not running, the system doesn’t automatically add apps as it should.

As a developer, this seems pretty arbitrary – why would we need to have the Finder running in order to get permission for Screen Recording? But there you go – if you’re running into this, now you know why. As of version 5.4.1, Default Folder X will launch the Finder when necessary (and quit it afterwards) if it runs into this scenario. It’s a bit of a comical workaround, but hey, it gets you up and running without further pain.

Oh, and here are the details and download links for Default Folder X 5.4.1 🙂