
… Anyway, if you use this function, you need to save it to file, source that file ( source path/filename.sh). Of course, you can do it in Perl or manually, but I too lazy to issue all the commands manually whenever I want to create a new shortcut. (1) I have created gshort Bash function based on this answer. I know it is a hack but this approach works for me since months and I just wanted to share it.Īs I wanted to use custom shortcuts in addition to custom screenshots location, I wanted to do this manually in terminal. Whenever something in the path $HOME/Pictures changes, the unit rvice gets called and moves every file that matches $HOME/Pictures/"Screenshot from"* to the subdirectory $HOME/Pictures/Screenshots. Systemctl -user enable -now screenshot-mover.pathĭo not run these commands as root, but as your user. Then, for every user who wants this mechanism, issue: systemctl -user daemon-reload Here is what I did:Ĭreate a file /etc/systemd/user/screenshot-mover.path: ĪssertPathIsDirectory=%h/Pictures/ScreenshotsĬreate a file /etc/systemd/user/rvice: ĬonditionPathExistsGlob=%h/Pictures/Screenshot\ from*ĮxecStart=/bin/sh -c '/bin/mv -v -t Screenshots "Screenshot from"*'
Whenever something in that directory changes, all files named $HOME/Pictures/"Screenshot from"* are moved to the subdirectory $HOME/Pictures/Screenshots. You can get the exhaustive list of available options/flags via man gnome-screenshot.īecause the default screenshot application always stores the screenshots below $HOME/Pictures and there is no apparent way to reconfigure that directory I wrote a combination of systemd user units to monitor the directory $HOME/Pictures. You can combine flags together: e.g., gnome-screenshot -wB will take a screenshot of currently active window without its border.
-i (for 'interactive') will let you set the options in a poping-up dialog. -p (for 'pointer') will include the mouse pointer in the screenshot (won't have any effect with -a obviously). -b will include window's border in the screenshot,. -w (for 'window') will take a screenshot of the currently active window only (and not the whole screen). -a (for 'area') will let you select the area to take the screenshot of using your mouse. You can refine what type of screenshot you want by using following flags in the command box ( gnome-screenshot ): For convenience you may first change the shortcut for " Save a screenshot to Pictures" to something else like Super+ PrintScreen or disable it completely and then assign PrintScreen to the custom shortcut you just created. Now Super+ PrintScreen should save the captured screenshot in ~/Desktop. button and set any keyboard combination which doesn't cause any conflict, for example Super+ PrintScreen. Enter gnome-screenshot in the Command box. Enter any name you like in the Name box. Open Settings > Keyboard and scroll down to the bottom. So as a workaround you may now add another custom keyboard shortcut for gnome-screenshot which will save captured screenshots to ~/Desktop. Put file:///home/YOUR_USERNAME/Desktop in the Custom value box.Īlternatively, you may just run the following command in Terminal: gsettings set -screenshot auto-save-directory 'file:///home/YOUR_USERNAME/Desktop'īut even after doing this if you press PrintScreen, captured screenshots will be saved in ~\Pictures on GNOME 3.8 or later (see this bug report). Navigate to /org/gnome/gnome-screenshot/auto-save-directory. Turns out it's not so straightforward while capturing a screenshot with the PrintScreen key in GNOME version 3.8 or later.įirst you may try to set ~/Desktop (for example) as the autosave directory for gnome-screenshot following the steps below.