#!/bin/bash
#
#  Copyright (C) 2015-2021 Savoir-faire Linux Inc.
#  Author: Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>
#  Author: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
#  Author: Albert Babí <albert.babi@savoirfairelinux.com>
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 3 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
#

HAS_KDE=0
HAS_GNOME=0
HAS_QT=0

if type "ring-kde" > /dev/null 2> /dev/null; then
  HAS_KDE=1
fi

if type "jami-gnome" > /dev/null 2> /dev/null; then
  HAS_GNOME=1
fi

if type "jami-qt" > /dev/null 2> /dev/null; then
  HAS_QT=1
fi

# client-qt always top priority
if [ $HAS_QT == "1" ]; then
  jami-qt $*
  exit $?
fi

# No clients installed
if [ $HAS_KDE == "0" ] && [ $HAS_GNOME == "0" ]; then
  echo "Jami not found" >&2
  exit 1
fi

# Only one client is installed
if [ $HAS_KDE == "1" ] && [ $HAS_GNOME == "0" ]; then
  ring-kde $*
  exit $?
elif [ $HAS_KDE == "0" ] && [ $HAS_GNOME == "1" ]; then
  jami-gnome $*
  exit $?
fi

# Both clients installed: run KDE client if KDE wm is running
# else use the Gnome client.
if [ -z "$(ps aux | grep kwin | grep -v grep)" ]; then
  jami-gnome $*
  exit $?
else
  ring-kde $*
  exit $?
fi
