reworked auto-start to support name=command mapping
This commit is contained in:
parent
cd8d2d34db
commit
9442cba158
@ -1,17 +1,15 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
source $HOME/dotfiles/bin/helpers/functions.sh
|
||||||
|
|
||||||
apps=(
|
# Define associative array with app_name => command mapping
|
||||||
"spotify"
|
declare -A apps=(
|
||||||
"whatsapp-for-linux"
|
["spotify"]="flatpak run com.spotify.Client"
|
||||||
"telegram-desktop"
|
["whatsapp"]="whatsapp-for-linux"
|
||||||
"vesktop"
|
["telegram"]="flatpak run io.github.kukuruzka165.materialgram"
|
||||||
"trayscale"
|
["discord"]="flatpak run com.discordapp.Discord"
|
||||||
"1password"
|
["trayscale"]="trayscale"
|
||||||
"ulauncher-wrapped --no-window-shadow --hide-window"
|
["1password"]="1password"
|
||||||
"polkit-agent"
|
["ulauncher"]="ulauncher-wrapped --no-window-shadow --hide-window"
|
||||||
"swaync"
|
|
||||||
"nm-applet"
|
|
||||||
"blueman-applet"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# check if screen has any dead sessions
|
# check if screen has any dead sessions
|
||||||
@ -20,18 +18,20 @@ if screen -list | grep -q "Dead"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Starting auto-start applications..."
|
echo "Starting auto-start applications..."
|
||||||
for app in "${apps[@]}"; do
|
for app_name in "${!apps[@]}"; do
|
||||||
app_name=$(echo $app | awk '{print $1}')
|
command="${apps[$app_name]}"
|
||||||
app_params=$(echo $app | cut -d' ' -f2-)
|
command_binary=$(echo $command | awk '{print $1}')
|
||||||
|
|
||||||
if [ -x "$(command -v $app_name)" ]; then
|
if [ -x "$(command -v $command_binary)" ]; then
|
||||||
if screen -list | grep -q $app_name; then
|
if screen -list | grep -q $app_name; then
|
||||||
echo "$app_name is already running. Skipping..."
|
printfe "%s\n" "yellow" "$app_name is already running. Skipping..."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Starting $app_name with parameters $app_params..."
|
printfe "%s\n" "green" "Starting $app_name with command: $command..."
|
||||||
screen -dmS $app_name $app_name $app_params
|
screen -dmS $app_name $command
|
||||||
sleep 1
|
sleep 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
screen -ls
|
||||||
|
Loading…
x
Reference in New Issue
Block a user