Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Save a screenshot to Dropbox with a keyboard shortcut

DZone's Guide to

Save a screenshot to Dropbox with a keyboard shortcut

· Web Dev Zone ·
Free Resource

Learn how error monitoring with Sentry closes the gap between the product team and your customers. With Sentry, you can focus on what you do best: building and scaling software that makes your users’ lives better.

It's not uncommon for me to call my product manager over to my desk half a dozen times on a given day to look at what I'm working on. To speed things up, I decided to start IMing him screen shots instead. Here is a BASH script that builds on Drjnet's excellent script, but which also allows you to select just a small region of your screen to capture.

#!/bin/bash

# Setup filename for the screenshot
myfile=$(date +%Y%m%d%S).png

#Setup paths to dropbox & full url to new screenshot
dropboxwebpath='http://dl.dropbox.com/u/422013/temp/' # PUT YOUR DROPBOX USERID HERE
dropboxfileurl=$dropboxwebpath$myfile

# see: http://code.google.com/p/xmonad/issues/detail?id=476
sleep 0.2

# Use scrot to take a screenshot and stick it in your dropbox screenshots folder
scrot $myfile -e 'mv $f ~/Dropbox/Public/temp/' -s

#  Put full URL to new screenshot into clipboard
echo $dropboxfileurl | xclip -selection c

Note the sleep; that's important to get around a race condition between scrot and your window manager for access to your mouse/keyboard.

To install as a keyboard shortcut (I have mine bound to Windows + PrtScr), just launch the "Keyboard" app in Ubuntu, and add it under Shortcuts -> Custom Shortcuts.

What’s the best way to boost the efficiency of your product team and ship with confidence? Check out this ebook to learn how Sentry's real-time error monitoring helps developers stay in their workflow to fix bugs before the user even knows there’s a problem.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}