blob: 3852631ce7db18c22940eb650ac663d0813c4e46 [file] [log] [blame]
#!/bin/bash
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
### Takes a screenshot and copies it to the host.
## usage: fx screenshot [--trim] [--png] [-o <screencap_file>]
##
## This command invokes Fuchsia's screencap tool to create a screenshot.
## The result is written to screencap.ppm or screencap.png. To write to
## another filename, use the -o parameter.
## The --trim and --png commands require ImageMagick to be installed.
## Unrecognized parameters will be passed to ssh.
##
## Example usage:
##
## fx screenshot --trim --png
set -e
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"/lib/vars.sh
fx-config-read
OUT=screencap.ppm
png_command=cat
enable_trim=0
while [[ $# -ne 0 ]]; do
case $1 in
-h|--help)
fx-command-help
exit 0
;;
-o|--out)
shift
OUT=$1
;;
--png)
OUT=${OUT%.*}.png
png_command=pnmtopng
;;
--trim)
enable_trim=1
;;
*)
break
;;
esac
shift
done
fx-command-run shell "$@" screencap | $png_command > "$OUT"
if [[ $enable_trim -ne 0 ]]; then
mogrify -trim +repage $OUT
fi