aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Osvaldo Barrera <hugo@barrera.io>2020-05-01 10:51:18 +0200
committerDrew DeVault <sir@cmpwn.com>2020-05-05 20:18:19 +0200
commitdce8abcdab7a0a65c27e5280b702a592ab557be6 (patch)
tree6c5d40fe992ec7f359b6569205f819142a408592
parente5fed6b246533a9bcf0d9326075f7c93be2aeec5 (diff)
downloadsway-dce8abcdab7a0a65c27e5280b702a592ab557be6.tar.xz
grimshot: Allow configuring default directory
`$XDG_PICTURES_DIR` is a very loosely defined thing; it's a directory where "pictures" are stored, which no clearer definition. Some people use it for photographs they take, other use it for images they save from the internet, and others use it for screenshots. Having lots of tools save their output there (anything that's an image goes there) can easily make it a kitchen sink. To work around this, use `$XDG_SCREENSHOTS_DIR` as a target directory for screenshots by default. If not-so-standard variable is unset, fall back to the previous setting; `$XDG_PICTURES_DIR`. This also drops an external dependency, which was (a) an overkill (b) not flexible enough.
-rwxr-xr-xcontrib/grimshot10
1 files changed, 9 insertions, 1 deletions
diff --git a/contrib/grimshot b/contrib/grimshot
index fcd2dbca..3ef18ce6 100755
--- a/contrib/grimshot
+++ b/contrib/grimshot
@@ -19,9 +19,17 @@
## `grimshot` - usage
## `grimshot check` - verify if tools are installed
+getTargetDirectory() {
+ test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && \
+ source ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs
+
+ echo ${XDG_SCREENSHOTS_DIR:-${XDG_PICTURES_DIR:-$HOME}}
+}
+
ACTION=${1:-usage}
SUBJECT=${2:-screen}
-FILE=${3:-$(xdg-user-dir PICTURES)/$(date +'Grimshot %Y-%m-%d %H-%M-%S.png')}
+FILE=${3:-$(getTargetDirectory)/$(date +'Grimshot %Y-%m-%d %H-%M-%S.png')}
+
if [ "$ACTION" = "usage" ] ; then
echo "Usage:"
echo " grimshot copy|save win|screen|output|area [FILE]"