#!/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"