#!/bin/sh

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

. shell-regexp

fix_monitor_name()
{
    sed 's,",,g' $1
}

read_eisa()
{
	grep "eisa:"|
		sed -r 's,eisa:[[:space:]]*(.*),\L\1,'|
		fix_monitor_name
}

read_monitorname()
{
	grep "monitorname:"|
		sed -r 's,monitorname:[[:space:]]*(.*),\1,'|
		fix_monitor_name |
		tr '\n' ' '|
		sed 's,[[:space:]]$,,'
}

ddcout="$(ddcdump 2>/dev/null)"

eisa="$(echo "$ddcout"|read_eisa)"
monitor_name="$(echo "$ddcout"|read_monitorname)"

extract_name()
{
        cut -f2 -d';'| sed -r 's,[[:space:]]*(.*),\1,'
}

find_by_eisa()
{
	[ -n "$eisa" ] && mondrv | grep -m1 -i "^[^;]\+;[^;]\+;[[:space:]]*$(quote_sed_regexp "$eisa");"
}
       
find_by_name()
{
	[ -n "$monitor_name" ] && mondrv | grep -m1 -i "^[^;]\+;[[:space:]]*$(quote_sed_regexp "$monitor_name");"
}


plain_name()
{
    if  [ -n "$monitor_name" ]; then
	echo "vendor;$monitor_name"
    elif [ -n "$eisa" ]; then
	echo "vendor;$eisa"
    fi
}

{ find_by_eisa || find_by_name || plain_name; } | extract_name
