67 lines
1.4 KiB
Bash
Executable File
67 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
ID="$1"
|
|
|
|
if [[ -z "$ID" ]]; then
|
|
echo "Usage: $0 Number"
|
|
exit 1
|
|
fi
|
|
|
|
declare -A MAP=(
|
|
# Youtube
|
|
["Grayjay"]=""
|
|
# Browser
|
|
["Ablaze Floorp"]=""
|
|
["LibreWolf"]=""
|
|
["brave-browser"]=""
|
|
["chromium"]=""
|
|
#E-Mail
|
|
["Mozilla Thunderbird"]=""
|
|
# Terminals
|
|
["kitty"]=""
|
|
["Alacritty"]=""
|
|
# Videoplayer
|
|
["VLC media player"]=""
|
|
["mpv"]=""
|
|
["ffplay"]=""
|
|
# Chats
|
|
["Discord"]=""
|
|
["Signal"]=""
|
|
# Coding
|
|
["Visual Studio Code"]=""
|
|
["VSCodium"]=""
|
|
# Password
|
|
["org.keepassxc.KeePassXC"]=""
|
|
# Cloud
|
|
["Nextcloud"]=""
|
|
)
|
|
|
|
# APPS=$(hyprctl clients -j | jq -r ".[] | select(.workspace.id == $ID) | .initialTitle")
|
|
|
|
mapfile -t APPS < <(
|
|
hyprctl clients -j |
|
|
jq -r ".[] | select(.workspace.id == $ID) | .initialTitle"
|
|
)
|
|
|
|
mapfile -t APPS_CLASS < <(
|
|
hyprctl clients -j |
|
|
jq -r ".[] | select(.workspace.id == $ID) | .initialClass"
|
|
)
|
|
|
|
for i in "${!APPS[@]}"; do
|
|
if [[ -n "${MAP["${APPS[$i]}"]}" ]]; then
|
|
APPS[$i]="${MAP["${APPS[$i]}"]}"
|
|
elif [[ -n "${MAP["${APPS_CLASS[$i]}"]}" ]]; then
|
|
APPS[$i]="${MAP["${APPS_CLASS[$i]}"]}"
|
|
else
|
|
APPS[$i]="${APPS_CLASS[$i]}|${APPS[$i]}"
|
|
fi
|
|
done
|
|
|
|
# for app in "${APPS[@]}"; do
|
|
# echo "$app"
|
|
# done
|
|
|
|
RESULT="$ID $(printf '%s ' "${APPS[@]}")"
|
|
RESULT=${RESULT% } # remove trailing space
|
|
echo "$RESULT" |