This is a short shell script (inspired by Dr. Drang) that makes Mac screen shots a bit nicer than normal.
I find OS X's screen shots to be a bit annoying in a few ways:
- The large drop shadow on whole-window screen shots is way too large.
- Having zero drop shadows on all other screen shots is boring.
- Showing the background app or desktop image in a screen shot seems messy.
- Retina-sized screen shots turn out to be WAY too large.
This script relies on 3 things to make it actually work:
- imagemagick (for performing magic[k] on the screen shots)
- pngquant (for initial, lossy compression)
- imageoptim-cli (for added compression)
These all super simple to install if you're already running homebrew*...
$ brew install imagemagick
$ brew install pngquant
$ brew cask install node
$ npm install -g imageoptim-cli
* Yes, this uses homebrew to install node.
Note: These are not required to make the shell script actually work, but they sure do make life a bit easier :)
First things first. To get rid of the window drop shadows, I used OnyX to switch them off. While I was there, I also re-reouted where my screen shots are saved. By default, they're on the ~/Desktop.
Next, I installed Hazel to watch my screen shot output folder. It's not a free app, but I find it quite invaluable and well worth the $30 price tag.
- Add
+the folder where screen shots are placed. (Again, by default they're output to your~/Desktopfolder.) - Add
+a new Rule and name it whatever you'd like. Mine's called "Screen Shot Handler".
For the conditions, leave "If all of the following [...]" alone.
- Change the first rule to:
Namestarts with"Screen". Then click+ - Add:
Namecontains"Shot". Then click+ - Add:
Namedoes not start with"Screen-Shot". Then click+ - Add:
Date Last Modifiedis in the last"1"Minute
For "Do the following [...]"
Display notificationwith pattern: "Processingfile". Click+Run shell scriptembedded script. Click+Display notificationwith pattern: "Your Screen Shot is ready!"
- Go back up to
Run shell scriptand click "Edit Script" - Shell:
/bin/bash - Paste the shell script in the window
- Save your work
None!

