#!/bin/sh
# vim: set sts=4 expandtab:
# Copyright (C) 2012-2026 Osamu Aoki <osamu@debian.org>
# Copyright (C) 2012 Aron Xu <aron@debian.org>
# GNU General Public License version 2 or later.
#
# Input Method launcher hook ... see im-launch(1).
# The hook script for dbus-launch is in 75 which changes $STARTUP string
# .
# This script is executed before the dbus-launch hook script to ensure the
# working of dbus for input method.  Thus moved from 80 to 70.

IMLAUNCH=/usr/bin/im-launch
IM_CONFIG_ENTRY="xsession"
export IM_CONFIG_ENTRY
. /usr/share/im-config/initializer
if [ ! -x "$IMLAUNCH" ]; then
    logger_info "  Skip since im-config has been removed.  Purge im-config to stop this message."
elif [ "$XDG_SESSION_TYPE" = "wayland" ]; then
    logger_info "  Skip /etc/X11/Xsession.d/70im-config_launch since XDG_SESSION_TYPE ='$XDG_SESSION_TYPE'"
else
    # im-config is installed.  Check situation
    if [ -z "$XMODIFIERS" ] &&
        [ -z "$GTK_IM_MODULE" ] &&
        [ -z "$QT_IM_MODULE" ] &&
        [ -z "$CLUTTER_IM_MODULE" ] &&
        [ -z "$SDL_IM_MODULE" ]; then
        # if fresh, set environments
        logger_info "  Set environment variables from /etc/X11/Xsession.d/70im-config_launch (all empty strings)"
        IM_CONFIG_PHASE=1
        . /usr/share/im-config/im-config_setting
    else
        # already tweaked, keep hands off :-)
        logger_info "  Skip setting environment variables from /etc/X11/Xsession.d/70im-config_launch (non-empty strings)"
    fi

    # Change $STARTUP string to im-launch while keeping the old $STARTUP string
    # as its arguments
    STARTUP="$IMLAUNCH $STARTUP"
fi
logger_debug "  EXIT @xsession IM_CONFIG_ENTRY='$IM_CONFIG_ENTRY' (/etc/X11/Xsession.d/70im-config_launch)"
