#!/bin/sh

PATH="/usr/libexec/alterator-x11:$PATH"

MONITORSDB=/usr/share/hwdatabase/MonitorsDB

monitors_db()
{
    sed 's,",,g' "$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="$(ddcdump 2>/dev/null)"
dbout="$([ -n "$name" ] && monitors_db|grep ";[[:space:]]*$name[[:space:]]*;")"

#monitor sync: prefer database
if [ -n "$dbout" ]; then
    out_from_db "$dbout"
else
    echo "$ddcout"|sed -nr '/^horizsync:/ {s/^horizsync:[[:space:]]*/hsync:/;p}'
    echo "$ddcout"|sed -nr '/^vertrefresh:/ {s/^vertrefresh:[[:space:]]*/vsync:/;p}'
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
