103 lines
2.5 KiB
Text
103 lines
2.5 KiB
Text
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
|
|
# Copyright (C) 2020-present Fewtarius
|
|
|
|
. /etc/os-release
|
|
|
|
export PATH="/usr/bin:/usr/local/bin:/storage/bin:${PATH}"
|
|
export SDL_GAMECONTROLLERCONFIG_FILE="/storage/.config/SDL-GameControllerDB/gamecontrollerdb.txt"
|
|
|
|
J_DIR="/storage/.config/system"
|
|
J_CONF="${J_DIR}/configs/system.cfg"
|
|
ES_CONF="/storage/.emulationstation/es_settings.cfg"
|
|
JSLISTENCONF="${J_DIR}/configs/jslisten.cfg"
|
|
|
|
get_setting() {
|
|
if [ ! -z "${3}" ]
|
|
then
|
|
### Test to see if we have a game setting.
|
|
VAR="$2\[\"$(echo ${3} | sed 's/\W/\\&/g')\"]\.$1"
|
|
OUTPUT=$(awk 'BEGIN {FS="="} /^'"${VAR}"'/ {print $NF}' ${J_CONF})
|
|
if [ ! -z "${OUTPUT}" ]
|
|
then
|
|
echo ${OUTPUT}
|
|
return
|
|
else
|
|
### If not, check to see if we have a system setting.
|
|
LOCAL=$(awk -F: '/^'"${2}.${1}"'=/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF})
|
|
if [ ! -z "${LOCAL}" ]
|
|
then
|
|
echo ${LOCAL}
|
|
return
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [ -z "${3}" ] && [ ! -z "${2}" ]
|
|
then
|
|
### Check to see if we have a system setting.
|
|
LOCAL=$(awk -F: '/^'"${2}.${1}"'=/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF})
|
|
if [ ! -z "${LOCAL}" ]
|
|
then
|
|
echo ${LOCAL}
|
|
return
|
|
fi
|
|
fi
|
|
|
|
### Check to see if we have a global setting and account for legacy "global."
|
|
LOCAL=$(awk -F: '/^'"${1}"='/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF})
|
|
if [ -z "${LOCAL}" ]
|
|
then
|
|
awk -F: '/^global.'"${1}"='/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF}
|
|
else
|
|
echo ${LOCAL}
|
|
fi
|
|
return
|
|
}
|
|
|
|
del_setting() {
|
|
if [[ "${1}" =~ ^[[:alnum:]] ]]
|
|
then
|
|
sed -i "/^${1}=/d" "${J_CONF}"
|
|
fi
|
|
}
|
|
|
|
set_setting() {
|
|
if [[ "${1}" =~ ^[[:alnum:]] ]]
|
|
then
|
|
del_setting "${1}"
|
|
echo "${1}=${2}" >> "${J_CONF}"
|
|
fi
|
|
}
|
|
|
|
set_audio() {
|
|
case ${1} in
|
|
"default")
|
|
AUDIO="alsa"
|
|
;;
|
|
*)
|
|
AUDIO=${1}
|
|
;;
|
|
esac
|
|
/usr/bin/rr_audio.sh ${AUDIO}
|
|
}
|
|
|
|
battery_percent() {
|
|
awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2}' /sys/class/power_supply/[Bb][Aa][Tt]*/uevent 2>/dev/null
|
|
}
|
|
|
|
get_es_setting() {
|
|
echo $(sed -n "s|\s*<${1} name=\"${2}\" value=\"\(.*\)\" />|\1|p" ${ES_CONF})
|
|
}
|
|
|
|
tocon() {
|
|
echo -ne "\033[1000H\033[2K==> ${*}" >/dev/console
|
|
}
|
|
|
|
log() {
|
|
SOURCE=${1//\/*\//}
|
|
MESSAGE=${*#${1}}
|
|
MESSAGE=${MESSAGE# }
|
|
logger -t ${SOURCE} "${MESSAGE}"
|
|
echo "$(date) ${SOURCE}: ${MESSAGE}" >>/var/log/messages
|
|
}
|