#!/bin/sh

MONITORSDB=/usr/share/hwdatabase/MonitorsDB

out_from_db()
{
	#hsync
	echo "$1"|cut -f4 -d';'|
		sed -r 's,[[:space:]]*(.*),hsync:\1,'
	#vsync
	echo "$1"|cut -f5 -d';'|
		sed -r 's,[[:space:]]*(.*),vsync:\1,'
}

name="$1"

ddcout=$(/usr/sbin/ddcprobe 2>/dev/null)

if echo "$name"|grep -qs "ddcinfo:" ;then
	#parameters from ddc information
	range=$(echo "$ddcout"|grep "monitorrange")
	[ -n "$range" ] && echo "$range"|
		sed -r 's/monitorrange:[[:space:]]*([^,]+),[[:space:]]*([^,]+)/hsync:\1\nvsync:\2/'
else
	#parameters from monitors database
	[ -n "$name" ] && out_from_db "$(grep ";[[:space:]]*$name[[:space:]]*;" "$MONITORSDB")"
fi

ddcscreen=$(echo "$ddcout"|grep "screensize")

#monitor size: prefer ddcout
if [ -n "$ddcscreen" ] ;then
	echo "$ddcscreen"|
	sed -r 's/screensize:[[:space:]]([0-9]+)[[:space:]]([0-9]+).*/width:\10\nheight:\20/'
fi
#TODO: else calculate it
