26 lines
No EOL
836 B
Bash
Executable file
26 lines
No EOL
836 B
Bash
Executable file
#!/bin/bash
|
|
|
|
|
|
if [ $1 ]; then
|
|
desktop=$(grep -l "StartupWMClass.*$1$" /usr/share/applications/*.desktop)
|
|
if [ -z "$desktop" ]; then
|
|
desktop=$(grep -Pl "Name\s*=\s*$1$" /usr/share/applications/*.desktop)
|
|
fi
|
|
if [ -z "$desktop" ]; then
|
|
desktop=$(ls /usr/share/applications | grep -l /usr/share/applications/${1}.desktop)
|
|
fi
|
|
fi
|
|
if [ $2 ]; then
|
|
if [ -z "$desktop" ]; then
|
|
process=$(ps -p ${2} -o comm=)
|
|
desktop=$(grep -Pl "$process" /usr/share/applications/*.desktop)
|
|
fi
|
|
fi
|
|
if [ $1 ]; then
|
|
if [ -z "$desktop" ]; then
|
|
desktop=$(grep -Pli "$1" /usr/share/applications/*.desktop)
|
|
fi
|
|
fi
|
|
image=$(awk -F'[[:space:]]*=[[:space:]]*' '/Icon[[:space:]]*=/ && !seen[$2]++ {print $2; exit}' $desktop)
|
|
icon="/usr/share/icons/Papirus-Dark/128x128/apps/${image}.svg"
|
|
echo -n $icon |