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.
This commit is contained in:
parent
e5fed6b246
commit
dce8abcdab
|
@ -19,9 +19,17 @@
|
||||||
## `grimshot` - usage
|
## `grimshot` - usage
|
||||||
## `grimshot check` - verify if tools are installed
|
## `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}
|
ACTION=${1:-usage}
|
||||||
SUBJECT=${2:-screen}
|
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
|
if [ "$ACTION" = "usage" ] ; then
|
||||||
echo "Usage:"
|
echo "Usage:"
|
||||||
echo " grimshot copy|save win|screen|output|area [FILE]"
|
echo " grimshot copy|save win|screen|output|area [FILE]"
|
||||||
|
|
Loading…
Reference in a new issue