Cheaters 2.0 is up, and it’s a huge step forward. I’ve been inspired by Dash to make it faster, easier and more keyboard-centric.
The first thing to note is that I’m now strongly recommending using Fluid over the Automator version. Gabe Weatherhead put it out there, and it took me a while to get around to trying it, but now that I have I’ll never go back.
Spend the $5 on Fluid and make a menubar app out of it. It also adds page search (F), which is something I’ve wanted forever. I was about to hack it in at the time I tried running in Fluid and found that it solves that and myriad other problems (like having to focus before dismissing). You’ll want a good icon for it; this is the one I’m using because it looks much better in the menubar:
Ok, so on to the changes. I completely redesigned the menu, improved the overall styling for readability and responsiveness (the stylesheet is in Sass now, available in the GitHub repo). Then, I got into the keyboard thing.
Fast switcher
The most important addition is the new fast switcher, triggered with the “f” key. Just type “f” and the first letter of the title of the menu item you want to switch to and it will jump. If there are two sheets with the same letters, just keep typing until it can tell the difference. It’s a fuzzy match, so if you have “HTML” and “HTML5,” you can type “h5” to jump to the latter. Note that if “HTML5” comes before “HTML” in the menu, it will be more difficult to select the “HTML” one as “HTML5” will match first. The system will work with whatever cheat sheets you load.
Here’s a quick video I made to demonstrate this. There have been a lot of changes (especially interface changes) since I recorded it, but it demonstrates the functionality well:
You can also use the fast switcher with numbers. 1-9 will jump to the first nine sheets, with the first sheet being 1. 0 will jump to the last sheet.
Search shortcuts
Just in case you’re looking for something that you don’t have on your cheat sheet, the fast search also works for web searching! You can type “f” to bring it up, then type “?” to start a search. Anything after the “?” will be searched on DuckDuckGo. Using DuckDuckGo means that you can also use “bang searches,” so you can start a query with “?!” and any of DuckDuckGo’s search shortcuts.
There are a couple of shortcuts built in: “?so {query}” will search Stack Overflow, and “?gh {query}” will search GitHub. “?g {query}” will do a Google search instead of DuckDuckGo.
If you’re using Fluid, you can easily jump back to your cheat sheets by hitting “Command-Shift-H” for “home.” This brings me to another big improvement: your active page and “contrast” settings are preserved, even between launches. Cheaters will remember where you were at and what colors it was using.
Keyboard shortcuts
Command-I will now toggle the “contrast” mode, inverting your colors for a dark-on-light or light-on-dark setup.
In addition to normal web page scrolling keys, you can also navigate using vim-like keys. “j” and “k” will move up and down, and “J” and “K” will do it faster (u/d will also move up and down). “G” will jump to the bottom, and “gg” will jump to the top. Also, you can use “.” (period) and “,” (comma) to navigate by section header.
Advanced
For scripters, there’s a JavaScript command you can call externally to switch between cheat sheets: Cheaters.switchTo()
. The parameter for it is any string or single digit. If you call Cheaters.switchTo('git')
, it will find the first page matching “git” and switch to it. You can jump to a numbered page using Cheaters.switchTo(3)
. These numbers are 1-indexed and correlate with the keyboard shortcuts in the fast switcher. You can also retrieve the current index from the variable Cheaters.activeItem
, but note that the result of that is 0-index, so it’s 0-8 instead of 1-9.
These commands are useful if you’re using Fluid and want to control it with AppleScript. Just use something like tell app "Cheaters" to do javascript "Cheaters.switchTo('jquery')"
. You can pass it a variable using any kind of launcher you can script.
Get it
At the time of this writing I haven’t updated the README yet. Installation is the same, though. You need a local web server (OS X built-in Apache does fine). Then you can just point your Fluid browser or Automator action to the index page and you’re good to go.
You can find the project on GitHub, or download it below.