#!/bin/bash # scrotty — Framebuffer screenshot program # # Copyright © 2014 Mattias Andrée (maandree@member.fsf.org) # # 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 . f=0 while [ -e /dev/fb$f ]; do pathname=fb$f.png if [ -e $pathname ]; then i=2 while [ -e $pathname.$i ]; do (( i++ )) done pathname=$pathname.$i fi ( echo P3 cat /sys/class/graphics/fb$f/virtual_size | sed -e 's/,/ /' echo 255 (echo 'ibase=16;'; cat /dev/fb$f | od -t x4 -v | cut -d ' ' -f 1 --complement | sed -e 's/\(..\)\(..\)\(..\)\(..\)\( \|$\)/\2 \3 \4 /g' | sed -e 's/ /\n/g' | sed -e '/^$/d' -e 'y/abcedf/ABCEDF/') | bc ) | convert /dev/stdin $pathname (( f++ )) done exit 0