From time to time I need to take a screenshot of some application or a part of my desktop. The obvious solution in KDE is KSnapshot, which is perfect if you want a rectangularly-shaped picture.

Unfortunately, sometimes I want to capture something not rectangular, something which looks more like an ellipse, or even some odd shape. That means I have to take the snapshot, go to Krita, edit and save. Four steps. Ugh.

No more!

I have just committed free-region capture to KSnapshot, which makes possible to capture arbitrary shaps:

Now you can capture only the nice logo from our friends over at the Libre Software World Conference, no need to take a rectangle with a lot of background color:

And this would be the result:

Isn’t it nice?

31 Thoughts on “KSnapshot gains free-region capture

  1. It’s a great start, but I think anti-aliasing the edges of the region would go a long way towards making it look more professional. It shouldn’t be too hard to add, should it?

  2. Nice work! Ksnapshot is the best screen shot taking tool.

  3. Very nice feature!, I don’t take screenshot too often but when I do I’m always delighted at what can ksnapshot do, thanks for your work

  4. Very cool feature (agree anti-aliasing option would be nice addition as well), plus I see the “include mouse pointer” option…been looking for that!

  5. Just so marvelous!

    This just brings the last needed feature for screenshots. Now it is easy just to drag and drop the custom area to email or document!

    Btw, Has there usability tests gone about the screenshot choices?
    I think the “Section of the window” should go under “Window under cursor”.

    +1 for antialiasing as well.

  6. Nice, but don’t you still need an image editor to postprocess this image? 🙂

    While you’re at ksnapshot, can you clean up the combo box entries a bit? I think Current Screen should be right below Full Screen and only be visible if a multi monitor setup is used. With the addition of Free Region, the former Region should possibly become Rectangular Region now.

    Maybe it would even be an option to split up the combo box into two widgets, a set of radio buttons like this:

    o Screen
    o Window
    o Arbitrary Region

    and a combo box with options: All screens vs. current screen, full window vs section of a window, rectangular region vs. polynomial (free) region.

  7. This is nice indeed, but i would prefer if some really annoying bugs could be also investigated, such as bug 166190 …

  8. #166190 is not a ksnapshot bug. If it still exists at all, then it’s an issue in global shortcut handling.

  9. This is nice; I would call it something like Freeform Region or Freehand Region, to make it clearer.

  10. I think that a nice feature would be a delay after taking the screenshot. For instance, to capture tooltips messages. Is it feasible ?

  11. @Waldo:
    If you want to capture tooltips, you just need to set the “snapshot delay” and get tooltips shown before starting to “draw” the selection.

    KSnapshot works by taking a snapshot of all the desktop *before* you “draw” the selection, then cropping to your selection. No tooltips will be shown after KSnapshot starts waiting for you to select the area you want to capture.

    Or maybe I’m misunderstanding what you mean 😕

  12. I agree that the new ordering would make a lot of sense.

    I don’t agree with the radio buttons, though. There are not enough options to make drop-down cumbersome and with a drop-down you don’t have sections of the window magically changing to display other options.

    As an aside: Are there any plans to make screenshots of full websites possible? I.e. if a website is broader/longer than the screen, it would still take a shot of the whole page.
    Or should I just file a wishlist item?

  13. @Richard:

    I’m not sure we want to add website capture to KSnapshot. There are several tools specialized in website capture: CutyCapt, Ariya’s webcapture and KTHML2PNG

  14. What KSnapshot really needs is not more complicated to use features at the current stage. While I appreciate your contribution very much, I believe that KSnapshot’s ease of use still needs much love. Compared to the Win7 snapping tool (you may hit me for taking this example, I’d do it myself – but look at it: it’s indeed a much simpler, less geeky tool), KSnapshot is overly slow and complicated. Starting KSnapshot should allow me to instantly mark a region on the screen to capture, then maybe annotate the content with a pen, marker or texttool and copy the result to the clipboard, a file (or attach it directly to a mail, send to kopete contact…). This is the workflow I’m missing, and usually the complex usage pattern this currently involves makes me use it not at all in an everyday matter.

    All the great contributions (like yours) will not count much before the usage workflow of KSnapshot didn’t improve.

  15. @ Kai: This would be possible if one, or both, of two things happened:

    1. ksnapshot gets support for assigning global shortcuts for specific actions. So, for instance, a shortcut for “window under cursor” or “region”, or better yet “window under cursor to file” or “region to clipboard”. There are few enough combinations that this should be feasible.

    2. ksnapshot gets commandline options for particular destinations. For instance an option for “–clipboard” or “–file”. This would allow you to create your own shortcuts like the ones described in 1.

  16. @TheBlackCat Well, not exactly. When looking at the win7 snipping tool, there’s still a GUI between the screen shot and sending it somewhere (file, attachment, clipboard). Your suggestion would only support straight copying to a destination as the old Alt+Print shortcuts did in Windows. This is different from the snipping tool workflow which is more like KSnapshot.

    Actually I argue there is nothing useful to do with the KSnapshot GUI except the region thingy (sending to clipboard or file or attachment is not very different from Alt+Print and paste). It needs some way to further crop or annotate a screenshot before passing it on.

  17. zOMG! How did you take a screenshot of taking a screenshot of a region.

    🙂 Nice work

  18. @blackcat

    This is already possible. There’s a kbackgroundsnapshot binary that offers the facilities you want, just bind it to a key as normal.

  19. Nice! I agree about smoothing-out the edges of a free-select region. If you’re looking for suggestions: I also add drop shadows to every screenshot that I take by opening the file in Krita; adding this as an option to KSnapshot would be slick. It may bring the app to the point of needing a [Configure] or [Options] dialog however.

  20. Nice addition.
    Wish for feature: PRINT captured image. 90% of the time I use ksnapshot I want to print out the image, fit to page.

  21. Pingback: KSnapshot: ora cattura ciò che vuoi! « GNUpress!

  22. KSnapShot is my favourite screenshot tool. I’ve been using it since (I think) KDE 3.0! It’s simple, works well, small, and stays out of my way until I need it. This new “free region” capture just makes a great tool even better.

    Thank you for your work on this!

  23. jospoortvliet on Tuesday 26th October 2010 at 22:36:03 said:

    At the openSUSE conference there were also some comments on KSnapshot, both positive and negative (like in your blog’s comments). I personally love it but I agree that it would be nice if you could more easily do certain actions. You can currently open the result in certain apps. But a second combobox which allows you to send the result directly to flick, the printer or via email would be nice.

    Then of course it would clutter the interface. Maybe it makes sense to rename the ‘open with’ to ‘send to’ and include flickr, printer and IM/email address there?

  24. @jospoortvliet: makes sense to me.

    Adding printing and send to e-mail looks easy.

    Flickr, Facebook, etc seem doable with QtFlickr and QFacebook (any idea if there’s something better?)

    Annotations are also interesting but they will have to wait.

    Antialiasing is rather difficult to implement (at least with my pretty limited image processing skills).

  25. Pingback: KSnapshot te deja capturar regiones poligonales | MuyLinux

  26. Excellent – thank you for this mod, it’s very welcome.

  27. Pingback: Interesting Articles for October 28th at Harsh J

  28. This is already possible. Theres a kbackgroundsnapshot binary that offers the facilities you want, just bind it to a key as normal.

    How? I looked at the command reference, it offers options to let you specify a source, but not a destination.

  29. Pingback: KSnapshot adquiere la posibilidad de captura libre de pantalla : KDE Blog

  30. Pingback: KSnapshot se vuelve social : KDE Blog

  31. Pingback: KSnapshot te deja capturar regiones poligonales | Tutoriales de Informática

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.

Post Navigation