summarylogtreecommitdiffstats
path: root/code-oss.sh
diff options
context:
space:
mode:
authorDavid Čuček2023-04-09 01:34:54 +0200
committerDavid Čuček2023-04-09 01:34:54 +0200
commit1b2feb14e2a75e06a9ebe85c9e5d6670b774735c (patch)
tree9981fa3ed2619825febf7e91f5c950294af113cc /code-oss.sh
parent2f780ffc373a57459f5c845461a999ea4e5e8579 (diff)
downloadaur-1b2feb14e2a75e06a9ebe85c9e5d6670b774735c.tar.gz
minor updates
Diffstat (limited to 'code-oss.sh')
-rwxr-xr-xcode-oss.sh42
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
}