dotfiles

My personal shell configs and stuff
git clone git://git.alex.balgavy.eu/dotfiles.git
Log | Files | Refs | Submodules | README | LICENSE

commit 2b4cff77e20c60851e3f0d0335be05a06647e653
parent 8e870a1b0cb0e3bdb7ef9cee71929699ac8c8f6a
Author: Alex Balgavy <a.balgavy@gmail.com>
Date:   Tue,  4 Dec 2018 16:58:25 +0100

Make `ss-interceptor` more cross-platform

It can work on both Ubuntu-based Linux and on Mac. Not sure about
others, haven't tested it yet. But if you're using gnome-screenshot, it
will work.

Diffstat:
Mbin/ss-interceptor | 37+++++++++++++++++++++++++++++--------
1 file changed, 29 insertions(+), 8 deletions(-)

diff --git a/bin/ss-interceptor b/bin/ss-interceptor @@ -1,13 +1,15 @@ #!/usr/bin/env bash -ss_dir_orig="$(defaults read com.apple.screencapture location)" +# Preliminary tests +if [[ $(uname -s) == "Darwin" ]]; then + ss_dir_orig="$(defaults read com.apple.screencapture location)" +elif [[ $(uname -s) == "Linux" ]] && command -v gsettings &> /dev/null; then + ss_dir_orig="$(gsettings get org.gnome.gnome-screenshot auto-save-directory)" +else + echo "Not supported on this system." + exit 1 +fi -cleanup() { - echo "..." - echo "Done. Screenshots saved to $new_ss_dir." - defaults write com.apple.screencapture location "$ss_dir_orig" - exit 0 -} if [ $# -eq 0 ]; then echo "Need a new directory!" echo "Usage:" @@ -15,6 +17,17 @@ if [ $# -eq 0 ]; then exit 1 fi +cleanup() { + echo "..." + echo "Done. Screenshots saved to $new_ss_dir." + if [[ $(uname -s) == "Darwin" ]]; then + defaults write com.apple.screencapture location "$ss_dir_orig" + elif [[ $(uname -s) == "Linux" ]]; then + gsettings set org.gnome.gnome-screenshot auto-save-directory "$ss_dir_orig" + fi + exit 0 +} + trap cleanup exit echo "= Screenshot Interceptor =" @@ -32,7 +45,15 @@ if ! [ -d "$new_ss_dir" ]; then echo "Creating $new_ss_dir..." mkdir -p "$new_ss_dir" fi -defaults write com.apple.screencapture location "$new_ss_dir" + +if [[ $(uname -s) == "Darwin" ]]; then + defaults write com.apple.screencapture location "$new_ss_dir" +elif [[ $(uname -s) == "Linux" ]]; then + gsettings set org.gnome.gnome-screenshot auto-save-directory "$new_ss_dir" +else + echo "Error" +fi + echo "Saving screenshots to:" echo "$new_ss_dir" echo -e "\nPress Ctrl-C to stop..."