Webapp una sola instancia

Buenos días !!

Algo que siempre me ha molestado es que las webapps generadas con Chromium (ya sea Brave, Chrome, etc.) funcionan muy bien, pero si haces doble clic en el icono, te abre una segunda ventana, aunque la app ya esté abierta.

Por ejemplo, con WhatsApp Web en modo webapp: la primera vez va perfecto, pero si lo vuelves a lanzar, intenta abrir otra instancia y muestra un aviso diciendo que ya está en ejecución.
Lo ideal sería que simplemente enfocara la ventana que ya está abierta y la pusiera en primer plano

Uso muchas webapps como Telegram (sí, sé que hay app :stuck_out_tongue:), ChatGPT, Teams (también uso la app, pero tengo varios tenants), WhatsApp, etc.

Así que he preparado un pequeño script para solucionar esto, y lo comparto por si a alguien más le molesta lo mismo.

Los pasos son los siguientes:

  1. Creas una webapp normalmente y te generará algo así

  2. Pones este script en la ruta ~/.local/bin

> sudo cat lanzar-webapp.sh 

TITLE="$1"
APP_ID="$2"
PROFILE="${3:-Default}"

if wmctrl -lx | grep -i "$APP_ID"; then
    wmctrl -a "$TITLE"
else
    brave-browser --app-id="$APP_ID" --profile-directory="$PROFILE" &
fi
  1. Modificas tu enlace así

Al igual hay otra manera de hacer esto más elegante, si sabéis me decís :stuck_out_tongue:

Por cierto, que lo doy por hecho, en mi caso es KDE + Wayland