Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've been building a website for a guy who uses Mac OS X and occasionally he sends me screenshots of bugs. They come out looking like this:

A pretty screenshot

This is fairly typical of Mac screenshots. You get the window decorations, the shadow from the window and a white or transparent background (not the desktop wallpaper -- I've checked).

Compare this to an Ubuntu window-shot (Alt+Print screen):

It's impossible to keep a straight face and say the Ubuntu one anywhere near as elegant.

My question is: Is there an application that can do this in Ubuntu?

Edit: Follow up: Is there an application that can do this in one move? Shutter is pretty good but running the plugin for every screenshot is pretty tiresome as it doesn't seem to remember my preference (I want south-shadow and that requires selecting south, then clicking refresh, then save) and it's more clicks than I'd like.

Is there a simple way of telling shutter I want south-shadow for all screenshots (except entire desktop and area-selection)?

share|improve this question
2  
but if you take a screenshot of just the window you wont get the wallpaper?! –  Alvar Jun 26 '11 at 10:21
1  
Kubuntu's default application is very good, Mac's or Window's I think are worse. It's called KSnapshot, I don't know how it works on Ubuntu but on Kubuntu it is great. Keep in mind, everything Ubuntu has, there is a better alternative in KDE :) –  Lilian A. Moraru Feb 26 '12 at 21:50

9 Answers 9

up vote 36 down vote accepted

Using Shutter

  • First go to Edit -> Preferences and tick the two options mentioned below .

  • Now Take the screenshot of a window and right-click and select run a plugin .

  • Now select Hard Shadow and run it .

  • Your Final Screenshot will look like this .

Pretty Screenshot!

Using gnome-screenshot

  • Launch 'Take Screenshot' from the dash and select 'Include the window border' with the Effect Drop 'Shadow' or 'Border' and then take the screenshot.

  • To do the same using the terminal ( Ctrl + Alt + T ) paste

    gnome-screenshot -w -b -d 5 -e border

where 5 is delay in seconds and border can be replaced with shadow for 'Drop Shadow' .

share|improve this answer
    
Why not hit <kbd>ALT</kbd> + <kbd>F2</kbd> and an alias? Wouldn't that make things easier? EXAMPLE: <kbd>ALT</kbd> + <kbd>F2</kbd> (Run Command window shows) gscreenshot (Gnome-screenshot runs) –  Joe the Person Jun 26 '11 at 20:54
    
gnome-screenshot -wbe shadow is very effective. –  Oli Sep 4 '12 at 12:31

Shutter install shutter

You can achieve this in Shutter. To grab a whole window, including decorations, you can right click on the notification icon then click 'Window under Cursor' or from the application window, click the window icon (4th from the left in the toolbar). You can then select a window with your mouse to take the screenshot of that window.

To make rounded window decorations look better, go into Edit->Preferences, click the 'Advanced' tab and tick 'Force rounded window corners'.

Force Rounded Window Corners

To add a shadow effect, once you have taken a screenshot, click Screenshot->Run a Plugin... and choose 'Hard Shadow' then click 'Run'.

Choose a plug-in

You can then edit the options for the shadow and click 'Save' to apply the effect.

Hard Shadow

The end result looks something like this:

End Result

share|improve this answer
2  
But does it have a plugin to draw hand-drawn circles? –  Random832 Jun 26 '11 at 21:00
1  
@Random832 that's not a plugin but you can do it by clicking the edit button on the toolbar (second button from the right). –  dv3500ea Jun 27 '11 at 13:08

KWIN (KDE's window manager) added a functionality like that recently: https://svn.reviewboard.kde.org/r/4814/ KWIN is offering the API via DBUS. If you are using KDE you can simply use KSnapshot to get a screenshot like that ("window under cursor").

If we want to have this functionality in Unity(or Classic Desktop) Compiz needs to offer an API for it. I have written a feature request for it: https://bugs.launchpad.net/unity/+bug/781280

I would love to implement it for Shutter, as well ;-)

share|improve this answer
    
As always, KDE alternatives are way better. –  Lilian A. Moraru Feb 26 '12 at 21:53

To answer your follow-up question ("Is there a simple way of telling shutter I want south-shadow for all screenshots?"), unfortunately no. There is an open request to allow automatically running plugins.

share|improve this answer

KSnapshot

enter image description here

A really great application from KDE, to make a screenshot just press PrtScreen, you don't need plugins or any other complicated stuff. I am not sure if it works on Ubuntu but on Kubuntu it works just great. Here is a link to the "official" page: http://kde.org/applications/graphics/ksnapshot/

To install it on Ubuntu try writing into the terminal: sudo apt-get install ksnapshot

share|improve this answer

Customizable automatic solution using scrot and imagemagick


Overview

scrot is a highly customizable CLI screenshot utility. In this example we utilize its capability to pass screenshots to external programs in order to add a pretty dropshadow effect with imagemagick.

Note: This method does not work properly under Unity and more than likely won't work on any other WM with rounded borders, either. You can still capture images of course, but the drop shadow will be applied not only to the window but also to parts of the background. You might be able to troubleshoot this by replacing scrot with gnome-screenshot and adjust the script accordingly.


Sample shot

enter image description here


Dropshadow script

#!/bin/bash
# NAME:         dropshadow.sh
# VERSION:      
# AUTHOR:       (c) 2013 Glutanimate
# DESCRIPTION:  - adds transparent dropshadow to images (e.g. screenshots)
#               - moves them to predefined screenshot folder
# FEATURES:     
# DEPENDENCIES: imagemagick suite
#
# LICENSE:      MIT license (http://opensource.org/licenses/MIT)
#
# NOTICE:       THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
#               INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
#               PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
#               LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
#               TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 
#               OR OTHER DEALINGS IN THE SOFTWARE.
#
#
# USAGE:        dropshadow.sh <image>

SCREENSHOTFOLDER="$HOME/Pictures/Screenshots"


FILE="${1}"
FILENAME="${FILE##*/}"
FILEBASE="${FILENAME%.*}"

convert "${FILE}" \( +clone -background black -shadow 80x20+0+15 \) +swap -background transparent -layers merge +repage "$SCREENSHOTFOLDER/${FILEBASE}.png"

rm "$FILE" #remove this line to preserve original image

Note: Original convert command-line by Stephen Connolly.


How to integrate it into your system

Proceed to bind the following command-line to a key of your choice and you should be ready to go:

scrot -szb -e 'dropshadow.sh $f'

If you are running LXDE/Openbox like me you can add the following keybind to your lxde-rc.xml:

<keybind key="C-Print"><action name="Execute"><execute>scrot -szb -e 'dropshadow.sh $f'</execute></action></keybind>

Note: Make sure to either include dropshadow.sh in your PATH or to replace it with the actual location of the script in your file system.


Usage

Hit the keyboard combo you defined in the previous step (e.g. CTRL+Print) and click on a window of your choice.

share|improve this answer
1  
I imagine this fares less well with rounded corners but it's a nice solution nonetheless. –  Oli Oct 1 '13 at 13:13
    
@Oli: thanks! I just tried it out under Unity and you're right. If you set scrot to include the window borders it will capture a small area around the actual window, including whatever is behind. It's a bummer, but what can you do :/. I'll add a note to my answer. –  Glutanimate Oct 1 '13 at 13:26

If you use Google Chrome or Chromium then there is an extension than will capture all of the screen, a visible part of the page or capture a selected area.

Google Chrome: Awesome Screenshot

share|improve this answer

Are you running Compiz? If so, go to Compiz Settings (you must install compiz-settings if you have not done so yet) and:

Activate the screenshot plugin.

Set the folder to which it saves.

Then all you have to do is press [Super] and [Click and Drag]. The area you select will be saved to the destination you have set.

share|improve this answer
1  
While this is a nice trick - I don't see how this answers the question about taking pretty screenshots one window (per the description and examples) –  Oli Jun 29 '11 at 7:32
    
I was so used to using ctrl+cmd+shift+4 on the iMac that I barely if ever used the window option, I misunderstood. My apologies. –  OttoRobba Jul 8 '11 at 1:56

Taking a mac, like screenshots is possible to be made by simply changing the default gnome-screenshot behaviour. You don't need shutter for that :)

On http://www.pc-freak.net/blog/how-to-take-area-screenshots-in-gnome-take-quick-area-selection-screenshots-in-g-linux-and-bsd/

You can read thorough tutorial for improving GNOME default screenshot behaviour and how to assign keys for region selection screenshota with added the drop shadow / border effects in.

Best

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.