#!/bin/sh

set -e

case "$1" in

  configure)
    # if don't have sudo and ps then don't attempt to restart ibus
    if which sudo > /dev/null && which ps > /dev/null; then

      # Restart IBus if it is running
      ! ibuspid=`ps -C ibus-daemon -o pid=|head -n 1`

      if [ "x$ibuspid" != "x" ]; then
        # check for gnome-shell as it works differently
        ! gspid=`ps -C gnome-shell -o pid=|head -n 1`
        if [ "x$gspid" != "x" ]; then
          # gnome-shell has multiple ibus-daemon processes and needs exit instead of restart
          ibususers=`ps -C ibus-daemon -o user=|grep -v gdm|uniq`
          for ibususer in $ibususers; do
            sudo -H -u "$ibususer" ibus exit || true
          done
        else
          ibususers=`ps -C ibus-daemon -o user=|uniq`
          for ibususer in $ibususers; do
            sudo -H -u "$ibususer" ibus restart || true
          done
        fi
      fi
    fi
  ;;

  abort-upgrade|abort-remove|abort-deconfigure)
    exit 0
  ;;

  *)
    echo "postinst called with unknown argument \`$1'" >&2
    exit 1
  ;;

esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
