Snap to Desktop

An Alfred Workflow

Short Description

Takes a picture with your iSight, saves it to the desktop as "picture.jpg", and then previews it using Quick Look.

Last Updated

13 Nov 2014


Mountain Lion
Snow Leopard
Yes Yes Yes Yes Yes



Bundle ID





I was fed up with having to open Photo Booth, click on the shutter, wait for the delay and drag the picture to the desktop whenever I wanted to take a quick iSight picture,  so did a little googling and came up with imagesnap, a command line tool: it immediately takes a shot using iSight (the LED goes green during exposure) and outputs it to a JPG file.

I decided to wrap it around a script filter workflow that accesses the tool, which takes a picture imediately (smile) and saves it to the desktop as "picture.jpg", and then previews it using Quick Look.

I kept the workflow straightforward, but you can simply edit the bash script to tweak imagesnap or Alfred's options (e.g. file name and destination, trigger behaviour). This is my first workflow: feel free to share it, comment and suggest improvements!

The imagesnap binary (v0.2.5) is bundled within the workflow, so no need to download it separately, copy it to /usr/bin, etc.. imagesnap is public domain,courtesy of iHarder: check them out!


Keywords: iSight, photo, image, imagesnap


Keyword: snap <time>

<time> is the exposure time (in seconds): I usually just do snap 1, although smaller amounts (use ".") are ok in daylight.


Quick Look window title: for some reason, it reads "[DEBUG] picture.jpg"; I checked the man page for qlmanage and tried to change the debug level (-d flag), but it didn't work.

Non iSight users: imagesnap is meant to work with other connected devices (didn't try it): read their manual to find out how and edit the script accordingly, if you want to.

imagesnap bug: as detailed here, in more recent Macbooks (> 2013), invoking imagesnap without arguments can output a black image. This is due to some bug in v0.2.5 and older versions, and can be overcome by using the -w flag: supposedly, it "warms up" the camera during a certain amount of time (i.e. delays the shot), but I found that it actually leads to a longer exposure time: be still during the shot or it will go blurry!

If this doesn't happen to you, just edit the script filter, select "No argument" and delete the "-w {query}" string, so that no numerical value is needed (i.e. just type "snap" and enter).

Bash Script

./imagesnap -w {query} ~/Desktop/picture.jpg; qlmanage -p "~/Desktop/picture.jpg"