#!/bin/bash ID="$1" if [[ -z "$ID" ]]; then echo "Usage: $0 Number" exit 1 fi # Command Helper: hyprctl clients -j | jq '.[] | select(.workspace.id == 4)' # Icons: https://www.nerdfonts.com/cheat-sheet declare -A MAP=( # Youtube ["Grayjay"]="" # Browser ["Ablaze Floorp"]="" ["LibreWolf"]="" ["midori"]="" ["brave-browser"]="" ["chromium"]="" #E-Mail ["Mozilla Thunderbird"]="󰇮" # Terminals ["kitty"]="" ["Alacritty"]="" # Videoplayer ["VLC media player"]="󰕼" ["mpv"]="" ["ffplay"]="" # Chats ["Discord"]="" ["vesktop"]="" ["Signal"]="󰭹" ["xyz.chatboxapp.app"]="" # Coding ["Visual Studio Code"]="" ["VSCodium"]="" ["jetbrains-idea"]="" ["jetbrains-studio"]="" # Text Editor ["mousepad"]="󱩼" # Password ["org.keepassxc.KeePassXC"]="" ["Yubico Authenticator"]="" # Cloud ["com.nextcloud.desktopclient.nextcloud"]="󰅟" # App Store ["Octopi"]="󰒚" # Games ["steam"]="" ["org.prismlauncher.PrismLauncher"]="󰍳" ["Minecraft* 1.21.11"]="󰍳" # Digital Arts ["Blender"]="" ["Krita"]="" # VM ["virt-manager"]="" ["VirtualBox Manager"]="" ["remote-viewer"]="" # Audio ["qpwgraph"]="󱡫" ["Carla"]="󱡫" # Video ["com.obsproject.Studio"]="󰨜" # Document Editor/Viewer ["libreoffice-startcenter"]="" ["libreoffice-base"]="" ["libreoffice-calc"]="" ["libreoffice-draw"]="" ["libreoffice-impress"]="" ["libreoffice-math"]="" ["libreoffice-writer"]="" ["com.github.flxzt.rnote"]="󱩼" ["com.github.xournalpp.xournalpp"]="󱩼" # Hardware ["Mission Center"]="" ["QDirStat"]="󰋊" ["Disks"]="󰋊" # File Manager ["nemo"]="󰉋" ["org.gnome.Nautilus"]="󰉋" ["org.kde.dolphin"]="󰉋" # Settings ["nwg-look"]="" # gtk-settings ["qt5ct"]="" ["qt6ct"]="" ["sddm-conf"]="" ["blueman-manager"]="󰂯" ["nm-connection-editor"]="󱛆" # Calculator ["Calculator"]="󰪚" ) # 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"