Screenshot tools

I'm writing a book. It's very exciting. As part of the book I have to take a lot of screen shots. A few weeks ago I was in Hungary for DrupalCon. There were a lot of Mac users. They all had a fancy tool called Skitch for taking screenshots. Skitch allows you to easily take a snapshot and then annotate the screenshot and then upload it to the web. How cool is that!? (Very cool if you're doing UI work, sort of overkill if you're a regular person.) Excellent for UI design, excellent for sharing error messages, excellent for taking screenshots for books (well the upload part isn't required). There was also a Web service that allowed you to capture only part of a Web page. I used it once. And blogged it. I thought it was really cool at the time, but now I can't remember what the service was and searching my own blog is turning up fail. Maybe I just dreamed it.

Knowing what was possible in a screenshot tool I decided to look beyond the basic GNOME Take Screenshot application I'd been using. I found only two other obvious options in the Ubuntu repository: kGrab and kScreenShot. This is Linux, there should be a billion little applications to take screenshots! A command line search with apt-cache search didn't reveal much more..and included things that didn't really make sense (like tdl a command-line to do list manager...and gentoo and ogle). I was curious so I installed tdl, looked at for about 14 seconds and then quit out of and will probably never remember that I have it installed... jp2a looked like fun though (that's a little app to convert jpgs to ascii). Did I mention I'm easily distracted? Screenshots are difficult for me because they tend to take me away from the task at hand. Even when I'm just writing about taking screenshots. So back to the task at hand.

Of the three applications that I found, none of them are really meeting my needs entirely. And none of them have the really cool features that Skitch has. I've made up three lists: need, want, indifferent. The "need" list is a series of things that I'm used to and now consider "essential." Yes I could live without some of them, but it makes my life a lot easier to have them. The "want" list is the full blown feature set and "indifferent" are things that Skitch offers, but that I don't really consider "essential."

Things I need

  • visible, obvious and persistent configuration options
  • ability to select a whole window, or part of a window
  • configurable time delay for screenshot to set up menus in GUIs (an "I'm ready now" keystroke would also be sort of cool)
  • easy file naming and also file type configuration (file name based on browser window is actually less helpful than the autonumbering provided by the KDE-based apps; although generally I really like file name based on browser window)
  • ability to take multiple screenshots without having to re-open the application each time
  • ability to minimize the tool between screenshots (I often need to do two or three screens with only slightly different information showing in each; I don't want to wait even a nano second to fire up the screenshot tool again)

Things I want

  • annotate screenshots immediately (opening GiMP to annotate is too time consuming)
  • upload to Web service (e.g. flickr)
  • grayscale the screenshot (I'm writing a book, I need black and white images)
  • highlight part of the screenshot (add a mask to gray out most of the screen except one spot)
  • hide/show for browser chrome elements including tabs, bookmark toolbar
  • ability to stitch several screenshots together (especially for long browser pages)
  • hide/show cursor as part of the screenshot (sometimes I want to show an "action" that's being performed)
  • tab to show history of recent screenshots ("argh! did I take the default settings, or just skip to the "next" page?")
  • input box to tag screenshots (single line, space seperated, option to use the same tags as the last image)
  • other? there may have been more before firefox killed my page...

Open message to Firefox: move your fricking reload button! It's WAY too close to the "view" and "history" menu items and I just lost a HUGE amount of data trying to confirm a view setting. This is WRONG. You should never delete my information without asking first. *sigh*

Things I'm indifferent about

  • resize (I typically want screen-sized screenshots)
  • crop (this can already be done by a selection tool at the time of screen shot creation)

There are probably other screenshot tools for Linux. I'd like to know about them. I'm aware of wink and will be exploring it further when I delve into screencasting. Wink seems to do a lot of what I want, but does not seem to have an option for individual screenshots, just screenshots combined into a screencast. It might be there, but hidden under a confusing set of options. The Pencil add on for Firefox also seems very cool. I have it installed, but really haven't played with it (is it just me or can you not import a screenshot into Pencil? seems like that would be an obvious thing you'd want to do with a browser plug-in). Screengrab does long pages, which is cool, but it's a separate app and I want something that does all things from a single tool.

Update A lot of people are recommending GiMP. I couldn't figure out why because I knew I talked about why I didn't like using the GiMP for this. And then I remembered: Firefox ate that information. A quick update on why I don't use the GiMP for screenshots. It's really simple. It opens one too many menus. Writing requires a text editor (vim), a browser (typically with multiple tabs) and a screen shot tool (and music and email and other distractors). When I'm writing I have a vim shortcut that inserts the structure for an image. I then pop over to my browser, set it up for the desired screen shot, take the screenshot and then go back to vim to add the absolutely correct caption.

If I use the GiMP I have to tab-cycle through an extra window because the GiMP adds a separate screen for the image and the menu/palate system. This is not helpful to the way I write. As far as annotating goes. Yup, I can do that from the GiMP as well. but I have to think about each tool that I want to use. Sketches are added to the same layer by default and can't be moved. Again, GiMP can do what I want, but it is (by milliseconds) too time consuming. Anything that is too time consuming takes me away from the task of writing because I suddenly end up spending more time fidgeting than I do writing. This blog post, for example, took me 2.5 hours to write this morning and another hour this afternoon (installing applications, confirming functionality, adding this update).

Last night was one of my helper nights for my small business clients. They all bring their laptops and I ... help them ... typically on their Web sites, but sometimes we veer off in other directions as well. One of my clients had picked up a new Mac earlier in the day. He was switching from Windows. He talked about how much he loved using OSX because everything was just "as expected" .. when he made a guess about how something should work, it worked that way. Linux can be this good too. We just need to set higher expectations of ourselves. It can't be good enough to say, "Oh you just have to modified your work flow like this." Our tools need to work perfectly and adjust to our needs, instead of us adjusting to them. I love using the GiMP for a lot of things. Taking screenshots isn't one of them. Right tool for the job. Something that does bezier curves is simply not the right tool for this job. :) End of update

 

And finally: a short review of the tools I've tried out. From this list I currently use KSnapshot for most things, but still use the GNOME Take Screenshot application when I just need something really really fast.

GNOME Take Screenshot

What I started with ... shows my typical use (current window with two second delay).

GNOME Take Screenshot -my setup

Things I do like:

  • Quick and dirty and all config options shown.
  • Very obvious options: grab the whole desktop or grab the current window.

Things I don't like:

  • Does not stay open after finishing a screenshot.
  • No obvious widget to change file type (I have to save in TIFF).
  • Does not save configuration options.
  • Save dialogue (not easy to save the image anywhere other than favourite folders)
  • If you don't include a delay there is a shadow of the Take Screenshot dialogue box included in the image.

kGrab

kGrab

Things I do like:

  • Obvious widget to change the file type when saving.
  • Stays open after taking a screen shot.
  • Can be minimized.

Things I don't like:

  • Configuration options are hidden under settings (takes too much fiddling to change modes)
  • Capture mode titles mean nothing to me (Region vs Section of Window)
  • I don't know which type of screen shot I'm about to take. "Was this 'window under cursor'? Or 'region'?"
  • The bottom right corner of the screen shot shows a series of lines to indicate this was a selection of a screen. Although the lines don't show up in the final image, there is no way to know this until you close and re-open the file in a different graphics program.
  • You have to add a delay when doing Region because it just sort of kicks you into the select
  • You can't resize the section. As soon as the mouse lifts the screenshot is taken.

KSnapshot

KSnapshot

Things I do like:

  • Stays open after taking the screenshot.
  • File naming dialogue allows you to easily save the screenshot anywhere.
  • Visible configuration options that are remembered between sessions.
  • Resizable "Region" capture. LOVE this.

Things I don't like:

  • Cannot minimize the application.
  • Capture mode language: what's the difference between Region and Section of Window? I can never remember without checking first.
  • The bottom right corner of the screen shot shows a series of lines to indicate this was a selection of a screen. Although the lines don't show up in the final image, there is no way to know this until you close and re-open the file in a different graphics program.

Update #2: GScrot (referenced in the comments) is now renamed Shutter.

How about GScrot?

How about GScrot?

Compiz has a built-in

Compiz has a built-in screenshot tool. Enable it in the advanced settings, then every time you need a screenshot you hold your key and drag a box around the thing you want a screenshot of. You get a png on your desktop immediately afterwards.
I'm also not sure why you don't like the Gimp, it has all the features you possibly need (delay, take a screenshot of a single window, all sorts of image manipulation options, ...) and starts up in only 3 seconds or so.

You beat me to it. I also

You beat me to it. I also like Compiz's annotate plugin for when I'm talking to people about some program, though I suspect proper typed notes would be more appropriate here rather than quick scribbles.

I just noticed that my post

I just noticed that my post got garbled a bit. It should say "...hold your [super] key and...". The angled brackets I'd used got filtered out.

Completely OT: I also didn't mean to reply directly peder's post, I just hit the first 'reply' link I saw, ignoring the 'add new comment' button. There's something about this website's design that didn't exactly make it clear to me what I was supposed to hit to comment.

Anyway, I hope your book helps with making the various desktop environments even better.

I second Gscrot. It is

I second Gscrot. It is awesome. Uploads for you, takes a screenshot with the window border and compiz fine.

It also has plugins that allow you to apply effects to the image - but atm they're a bit limited. I read that it's the next big focus in the application though.

Assuming many of your

Assuming many of your screenshots are of web pages you could try looking at firefox addons. They can select by div, give you a screenshot of the whole page (rather than having to scroll down, take multiple images and then stitch them together) ...

Two that seem popular (that I haven't used) are FireShot and Screengrab! Good luck with them, and let us know how you go ...

An older article, but it

An older article, but it references a few command line tools:
http://www.linux.com/feature/57772

KSnapshot is minimize-able

KSnapshot is minimize-able when run in a KDE 4 desktop using KDE's window management. Perhaps this is a problem with your Compiz setup? (I'm assuming you are using Compiz)

Like peder said, gscrot ist

Like peder said, gscrot ist missing on your list. Take a look at it. It's quite new on the "market", but it has a lot of features... http://gscrot.ubuntu-projekte.de/

I just wish GNOMEs built-in

I just wish GNOMEs built-in had selectable area. I don't think I ever take a screenshot without cropping it afterwards. Annotate would be fantastic. Resize would be a nice optional, but not necessary.

Hi Great post ;-) Have you

Hi
Great post ;-)
Have you contacted the projects and informed them about your experience? Some of the things you wrote under "Things I don't like" could even be posted as a bug. Just a thought.

Can't say anything about

Can't say anything about snapshot capturing ... but regarding the firefox service you remembered at the beginning of the post, it is called Clipmarks, and is still very alive and kicking, and probably as cool as ever (have not used it in some time). :-)

Link to the addon download page:

https://addons.mozilla.org/it/firefox/addon/1407

The GIMP does everything on

The GIMP does everything on your need and want lists, except for tags, uploading, and showing the mouse cursor. File -> Acquire -> Screen shot...

about the FF button. ummm

about the FF button. ummm you know you can move it yourself. right click a bar > customize

You're not alone. I have

You're not alone. I have been looking for something similar for a while. Actually all I want to do is:

Take a screen shot, draw some arrows/boxes/circles on it, and add some big readable text, and save it.

I refuse to use gimp to do this because it is overkill in the worst way - dealing with brushes, arrows and layers - bleh. The whole process should take a matter of seconds, start to finish, imo.

If you (or anyone) knows a decent solution please share - I'm sure there are a lot of people who would
find it useful!

Drupal User's Guide

Drupal User's Guide

Site building for Drupal 7. Includes in-depth information on Drupal's most popular site building modules, SEO and accessibility. Two complete case studies are included in the book along with the tools you'll need to build (almost) any Web site with Drupal.

Available from Amazon.com.

Front End Drupal

Front End Drupal

The industry go-to for learning theming in Drupal 6. A great companion to Lullabot's book, Using Drupal.

Available from Amazon.com.