22

I take screenshots a lot. I usually take screenshot of an area, I then recheck if I have the desired area and then copy it to clipboard.

I want to change this behaviour so that immediately upon pressing Shift+PrntScr the screen capture application allows me to select an area, and immediately afterwards it provides me with the option to save to a particular location or clipboard.

I want Shift+PrntScr to bring up a pop-up screen like this:

gnome-screenshot

16

Try this answer first to get something identical to the old behaviour.


You may create a new keyboard shortcut for the command

gnome-screenshot --interactive

as an alternative.

To do that follow the steps.

  1. Open Settings > Devices > Keyboard and scroll down to the bottom.
  2. Click on the + symbol. A dialogue should pop up.
  3. Enter any name you like in the Name box.
  4. Enter gnome-screenshot --interactive in the Command box.
  5. Click on the Set Shortcut... button and set any keyboard combination which doesn't cause any conflict, for example Super+Print.
  6. Log out and log in again.

Now whenever you press Super+Print a window offering various screenshot options (whole screen/current window/selected area) should appear. Once you take the screenshot it will offer you to choose the location to save the screenshot as in the image in your question.

For convenience you may first change the shortcut for "Save a screenshot to Pictures" in the keyboard shortcut list to something else like Super+Print and assign Print to the custom shortcut you just created.


Also you might want to try using

gnome-screenshot -a -c

This command lets you straight away capture an area and copy the image to the clipboard.


Refer to this answer for an ugly workaround to replicate the old behaviour that lets you choose the folder to save the screenshot after capturing.

| improve this answer | |
  • 2
    This works but when i press Shift+print it shows the dialogue to choose to grab an area.. when i am finishing grabbing the area only then dialogue comes that allows me to choose a location to save. I want to cut the first step. I want the following. 1st press Shift+print .. which will allow me to grab an area.. and immediately after it provide me with the option to save to a particular location or clipboard. – nazar2sfive Nov 11 '17 at 12:20
  • @nazar2sfive Unfortunately, it seems not possible with gnome-screenshot. For some reason GNOME developers think all the users always want to save screenshots in the default folder! A command to capture an area is gnome-screenshot -a, but if you run it, it will save the screenshot in the default folder without showing any prompt. – pomsky Nov 11 '17 at 13:20
  • @nazar2sfive and the command gnome-screenshot -a -c lets you capture an area and copy the image to clipboard. – pomsky Nov 11 '17 at 13:26
  • @pomsky this method is definitely better than without it. But you cannot preview captured image before posting/sending – Herrgott Jun 3 '18 at 12:42
  • @Herrgott See my new answer, it is achievable after all. – pomsky Jun 7 '19 at 12:58
5

Here is one ugly workaround to replicate the old behaviour that lets you choose the folder to save the screenshot after capturing.

Step one

You'll need zenity. If it's not installed, install it first by running

sudo apt install zenity

Then create a script, say text file named prtscr-chooser.sh somewhere, say in your home directory. Add the following lines to the file:

#!/bin/bash
gnome-screenshot -f ~/temporary-screenshot &&
SCREENSHOT=$(zenity --file-selection --save --confirm-overwrite)
mv ~/temporary-screenshot "$SCREENSHOT" ||
rm ~/temporary-screenshot

(Put gnome-screenshot -a in place of gnome-screenshot in the second line to capture an area instead of the whole desktop)

Finally make the script executable (refer to this).

Step two

Assign the script to Print Screen:

  1. Open Settings > Devices > Keyboard.
  2. Unbind Print Screen, i.e. change or remove the shortcut for 'Save a screenshot to Pictures'.
  3. Scroll down to the bottom.
  4. Click the '+' symbol. A dialogue should pop up.
  5. Enter any name you like in the 'Name' box.
  6. Enter full path to the script in the 'Command' box, i.e. in this case enter
    /home/YOUR-USERNAME/prtscr-chooser.sh (your actual username in place of YOUR-USERNAME).
  7. Click the 'Set Shortcut...' button and press Print Screen.
  8. Log out and log in again.

(You can follow the same method to assign the script the some other keyboard combination, e.g. Shift+Print Screen)

Now you should be getting a 'save as' dialogue which will let you choose the folder and name for the screenshot.

| improve this answer | |
  • 4
    +1; I don't care if it is ugly, the important thing is if it makes things work in a convenient way for the user :-) – sudodus Dec 31 '18 at 20:49
3

You can install a Gnome extension called Screenshot tool. Very handy, a dialogue box will pop up asking for copying or saving the screenshot just taken.

| improve this answer | |
3

You can get the old behaviour back using the screenshot tool from MATE desktop environment, example:
enter image description here
You should be able to use this on GNOME without an issue.

First install mate-utils by running the following command in Terminal:

sudo apt install mate-utils

Then you would be able to get the old behaviour with the mate-panel-screenshot command. You can use the -a or -w options with this command for capturing an area or the focussed window, respectively, instead of the whole screen.

You can assign the command to PrtScr (or Shift+PrtScr or Alt+PrtScr) following the steps below:

  1. Open Settings > Devices > Keyboard.
  2. Unbind PrtScr (or Shift+PrtScr or Alt+PrtScr), i.e. change or remove the shortcut for 'Save a screenshot to Pictures' (or 'Save a screenshot of an area to Pictures' or 'Save a screenshot of a window to Pictures').
  3. Scroll down to the bottom.
  4. Click the '+' symbol. A dialogue should pop up.
  5. Enter any name you like in the 'Name' box.
  6. Enter the command mate-panel-screenshot in the 'Command' box (or mate-panel-screenshot -a for an area or mate-panel-screenshot -w for a window).
  7. Click the 'Set Shortcut...' button and press PrtScr (or Shift+PrtScr or Alt+PrtScr).
  8. Log out and log in again.
| improve this answer | |
  • +1 Great answer. However, does the shortcut for mate-panel-screenshot -a work for you? When I write the command into the terminal it allows me to select an area, but when I bind the command to Shift + PrtScr via "Set Shortcut" the selection does not show up... Any ideas? – jII Jul 25 '19 at 14:40
  • @jII Yes, that works for me. Have you tried rebooting once after setting the shortcut? Also what happens if you use mate-screenshot -a instead of mate-panel-screenshot -a? – pomsky Jul 25 '19 at 15:24
  • 1
    I managed to get Shift + PrtScr to show the cursor for selecting the area, but only if I hold down PrtScr for one or two seconds (the other keyboard shortcuts are instantaenous). Not sure why there is a delay, but it is good enough. Thanks against for posting your solution. – jII Jul 25 '19 at 16:07
2

The previous behaviour of gnome-screenshot (as illustrated in the question) was press PrtScrn, possibly with modifier keys, to take the shot and then the save-as dialogue would come up.

No solution suggested for gnome-screenshot-3.25.0 replicates exactly that. The only way I managed was to install gnome-screenshot_3.10.1 and use apt hold to stick it there.

Not a "good" solution technically.

sudo apt remove gnome-screenshot

Download the 3.10 package rather than adding the Trusty repos

sudo apt install ./gnome-screenshot_3.10.1-0ubuntu1_i386.deb
sudo apt-mark hold gnome-screenshot
| improve this answer | |
1

There is no popup [from the hotkey combos] now, but the screenshot tool is still there in Ubuntu 17.10.

You can find it via Activities (in the top left corner) if you type a letter or a few letters, s, sc, scr ...

enter image description here

Click on the camera icon, and you get the screenshot app window.

enter image description here

| improve this answer | |
  • Can you bind this to the print screen key? – tttppp Nov 1 '17 at 14:30
  • @tttppp, You can try according to this link, askubuntu.com/questions/597395/… ; I don't know if the method is still working in the environment of 17.10. – sudodus Nov 1 '17 at 14:35
  • 1
    Sorry - I didn't make myself clear. Can you bind the "Take Screenshot" action to a key? Is there a command line parameter you can pass to the Screenshot app that will cause it to take the screenshot? I can run "gnome-screenshot" and it will cause the screen to flash, but I don't have a window pop up, or I can run "gnome-screenshot -i" which will bring up the window you've shown. I'd like to execute a command that does "gnome-screenshot -i" and then 'presses' the green "Take Screenshot" button in one go. – tttppp Nov 1 '17 at 16:24
  • I understand. I cannot find any option to do exactly what you want (tested in Ubuntu 17.10 running Wayland). Either it snaps at once and saves a file with the date and time in the file name, or you come to the first window (which is shown in my answer). I think the fastest action from that window is to press the Enter key, which shoots a snap. After that you can press the Enter key again and save a file with the date and time in the file name, or select another file name and press the Enter key (or click on the green button). -- The PrintScreen key works (but without any interaction). – sudodus Nov 1 '17 at 17:58
  • @tttppp, Does my previous comment answer the questions in your previous comment? – sudodus Nov 2 '17 at 7:02
0

This script:

  1. Take screenshot of an area
  2. Copy it to clipboard (automatically)
  3. Show image
  4. Let you save it wherever you want

Step 1:

Create prtscr-chooser.sh file

gnome-screenshot -a -f ~/temporary-screenshot                    #take screenshot of an area
xclip -selection clipboard -t image/png -i temporary-screenshot  #copy to clipboard 
eog ~/temporary-screenshot                                       #open figure
SCREENSHOT=$(zenity --file-selection --save --confirm-overwrite) #get path to save
mv ~/temporary-screenshot "$SCREENSHOT"".png"                          #save

Let it executable:

chmod +x prtscr-chooser.sh

Step 2

Assign the script to Print Screen:

  1. Open Settings > Devices > Keyboard.
  2. Unbind Print Screen, i.e. change or remove the shortcut for 'Save a screenshot to Pictures'.
  3. Scroll down to the bottom.
  4. Click the '+' symbol. A dialogue should pop up.
  5. Enter any name you like in the 'Name' box.
  6. Enter full path to the script in the 'Command' box, i.e. in this case enter
    /home/YOUR-USERNAME/prtscr-chooser.sh (your actual username in place of YOUR-USERNAME).
  7. Click the 'Set Shortcut...' button and press Print Screen.
  8. Log out and log in again.

(You can follow the same method to assign the script the some other keyboard combination, e.g. Shift+Print Screen)

| improve this answer | |
  • This method I am trying but not working , – Bapi Saha Apr 4 '19 at 10:01
0

Take a look at Shutter, it do very well. Screen, window, or area of screen screenshots with various options. Sit in tray and waiting for click or keyboard shortcut. You can rename file or configure auto naming. Here are screenshot of main options window. enter image description here

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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