# bash functions library for wl_roots based programs

# get outputs
mons() {
	MONITORS="$(while read -r MON REST
	do
		case "${MON:0:3}" in
			[0-9]*|Mak|Mod|Ser|Phy|Ena|Mod|Pos|Tra|Sca|Ada)continue;;
		esac
		echo -n "$MON "
	done < <(wlr-randr))"
	
	[ -n "$MONITORS" ] || return 1
}
# get outputs position
pozi() {
	POSITIONS="$(while read -r POS
	do
		case "`echo $POS | grep "Position"`" in
		*Pos*)POSI=${POS##* };;
		*)continue;;
		esac
		echo -n "$POSI "
	done < <(wlr-randr))"
	[ -n "$POSITIONS" ] || return 1
}

# error
exit_error() {
	echo "$1" && exit 1
}

# sets the GTK+ 3 theme
apply_gtk_settings() {
	THEME_FONT=`grep -m1 ^gtk-font-name /etc/gtk-3.0/settings.ini`
	THEME_FONT=${THEME_FONT#*=}
	THEME_FONT=${THEME_FONT# }

	THEME_GTK=`grep -m1 ^gtk-theme-name /etc/gtk-3.0/settings.ini`
	THEME_GTK=${THEME_GTK#*=}
	THEME_GTK=${THEME_GTK# }

	THEME_ICONS_GTK=`grep -m1 ^gtk-icon-theme-name /etc/gtk-3.0/settings.ini`
	THEME_ICONS_GTK=${THEME_ICONS_GTK#*=}
	THEME_ICONS_GTK=${THEME_ICONS_GTK# }

	THEME_MOUSE=`readlink ~/.icons/default 2>/dev/null`
	THEME_MOUSE=${THEME_MOUSE##*/}

	gsettings set org.gnome.desktop.interface font-name "$THEME_FONT"
	gsettings set org.gnome.desktop.interface gtk-theme "$THEME_GTK"
	gsettings set org.gnome.desktop.interface icon-theme "$THEME_ICONS_GTK"
	gsettings set org.gnome.desktop.interface cursor-theme "$THEME_MOUSE"
	gsettings set org.gnome.desktop.interface enable-animations false

	run-as-spot gsettings set org.gnome.desktop.interface font-name "$THEME_FONT"
	run-as-spot gsettings set org.gnome.desktop.interface gtk-theme "$THEME_GTK"
	run-as-spot gsettings set org.gnome.desktop.interface icon-theme "$THEME_ICONS_GTK"
	run-as-spot gsettings set org.gnome.desktop.interface cursor-theme "$THEME_MOUSE"
	run-as-spot gsettings set org.gnome.desktop.interface enable-animations false
}

# sets the cursor theme in running labwc for pcur/ptheme
func_labwc() {
	gsettings set org.gnome.desktop.interface cursor-theme "$1"
	[ `id -u` -eq 0 ] && run-as-spot gsettings set org.gnome.desktop.interface cursor-theme "$1"
	grep -q 'XCURSOR_THEME' $XDG_CONFIG_HOME/labwc/environment && sed -i "s/XCURSOR_THEME.*/XCURSOR_THEME=$1/" $XDG_CONFIG_HOME/labwc/environment || \
		echo "XCURSOR_THEME=$1" >> $XDG_CONFIG_HOME/labwc/environment
	/usr/lib/gtkdialog/box_splash -bg orange -placement top -close box -timeout 7 -text "$(gettext 'To activate the new theme labwc needs to be restarted - just restart X')" &
}
