Description
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
Usage
Keyword: snap <time>
<time> is the exposure time (in seconds): I usually just do snap 1, although smaller amounts (use ".") are ok in daylight.
Warning
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"