#!/usr/bin/env fish

set connecteds (xrandr | grep ' connected')
set total (count $monitors)
set dpis
set min_dpi 100000


# set dpi to the lowest one
for connected in $connecteds
  set name (echo $connected | awk -F' ' '{print $1}')
  set x_res (echo $connected | grep -oP '\d+x\d+' | string split 'x' | head -n 1)
  set x_wid (echo $connected | grep -oP '\d+mm' | head -n 1 | grep -oP '\d+')
  set dpi (math -s0 "$x_res*25.4/$x_wid")
  if test $dpi -lt $min_dpi
    set min_dpi $dpi
  end
end

echo setting dpi to $min_dpi
echo Xft.dpi: $min_dpi | xrdb -merge

nitrogen --restore