diff options
author | David Čuček | 2023-04-09 01:34:54 +0200 |
---|---|---|
committer | David Čuček | 2023-04-09 01:34:54 +0200 |
commit | 1b2feb14e2a75e06a9ebe85c9e5d6670b774735c (patch) | |
tree | 9981fa3ed2619825febf7e91f5c950294af113cc /code-oss.sh | |
parent | 2f780ffc373a57459f5c845461a999ea4e5e8579 (diff) | |
download | aur-1b2feb14e2a75e06a9ebe85c9e5d6670b774735c.tar.gz |
minor updates
Diffstat (limited to 'code-oss.sh')
-rwxr-xr-x | code-oss.sh | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/code-oss.sh b/code-oss.sh index f4038d10bacb..483ea84d7b4d 100755 --- a/code-oss.sh +++ b/code-oss.sh @@ -1,22 +1,50 @@ #!/usr/bin/env bash +shopt -s nocasematch + declare -r CODE_BIN_PATH="/opt/code-translucent/bin/code-oss" -declare -r XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-~/.config}" -declare -r CODE_CONF_PATH="$XDG_CONFIG_HOME/code-flags.conf" +declare -r XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" +declare -r CODE_CONF_PATH="${XDG_CONFIG_HOME}/code-flags.conf" + +in_array() { + + local -n array=$1 + local -r pattern=$2 + + for value in "${array[@]}"; do + [[ "${value}" =~ $pattern ]] \ + && return 0 + done + + return 1 + +} main() { + local -a CODE_USER_FLAGS=() + [[ -e "${CODE_BIN_PATH}" ]] \ || { echo "'${CODE_BIN_PATH}' does not exist?!"; exit 1; } [[ -f "${CODE_CONF_PATH}" ]] \ - && { local CODE_USER_FLAGS="$(sed 's/#.*//' $CODE_CONF_PATH | tr '\n' ' ')"; } + && { mapfile -t CODE_USER_FLAGS <<< "$(sed 's/#.*//' ${CODE_CONF_PATH})"; } + + [[ "${XDG_SESSION_TYPE}" == "wayland" ]] && { + + unset DISPLAY + + in_array CODE_USER_FLAGS '^--ozone-platform=wayland$' \ + || CODE_USER_FLAGS+=('--ozone-platform=wayland') + + in_array CODE_USER_FLAGS '^--enable-features=.*UseOzonePlatform' \ + || CODE_USER_FLAGS+=('--enable-features=UseOzonePlatform') + + } - [[ "${XDG_SESSION_TYPE}" == "wayland" ]] \ - && { unset DISPLAY; exec "${CODE_BIN_PATH}" --enable-features=UseOzonePlatform --ozone-platform=wayland "$@" "${CODE_USER_FLAGS}"; } \ - || { exec "${CODE_BIN_PATH}" "$@" "${CODE_USER_FLAGS}"; } + exec "${CODE_BIN_PATH}" "${CODE_USER_FLAGS[@]}" "$@" - exit 0; + exit 0 } |