25

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

0
19

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.

7
  • 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. 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.

1
  • 5
    +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.

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.
3
  • +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
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

6
  • 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
1

For Ubuntu 20.04:

  1. Open Settings -> Keyboard Shotcuts,
  2. Press MouseLB at Shift + Print shotcut,
  3. Press Backspace button,
  4. Scroll to the end of the list,
  5. Press MouseLB at + button,
  6. Enter anything in Name field,
  7. Enter /usr/bin/gnome-screenshot --interactive to Command field,
  8. Press MouseLB to Set Shotcut ... button,
  9. Press Shift + PtrSc button,
  10. Press Add button.
2
  • For all you future readers on a clean Ubuntu 20 installation that don't want to install anything that might break. This emulates the older behavior the closest, except you'll get a prompt first asking you what you want to do in interactive mode. It's all fine and good. The idea here is to disable the existing shift+print key association. Once disabled, at the bottom of the list, you have an option to create a custom shortcut. Then you'd use the shortcut you disabled, name it whatever you want, and point it to the gnome-screenshot -i command. Note you can use -i instead of --interactive.
    – Ultimater
    Sep 10 at 9:14
  • Note references here to MouseLB mean Mouse Left Button. This means simply left click on the option to open the dialog to change its assignment. You'll see the Shift + Print shortcut assigned to a screenshot command. You might want to do this for the Print command as well. Note by end of the list, this means scroll to the bottom of the Keyboard Shortcuts menu. At the very bottom will be a + button. Then you'd left click that, and assign it the keystroke you disabled (Backspace disables). For the name, anything will work. Maybe name it interactive screenshot plus the keystroke or something.
    – Ultimater
    Sep 10 at 9:21
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)

1
  • 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

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.