#
# Copyright (c) 2013 Stefan Tomanek <stefan.tomanek@wertarbyte.de>
#
-# THIS IS _NOT_ OSS CODE!
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#
#
. $CONFIG
fi
+if ! which xxd 2>&1 >/dev/null; then
+ xxd() {
+ # xxd replacement for systems without vim. Ugly, but the only simple
+ # version that both Python 2 and 3 understand that I could come up with.
+ # awk can only do one direction, it has no ord() function.
+ if [ "$1" = "-r" ]; then
+ python -c "import binascii, sys; getattr(sys.stdout, 'buffer', sys.stdout).write(binascii.unhexlify(getattr(sys.stdin, 'buffer', sys.stdin).read()))"
+ else
+ python -c "import binascii, sys; getattr(sys.stdout, 'buffer', sys.stdout).write(binascii.hexlify(getattr(sys.stdin, 'buffer', sys.stdin).read()))"
+ echo
+ fi
+ }
+fi
+
setup_fp_xrandr_edid() {
$XRANDR -q --verbose | awk '
ORS="";
}
setup_fp_sysfs_edid() {
- which xxd >/dev/null 2>&1 || return
$XRANDR -q > /dev/null
for DEVICE in /sys/class/drm/card*-*; do
[ -e "${DEVICE}/status" ] && grep -q "^connected$" "${DEVICE}/status" || continue
echo -n "$(echo "${DEVICE}/edid" | sed -re 's#^.+card[0-9]+-([^/]+).+#\1#; s#-([A-Z]-)?##') "
- xxd -c 256 -ps "${DEVICE}/edid" | awk 'ORS=""; /.+/ { print; }'
+ cat "${DEVICE}/edid" | xxd -c 256 -ps | awk 'ORS=""; /.+/ { print; }'
echo
done
}
echo "Unable to fingerprint display configuration" >&2
return
fi
- echo "$FINGERPRINT" | sort
+ echo "$FP" | sort
}
current_cfg_xrandr() {