#!/bin/bash
# Set display resolution o virtual PC
HD='1366x768'
FHD='1920x1080'
FHD_plus='1920x1200'

CARD=$(xrandr -q|awk '{if($2=="connected" && $3=="primary") {print $1}}')
if [ -z "$(xrandr -q|awk -v res=${HD} '{if($1==res) {print $1}}')" ]; then
	xrandr --newmode "${HD}" $(gtf 1366 768 60|awk '{ORS=" "}; {if($1=="Modeline") {for(i=3;i<=NF;i++) {print $i}}}')
	xrandr --addmode ${CARD} "$HD"
fi

if [ -z "$(xrandr -q|awk -v res=${FHD} '{if($1==res) {print $1}}')" ]; then
	xrandr --newmode "${FHD}" $(gtf 1920 1080 60|awk '{ORS=" "}; {if($1=="Modeline") {for(i=3;i<=NF;i++) {print $i}}}')
	xrandr --addmode ${CARD} "${FHD}"
fi

if [ -z "$(xrandr -q|awk -v res=${FHD_plus} '{if($1==res) {print $1}}')" ]; then
	xrandr --newmode "${FHD_plus}" $(gtf 1920 1200 60|awk '{ORS=" "}; {if($1=="Modeline") {for(i=3;i<=NF;i++) {print $i}}}')
	xrandr --addmode ${CARD} "$FHD_plus"
fi

if [ $# -ge 1 ]; then
	case $1 in
		'FHD')
			xrandr --output ${CARD} --mode "${FHD}"
		;;
		'FHD_plus')
			xrandr --output ${CARD} --mode "${FHD_plus}"
		;;
		'HD')
			xrandr --output ${CARD} --mode "${HD}"
		;;
		*)
			echo "Screen mode don't defined"
		;;
	esac
else
	echo -e "use: ./setResolution HD for 1366x768\nor ./setResolution FHD for 1920x1080\nor ./setResolution FHD_plus for 1920x1200"
fi
