tSmall utility to record a window (uses byzanz) - scripts - various script and utils
 (HTM) git clone git://z3bra.org/scripts
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
 (DIR) commit 3d570a262b644b9aa53c2b113bc3b9a181fd76d6
 (DIR) parent d5aefdb1a7d66e739be41af119de16d063d4b510
 (HTM) Author: z3bra <willy@mailoo.org>
       Date:   Thu, 23 Oct 2014 16:37:02 +0200
       
       Small utility to record a window (uses byzanz)
       
       Diffstat:
         A xrecord                             |      48 +++++++++++++++++++++++++++++++
       
       1 file changed, 48 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/xrecord b/xrecord
       t@@ -0,0 +1,48 @@
       +#!/bin/bash
       +#
       +# record a window as a gif
       +
       +# Default duration
       +DURATION=${1:-16}
       +
       +# windows border size
       +BORDERS=5
       +
       +# dumb user is dumb
       +usage() {
       +    echo "usage: $(basename $0) [-h] [-d <duration>] <filename>"
       +}
       +
       +while getopts "hd:" opt; do
       +    case $opt in
       +        d) DURATION=$OPTARG ;;
       +        *) usage; exit 1;;
       +    esac
       +done
       +
       +# Let user select a window to extract relevant infos
       +# Clicking on root window works
       +geometry=$(xwininfo \
       +    | grep -E "Width|Height|Absolute upper-left" \
       +    | cut -d: -f2 \
       +    | tr '\n' ' ' \
       +    | sed 's/^\s*//;s/\s*$//;s/\s\+/:/g')
       +
       +x=$(echo $geometry | cut -d: -f1)
       +y=$(echo $geometry | cut -d: -f2)
       +w=$(echo $geometry | cut -d: -f3)
       +h=$(echo $geometry | cut -d: -f4)
       +
       +shift $(( OPTIND - 1 ))
       +
       +# don't forget the filename !
       +test -n "$1" && OUTFILE=$1 || { usage; exit 1; }
       +
       +# add border size to width/height
       +w=$(( w + 2 * $BORDERS ))
       +h=$(( h + 2 * $BORDERS ))
       +
       +# actually record...
       +byzanz-record -x $x -y $y -w $w -h $h -d $DURATION $OUTFILE
       +
       +exit 0