summaryrefslogtreecommitdiff
path: root/debian/postinst
blob: 80d208c54db3dcbcb6ee8e1f74e9aa3576a7ad0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/sh

set -e

case "$1" in

  configure)
    # if don't have sudo and ps then don't attempt to restart ibus
    if [ -x /usr/bin/sudo ] && [ -x /bin/ps ]; 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
          ibususer=`ps -C ibus-daemon -o user=|grep -v gdm|uniq`
          sudo -H -u "$ibususer" ibus exit
        else
          ibususer=`ps -C ibus-daemon -o user=`
          sudo -H -u "$ibususer" ibus restart
        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