#!/bin/bash

export LC_ALL=C

cd "/System/NebiDE Files/utilPicom/"

# SET THE RADIUS
rad=16

# GET DPI & DISPLAY SCALE MULTIPLER FROM DCONF
scalingfact=$(dconf read /org/mate/desktop/interface/window-scaling-factor)
if [[ -z $scalingfact ]]; then scalingfact=1; fi
dpi=$(dconf read /org/mate/desktop/font-rendering/dpi | sed "s+\..*++g")
if [[ -z $dpi ]]; then dpi=96; fi
if [[ "$dpi" == "0.0" ]]; then dpi=96; fi
dpi=$(($dpi * $scalingfact))

# GET DPI SCALED VERSION OF "rad" VAR
RAD_FLT=$(echo "print(($rad / 96) * $dpi)" | python3)

# RAD_FLT (FLOAT) TO INTEGER
RAD=${RAD_FLT%.*}

# BLUR IS SUPPORTED ON AN OPENGL 3.3+ GPU
isOldGPU=$(picom-gpu-check)

# SELECT BACKEND
if [ "$isOldGPU" == "0" ]; then
	COMP_BKD="glx"
else
	COMP_BKD="xrender"
fi

if [ $RAD == 0 ]; then
	RAD=$rad
fi

# FOR DEBUG/TROUBLESHOOTING
echo "Corner Radius is $RAD"
echo "The GPU is not OpenGL 3 compatable: $isOldGPU"
echo "Compositor backend is $COMP_BKD"

if  [ -z "$1" ]; then
	./picom --backend=$COMP_BKD --dbus --corner-radius=$RAD --config $HOME/.config/NebiSoft/NebiDE.shell.data/configuration/picom.conf
else
	./picom --backend=$COMP_BKD --dbus --corner-radius=$RAD --config $1
fi
