All posts in the ‘How To’ category

Subscribe to the RSS feed for the 'How To' category

How-to: Track top-level web site usage with Time Sink

Monday, January 2nd, 2017

Our time-tracking app Time Sink relies on window titles to track your activities. This approach works great for most use cases, as window titles are supplied by the vast majority of apps out there, which means Time Sink is able to keep an eye on nearly everything you do.

But when browsing the web, relying on window titles can sometimes be problematic: Many sites don’t include any site-specific information in their window titles. For instance, a news site may just have the title of the news article as the window title. So if you were interested in finding out how much time you spend on that news site, Time Sink apparently wouldn’t be able to help, because there’s no way to tell which site those news stories came from.

Other sites do include some site-specific data in their window titles, but what that is will vary by site, as well as where it appears within the window title.

The good news is that Time Sink can track site-wide time usage for both types of windows—it’s relatively simple for sites that include site-specific data in their window titles, and it’s somewhat more involved for sites that do not.

The relatively simple way

Some sites include a bit of unique information in each page’s title, which makes tracking them simple. YouTube, for instance, appends ” – YouTube” to every window title:

Any site that does this is easy to track with a pool, regardless of which browser you use. (This example assumes Safari.)

  1. Drag any opened YouTube window (in Time Sink’s Organizer window) to the Pools section of the Organizer window, and drop to create a new pool.
  2. Expand the Safari (assuming you used Safari, of course) folder in the Pools section, then expand Safari (the app within the folder) to reveal the window title.
  3. Select the window title and press Return to edit it. Change the window’s title to * – YouTube and press Return again. The * is Time Sink’s wildcard, and it means “match anything.” In this example, it will match any number of characters that are followed by the ” – YouTube” bit.

That’s it; Time Sink will now add all time spent on any YouTube page (in Safari, at least) to that pool. In general, there are basically three versions of the window title that you could see. Here’s how you’d edit each in a Pool to track the site in aggregate:

  • unique tidbit – words ==> unique tidbit – *
  • words – unique tidbit ==> * – unique tidbit
  • words – unique tidbit – words ==> * – unique tidbit – *

Related tip: If you want to track YouTube usage in any browser (actually, any app that can load web pages and includes page titles), right-click on the Safari application entry in the pool, then select Track Across All Applications:

This will change the application name from Safari to Any Application, and now all your YouTube time will be captured in one pool. (Are you sure you want to do this!?) You can also, as seen in the screenshot, change the name of the pool to reflect that it’s no longer Safari-specific.

So much for the simple sites…

How-to: Make Witch (indie) launch on login in Sierra

Tuesday, October 25th, 2016

We’ve had a few reports of the direct version of Witch not automatically launching at login after upgrading to macOS Sierra. While we haven’t seen this issue here, if it happens to you, here’s how to resolve the problem. (There have been no reports of troubles with the App Store version, so the following is only for our direct customers.)

First, open System Preferences, click on Users & Groups, then click the Login Items tab. Scan the list of items and see if witchdaemon is listed. If it is listed, and Witch still isn’t running at login for you, please open a trouble ticket for one-on-one assistance.

If you don’t see witchdaemon then—leaving System Preferences open—switch to Finder.

In Finder, navigate to your user’s Library folder (or to the top-level Library folder, if you installed Witch for all users). Your user’s Library folder may be hidden; if so, hold down the Option key and choose Go > Library from the Finder’s menu.

Once inside the Library folder, navigate into PreferencePanes. There you will (hopefully) see Witch.prefpane. (If you don’t see it, it’s probable you installed Witch for all users, in which case you need to navigate to the top-level /Library > PreferencePanes folder, then follow the rest of these instructions.)

Right-click on Witch.prefpane and choose Show Package Contents from the contextual menu; this will display a Contents folder. Navigate into Contents > Helpers, which should show just oen entry, witchdaemon.app. Leave this window open.

Now drag witchdaemon.app from the Finder window into the list of login items in System Preferences, and drop it there. Make sure witchdaemon now appears in the list, then close System Preferences. You should now be good to go—Witch should now launch properly at login.

If you need additional help with this process, or Witch still isn’t launching at login after even though it’s listed in login items, please open a trouble ticket for additional support.

How-to: Give Moom extra room to work in El Capitan

Tuesday, June 30th, 2015

If you’re a developer (or public beta tester) using El Capitan, you’ve probably discovered that you can hide the menu bar (via System Preferences > General > Automatically show and hide the menu bar).

If you use this feature, and you’d like Moom to use the extra pixels afforded by the hidden bar, here’s how. Open Terminal (no need to quit Moom first), paste the following text, and press Return:

defaults write com.manytricks.Moom "Ignore Menu Bar" -bool YES

From now on, Moom will freely place windows in the top portion of the screen. This change will affect everything Moom does—those 23-ish pixels at the top of your display are now part of Moom’s real estate.

Later on, if you decide you don’t like the auto-hiding menu bar and disable it, you’ll want to also disable Moom’s use of that space—lest you find windows partially hiding behind the menu bar. To do that, go back to Terminal (again, no need to quit Moom), paste this text, and press Return:

defaults write com.manytricks.Moom "Ignore Menu Bar" -bool NO

With that command done, Moom will once again respect the menu bar’s real estate.

How to: Discover the magic of the sequence identifier

Monday, May 19th, 2014

One of the main features in Name Mangler 3 is multi-step renaming. Instead of being limited to just one renaming step, you can add many steps to one renaming task. In prior versions of Name Mangler, you’d need to use Advanced mode, or run multiple repeated single tasks, to handle multi-step renaming tasks. This is a great change for everyone, and has greatly reduced the need to use Advanced mode.

But Name Mangler 3’s Advanced mode still has a few tricks that you can’t do using the “normal” renaming options. One of the most powerful of these hidden gems is the “sequence identifier” parameter for the sequence action. The help file has this to say about the sequence identifier:

The sequence identifier, if included, indicates that sequence indexes are only inferred from the number of files that share the same identifier, as opposed to the overall number of files to be renamed.

Clear as mud, right? That’s entirely my fault, and I’ll try to come up with better wording in a future update. But for now, here’s a hopefully-clearer description:

The sequence identifier, if included, is used to group files together (by a common criteria) for sequencing. All files that share a sequence identifier will be treated as part of the same sequence.

Hopefully that’s a bit clearer…and here’s a real-world example of how you can put sequence identifiers to use to simplify your renaming tasks.

At right is a collection of photos I took of holiday light displays, divided into three separate “setN” folders (one for each house that I shot).

I’d like to rename the photos to indicate that they’re holiday light photos, and use sequence numbers to differentiate them.

For purposes of this example, the desired name would be “Holiday_Lights_nn,” where “nn” is the sequence number. One way to do this is to use a simple two-step action in Name Mangler 3.

The first step will use the Compose action, to completely remove the old name, and replace it with what I want—in this case, I’d use Holiday_Lights_.

The second step will use the Sequence action to add the sequence number to the end of the filename. (It also needs to include a prefix, to attach the name built with the Compose action.)

The completed two-step action would look like this:

While this works, the problem is that the sequence numbers keep increasing, even as the renaming action moves from folder to folder—the first image in the “set2” folder will start at 06, even though it’s the first image in the folder.

While there’s no way to work around this in Name Mangler’s normal modes, the sequence identifier in Advanced mode was designed to handle cases just like this. Starting fresh, set the rename mode to Advanced, and enter this text:

[concatenate

	"Holiday_Lights_"
	[sequence
		from "1"
		increment by "1"
		sleep "0"
		maximum index ""
		minimum number of digits "2"
		identifier <name of parent folder>
	]
	<.extension>

]

With these commands entered in the Advanced section, the preview shows that the sequence numbers will now reset on each change of parent folder. Note that the gray text above is ignored by Advanced mode; any text that’s not part of a command is considered a comment. You can remove the gray text, or replace it with something that makes more sense to you. Here’s how the renamed files look:

If you understand the Advanced mode syntax above, you’re good to go—you can use the sequence identifier in lots of interesting ways, not just for parent folder names.

For example, use unique sequences based on photos’ pixel sizes by using <number of pixels>. Or use <artist> to create sequences by artist in your folder full of audio files.

If, on the other hand, the above Advanced mode commands look like gobbledygook, then keep reading—I’ll attempt to explain what each line does, so you can hopefully take away enough knowledge to put it to your own use.

Here’s how the above script works, line by line…

[concatenate

The concatenate function is used in many Advanced scripts; it doesn’t do anything other than join anything within its confines into a single result. In other words, it’s how the filename is actually assembled from the various bits.

"Holiday_Lights_"

This is simply the static text that makes up the first part of the filename; the trailing underscore is used as a visual separator from the sequence number.

[sequence

This is the start of the sequence numbering function; what follows are the paramaters to that function.

from "1"
increment by "1"
sleep "0"
maximum index ""
minimum number of digits "2"

This section is the guts of the sequence command. It specifies where to start (1), how many to increase by with each step (1), whether to repeat a number before moving on (0 means do not), what the maximum sequence number should be before resetting (unlimited), and the minimum number of digits in the sequence number (2).

identifier <name of parent folder>

This is the line that does the work to change the sequence number when the parent folder changes. You can use any metadata that Name Mangler is aware of, which gives you a ton of choices for resetting the sequence numbering.

In fact, you’re not limited to just metadata. You can put any Name Mangler expression there. So you can group by a find and replace, by a combination of three metadata items, by random numbers, or whatever you like. There’s almost no limit to how you can create your sequence identifiers.

<.extension>

This appends the dot extension to the newly-created filename.

]

This last closing bracket marks the end of the concatenate, and hence, the end of the new filename. Advanced mode may not get as much exercise as it did in older versions of Name Mangler, but having access to the sequence identifier feature is one good reason to put it to use.

How-to: Replace preference files in Mavericks

Thursday, January 30th, 2014

Something many people do, myself included, is copy an application’s preferences file—either from one Mac to another (as a quick way of getting an app configured to my liking) or to replace a damaged/lost preferences file using a Time Machine backup. Until recently, this process was really simple: quit the app in question, trash the existing prefs file, insert the new prefs file, launch app.

Enter OS X 10.9, aka Mavericks, aka “the easy prefs copy killer.” Apple has made changes to the way the preferences system works in Mavericks, and one casualty of those changes is the easy replacement of an application’s preferences file. A brief bit of before-and-after, and then we’ll get to the fix—or just click the Read More link to jump right to the fix.

In prior versions of OS X, preferences files were always read by the application at launch. So as long as the app wasn’t running, if you replaced its preference file, it would read the new file the next time you launched the program.

In Mavericks, preferences are managed by a background daemon, cfprefsd. This service reads the preferences file once, when you first run the app. It then (I believe) receives notifications if you change the program’s settings while the program is running, and then writes them to the actual preferences file at certain points in time. But cfprefsd always has a copy of those settings in its cache, and that’s what the app gets when it checks its settings. (This reduces hard disk access, which is important in conserving battery life in laptops.)

Here’s the important bit: After you’ve launched an app once, it seems that any subsequent launches also get their preferences from cfprefsd. So if you try the old “replace the prefs while the app isn’t running” trick, you’ll be quite surprised to find that your program launches with its previous settings. It will do this even if you simply delete (via Finder) the old prefs file!

So how do you get around this aggressive caching of preference files?

I’m aware of two solutions, though there may be others (please comment, if you know of a better way).


Update based on comments: The best solution, per the comments below, is to quit the app, open Terminal, paste killall cfprefsd then press Return. This relaunches the prefs system; now relaunch the app, and it should read the modified prefs file.


Method One:

  1. Quit the app, and make sure it is not set to run at login.
  2. Delete the app’s prefs file (typically in ~/Library/Preferences, for non-sandboxed applications).
  3. Logout.
  4. Login.
  5. Copy the prefs file you want to use into its home.
  6. Launch the app.

Method Two:

  1. Quit the app, leaving the ‘bad’ prefs file in place.
  2. Open Terminal, paste the following, and press Return: defaults delete com.COMPANY_ID.APP_ID. Note that COMPANY_ID and APP_ID are taken from the name of the app’s preferences file. Using our own Moom for example, the preferences file is named com.manytricks.Moom.plist, so the command would be defaults delete com.manytricks.Moom.
  3. Copy the prefs file you want to use into the ~/Library/Preferences folder.
  4. Launch the app.
  5. I’ve tested both of these methods and found them to work, but would love to discover there’s an easier solution.

    Net net, if you want to replace prefs files in Mavericks, it’s now more complicated than it used to be…but it is still possible.

How-to: Start and stop Leech on a schedule

Tuesday, November 26th, 2013

Note: This article applies to Leech 2; Leech 3 has built-in scheduling support.

One feature that Leech, our simple download assistant, doesn’t offer is scheduling. For many users, this isn’t an issue, as they can use their internet connection whenever they wish. There is a subset of users, though, who have internet connections that may offer more speed at night, or not have capacity limits at night, or may allow unlimited downloading only at night.

A future version of Leech may offer scheduling, but until that comes to be, you can use AppleScript and a scheduling application to handle the task. It’s not overly complicated, but does require a bit of work in Leech and AppleScript.

The first step is to have Leech queue up all download requests, so you can just copy and paste URLs into it during the day, then let it run at night. To put Leech in queued mode, just make sure there’s not a checkmark by the Queue > Start Downloads Automatically menu item, as seen in the image at right.

Once that’s done, you can add URLs to Leech throughout the day, but they won’t start downloading. Next, you’ll need to create two AppleScripts, one to start those queued downloads, and the other to pause them again.

The scripts

Open AppleScript Editor, in Applications > Utilities, then copy and paste this code:

tell application "System Events"
    if (exists (processes where name is "Leech")) then
        tell application "Leech" to activate
        key code 125 using {command down}
    end if
end tell

This is the “start” script, which will tell Leech to start downloading your queued URLs. Note that if you don’t have any queued downloads, the script won’t do anything (as it can’t start a queue that doesn’t exist.)

Save this script somewhere (such as your user’s Documents folder), with a reasonable filename (Start Leech). Do not close this window, though, as we’ll be revisiting it.

Next, open a new AppleScript Editor window (via Command-N, or File > New). In the new window, paste the following code:

tell application "System Events"
    if (exists (processes where name is "Leech")) then
        tell application "Leech" to activate
        keystroke "P" using {shift down,command down}
    end if
end tell

This is the “stop” script, which will put Leech back into pause mode. Save this script (Stop Leech) into the same location as your other script—and as before, leave the window open.

Scheduling the scripts

Now that you’ve got two scripts, all that’s left to do is to have them run on your schedule. I’ll explain how to do this via OS X’s Calendar application; the directions will differ if you choose to use cron or launchd or some other solution.

In order to use Calendar, the first thing you need to do is convert your scripts to applications, because Calendar can’t run raw AppleScripts (iCal could, but it no longer exists).

In one open editor window, hold down the Option key, then select File > Save As. In the window that appears, change the File Format pop-up to Application, choose a name for your app (it can be the same as the raw script, if you want, as they have different extensions), and save the program.

Do the same for the other window, so that you’ve now saved two application versions of your scripts. Here’s how my setup looks, with the applications (left) and original scripts (right):

Once the application versions have been saved, launch Calendar and add a new event; the basics don’t matter, as you’ll be editing it. Might as well name it Start Leech, though, to help you visually see each task on your schedule.

When the editing window pops up, set the event start time at or after the time when your internet goes to unlimited mode. You don’t need a long-duration event, so set it for five minutes or similar. Then click on the date to open the scheduling details for the event. Set the “repeat” to whatever matches your schedule—daily, weekends only, whatever.

Next, click on None next to “alert” to set the alert for this event. Pick Custom from the pop-up menu; this will open another window (this is progress, really). In that new window, set the first pop-up to “Open file,” then pick “Other” in the second pop-up.

This will then show the standard Open File dialog; navigate to the folder where you saved the Start Leech (or whatever you named it) application. Select the application (not the script), then click the Select button to close the Open File dialog.

Finally, change the third pop-up menu (the one to set the time of the alert) to “At time of event,” then click OK. The screenshot at right shows how my window looked, correctly configured, just before I clicked the OK button.

You’ve now created a recurring event to start Leech’s downloads queue at your preferred time on your preferred schedule. Repeat the process with a new event called Stop Leech. Set this one to be triggered sometime before your unlimited internet usage ends, and point it at the Stop Leech application.

Wrapping it all up

With the scripts, application, and scheduled events created, you’re basically done. Go ahead and launch Leech and start queueing your downloads. When your defined start time arrives, Leech should automatically start your downloads, and then pause again near the end of your free usage period. (You may want to test things first by changing the start/stop times on your scheduled events to a time when you’ll be at the computer, just so you can see that they do work.)

We realize this is somewhat of a stopgap measure for true scheduling in Leech. However, in testing, it works well, and we hope those of you with time-based internet connectivity find it useful.

Toggle Witch off and on via AppleScript

Friday, November 15th, 2013

Recently, a few users have asked about disabling Witch when certain programs are in the foreground. Typically this comes up because of conflicts between Command-Tab or Option-Tab (the two most-common Witch activation keys) and the foreground app. For example, you can’t use Option-Tab in a Remote Desktop Client Windows window, because Witch will grab it. Or when using Fusion to run OS X in a virtual machine, you may find that Command-Tab is trapped by OS X before it gets to your virtual machine.

In those cases, it’d be nice to easily disable Witch, then quickly enable it again when you’re done with the app in question. As of today, you can’t do this within Witch, although we have plans to change that. For now, though, the best solution is to create an AppleScript that will toggle Witch off and on as needed. You can then use any program that can run AppleScripts via hot keys (such as our own Butler) to give yourself a keyboard combo that toggles Witch off and on.

Setting up the AppleScript isn’t overly complicated, though it does differ slightly depending on whether you’re using the App Store or direct version of Witch. If you’re interested in creating your own Witch toggle, read on for the how-to…


To start, launch AppleScript Editor, which you’ll find in the Applications > Utilities folder. It should open to a blank editing window; click anywhere in that window, then paste this code:

on ApplicationIsRunning(appName)
    tell application "System Events" to set appNameIsRunning to exists (processes where name is appName)
    return appNameIsRunning
end ApplicationIsRunning

if ApplicationIsRunning("witchdaemon") then
    do shell script "killall witchdaemon"
else
    do shell script "open 'REPLACE THIS BIT'"
end if

When pasting, hopefully you noticed the REPLACE THIS BIT portion of the code. That’s what you’ll do next, and it’s where the instructions differ for the direct and App Store versions of Witch.

App Store Witch

Assuming you have Witch installed in the Applications folder, highlight REPLACE THIS BIT in the AppleScript Editor, and replace it with this code:

/Applications/Witch.app/Contents/Plugins/Witch.prefPane/Contents/Helpers/witchdaemon.app

Make sure you leave both sets of quotations marks (double and single) in place. Also, if you keep Witch somewhere other than in the /Applications folder, you’ll need to replace /Applications/ with the full path to the folder that holds the Witch application.

Direct Witch

The direct version of Witch is a System Preferences panel; this means it could be installed in one of two places: either in your user’s Library/PreferncePanes folder (if you installed for just your use), or in the top-level Library/PreferencePanes folder (if you installed for all users). You can check this in Finder by using the Go > Go to Folder menu item. Activate that, then enter /Library/PreferencePanes. If you see Witch.prefPane listed here, then use the following for the REPLACE THIS BIT section:

/Library/PreferencePanes/Witch.prefPane/Contents/Helpers/witchdaemon.app

a

If you don’t see Witch listed there, that means it’s installed in your user’s Library/PreferencePanes folder. In that case, use the following for the REPLACE THIS BIT section:

/Users/your_user/Library/PreferencePanes/Witch.prefpane/Contents/Helpers/witchdaemon.app

Note that you’ll also need to replace your_user with the short name of your user, i.e. the name of your home folder.

Testing the code

Once you have all the code in, click the Compile button, and hopefully, you won’t see any error messages. If you do, compare your code to what you see above, and see if you can spot the problem area.

Assuming it compiles, the next step is to test it. Make sure that Witch is running, then click the Run button in the AppleScript Editor. You won’t see any output, but in a second, you should find that Witch no longer works. Click the Run button again, wait a second (it takes just a bit to start Witch), then hit your Witch activation keys. You should see the Witch switcher appear onscreen.

If you do, great—keep reading. If you don’t, go back and compare the code above to your code, and make sure it’s identical and that you’ve replaced the important bit to make it work.

Next steps

Now that you’ve got your toggle code working, save it somewhere (your user’s Documents folder, for instance) as a script. You can then use your favorite macro tool to execute that saved AppleScript. Or you could put it into your Dock.

If you’re a Butler user, you can create the AppleScript directly inside of Butler. Create a new AppleScript smart item, paste in your code as above, and assign it a keyboard shortcut.

Regardless of how you set it up, just run the script (via Dock or keyboard shortcut or whatever) to disable Witch, and run it again to enable Witch. (Remember it takes about a second for Witch to become active.)

As noted, this tip may be superseded by a future release of Witch…but for now, it’s the quickest way to disable and enable Witch on the fly.

How-to: Enable Moom in Mavericks

Wednesday, October 23rd, 2013

Moom is fully compatible with Mavericks, but Apple has changed how users enable the OS X feature (access for assistive devices) that Moom (and some of our other apps) uses to get things done. Enabling this feature isn’t much harder than it was before, but it is different.

Here’s the expert version: After installing Moom 3.1, visit the Privacy tab of the Security & Privacy System Preferences panel, and place a check in the box next to Moom’s entry in the window. Once you’ve done that, Moom should work fine. (If, for some reason, it doesn’t work, please check the end of this blog entry for some troubleshooting tips.)

If you’d like a more-detailed walkthrough on getting Moom to work in Mavericks, keep reading…a


First, make sure you’ve downloaded Moom 3.1 from either our site or the App Store. (Older versions are compatible with Mavericks, but display misleading messages on launch.)

Upon first launch of Moom in Mavericks, you’ll see this dialog:

Click the Open System Preferences button; note that this is not the default, so you can’t just press Return/Enter. After clicking the button, Mavericks will launch System Preferences, switch to the Security & Privacy pane, and then activate the Privacy tab. At this point, you should see this on your screen (click for full-size view):

Make sure you see Moom listed in the right side of the window; it will probably be grayed out and won’t have a checkmark in the box next to its name. To make Moom work, you need to click the lock icon at the bottom of the window, and then enter your administrator’s password when prompted:

After entering your password, the Privacy panel will be unlocked, and you can check the box next to Moom; once the Moom entry looks like this, you’re done:

Once this is set, Moom’s pop-up panel should appear when you hover over the green button, and all functions should work as usual.

What if Moom still isn’t working?

We’ve not had any issues with Moom not working in our testing. However, if you’ve enabled it as described above, and it’s still not working for you (or if you can’t enable the Accessibility flag), please try these fixes, in this order:

  1. Quit Moom, open Terminal, paste this command, then press Return:

    tccutil reset Accessibility

    You won’t see any output, but relaunch Moom and see if you can now enable and use Moom.

  2. Delete Moom completely (just the app), then reboot (not just logout/login, but reboot) your Mac. Then reinstall Moom from our site or the App Store, based on where you bought it originally. Note: Make sure you delete all copies of the Moom application before reinstalling. (You will not lose your custom settings.)

    Launch Moom and follow the instructions to authorize it; it should work.

  3. If Moom still doesn’t work, the next step is to try this tiny free app called AppCleaner. Install it, launch it, then drag the actual Moom application onto it. You’ll see a list of Moom-related files; do not click Delete yet! Instead, uncheck the box next to the Moom.plist file, as shown here:

    This way, you’ll save all your custom settings, and delete only the app and related support files. Once that’s set, click Delete to remove all traces of Moom (and its caches, which may be where the problem resides). Then reinstall Moom and authorize it again, and hopefully it’ll be working—we’ve had three users report success with this app so far.

    If you’d rather not use AppCleaner, you can manually delete the files shown in the above screenshot, using Finder or Terminal.

If none of the above solutions work, the final step is individualized support: Email us, and we’ll proceed to troubleshooting your particular situation.

How to: Restore Command+Arrow keys in Name Mangler

Sunday, March 3rd, 2013

One of the new features in Name Mangler 3 is a comprehensive history of renaming operations. Name Mangler will remember your last 50 (or more, if you change it in prefs) renaming actions. You can access these saved configurations via our history browser:

To make it easier to browse your history, we provide two keyboard shortcuts: Command-Left Arrow (previous configuration) and Command-Right Arrow (next configuration). Experienced keyboard users will instantly recognize that those are the shortcut keys for jumping to the start and end of text strings in an input box, and may wonder how we have the keys serving both roles.

The short answer is “we don’t.” In Name Mangler 3, you can’t use those shortcut keys to navigate input boxes, only to navigate history.

But there is an easy solution, for those who prefer these keys in their text field roles: change the keyboard shortcuts for the history browser. After changing these shortcuts, the Command plus arrow key shortcuts will work as expected in Name Mangler’s text fields.

If you’re experienced with changing OS X keyboard shortcuts, you just need to assign Previous Configuration and Next Configuration to new shortcuts, and you’re done. If you need more specific how-to help, keep reading.

To reassign keyboard shortcuts for an app in OS X, open System Preferences (Name Mangler can remain running), and go to the Keyboard pane. On the Keyboard pane, click the Keyboard Shortcuts tab, click on Application Shortcuts at the bottom left of the window, then click the plus sign at the bottom of the window:

This will drop down a sheet with three fields on it: Application, Menu Title, and Keyboard Shortcut. Click the Application drop-down menu, and look for Name Mangler (or Name Mangler 3, if you’re using the App Store version) in the list. If you don’t see it, click Other and navigate to the app on your hard drive.

In the Menu Title field, type Previous Configuration, and in the Keyboard Shortcut field, type whatever you’d like it to be—Command-Option-Left Arrow, for example. Once you have the panel configured, click Add to save your changes and return to the Keyboard Shortcuts screen.

Click the plus sign once more and repeat the process, but change the Menu Title field to Next Configuration, and assign it different keys (Command-Option-Right Arrow), then click Add.

When you’re done, the Keyboard Shortcuts panel will look something like this:

And that’s all there is to it. When you return to Name Mangler, Command plus arrow keys will work in text fields, and your newly-assigned shortcuts will be used to navigate history.

How to: Migrate from App Store Witch to direct Witch

Tuesday, June 5th, 2012

As you may have heard, the App Store is now enforcing sandboxing. As such, apps that aren’t sandboxed cannot be updated with new features; only bug fix updates are acceptable.

Unfortunately, with the rules that are presently in place, Witch is not sandboxable, which means that today’s release of Witch 3.9.1 is the last with any new features in the App Store—unless Apple changes their mind, which has been known to happen if enough users let them know how they feel about things (hint hint!). We fully intend to continue updating Witch with new functionality, but all such updates will only be applicable to the direct sales version. That’s the bad news…

The good news is that we have a way for you to easily migrate to the direct sales version, and making this move is completely free. The process is actually quite simple, too.

  1. Make sure you’ve run the App Store version of Witch 3.9.1 (it must be the most-recently-updated version) at least once.
  2. After running once, quit the App Store version of Witch.
  3. Download Witch 3.9.1 from our site, and install it. (The direct sales version of Witch is a System Preferences panel, not an application; you’ll find it in the Other section of System Preferences after installation.)
  4. There is no step four. Just check the Enable Witch box in the Witch System Preferences panel, and you’re good to go.

You can tell you’ve successfully licensed your app by looking at the About tab; the license in the middle should look like this:

That’s really all there is to it, with one caveat: you must repeat this process for each Mac—or different user on the same Mac—that you would like to convert. That’s because the conversion is tied to a license file which is specific to each user on each Mac.