What I can think of doing it without any third party apps is set up a "Folder Action" via Automator.app for your custom screenshots folder (hopefully that folder only contain your screenshots).
The "Folder Action" will be trigger when new file is added to the folder, you check for the new file which is an image file's dimension, if it is less than your monitor native resolution, then it should be a fragment screenshot else it is a full screen screenshot. You then move it to your desire folder.
Since, this is scripting, you literally can do a lot of thing beside of just moving file, Automator.app provide many template for your to get started, it is dropdown list of things you can do, but you can always write your own custom script for it.
There are several method to set up "Folder Action".
- Automator.app
- Script Editor.app (Go to this app's preferences and enable "Show Script menu in menu bar", look at right side of your menu bar)
- If you have pre-written script, you can attach it any folder in your system by right click a folder "Services > Setup Folder Action..." (Enable this service option in Keyboard preferences shortcut tab")
Sidetalk, able to screenshot using Command+Shift+3/4 natively and out-of-the-box to file system is a lifesaver feature compare to having an apps to screenshot for you and having a way too fancy UI. I still remember the pain of pasting screenshot to MS Paint or need to open an apps to take screenshot with annoying pop up.
The problem is that the command:
defaults write com.apple.screencapture location /Desktop/
will set the default location for screenshots to be /Desktop/
. What you actually want is to set it to be /Users/yourusername/Desktop/
.
Try this, replacing yourusername
with the username for your account:
defaults write com.apple.screencapture location /Users/yourusername/Desktop/
Best Answer
To reset the default location of screenshots to your Desktop, type this in Terminal:
defaults write com.apple.screencapture location ~/Desktop
then restart.