153a5a1b3Sopenharmony_ci#!/bin/sh
253a5a1b3Sopenharmony_ci
353a5a1b3Sopenharmony_ci# This file is part of PulseAudio.
453a5a1b3Sopenharmony_ci#
553a5a1b3Sopenharmony_ci# PulseAudio is free software; you can redistribute it and/or modify
653a5a1b3Sopenharmony_ci# it under the terms of the GNU Lesser General Public License as published by
753a5a1b3Sopenharmony_ci# the Free Software Foundation; either version 2 of the License, or
853a5a1b3Sopenharmony_ci# (at your option) any later version.
953a5a1b3Sopenharmony_ci#
1053a5a1b3Sopenharmony_ci# PulseAudio is distributed in the hope that it will be useful, but
1153a5a1b3Sopenharmony_ci# WITHOUT ANY WARRANTY; without even the implied warranty of
1253a5a1b3Sopenharmony_ci# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1353a5a1b3Sopenharmony_ci# General Public License for more details.
1453a5a1b3Sopenharmony_ci#
1553a5a1b3Sopenharmony_ci# You should have received a copy of the GNU Lesser General Public License
1653a5a1b3Sopenharmony_ci# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
1753a5a1b3Sopenharmony_ci
1853a5a1b3Sopenharmony_ciset -e
1953a5a1b3Sopenharmony_ci
2053a5a1b3Sopenharmony_ciif [ -n "$1" ] ; then
2153a5a1b3Sopenharmony_ci    case $1 in
2253a5a1b3Sopenharmony_ci    stop)
2353a5a1b3Sopenharmony_ci      @PACTL_BINARY@ unload-module module-x11-publish > /dev/null
2453a5a1b3Sopenharmony_ci      @PACTL_BINARY@ unload-module module-x11-cork-request > /dev/null
2553a5a1b3Sopenharmony_ci      @PACTL_BINARY@ unload-module module-device-manager > /dev/null
2653a5a1b3Sopenharmony_ci      @PACTL_BINARY@ unload-module module-x11-xsmp > /dev/null
2753a5a1b3Sopenharmony_ci      exit 0
2853a5a1b3Sopenharmony_ci      ;;
2953a5a1b3Sopenharmony_ci    start)
3053a5a1b3Sopenharmony_ci      # Let it continue further down
3153a5a1b3Sopenharmony_ci      ;;
3253a5a1b3Sopenharmony_ci    *)
3353a5a1b3Sopenharmony_ci      echo "Unknown argument $1"
3453a5a1b3Sopenharmony_ci      exit 1
3553a5a1b3Sopenharmony_ci      ;;
3653a5a1b3Sopenharmony_ci    esac
3753a5a1b3Sopenharmony_cifi
3853a5a1b3Sopenharmony_ci
3953a5a1b3Sopenharmony_ciif [ x"$DISPLAY" != x ] ; then
4053a5a1b3Sopenharmony_ci
4153a5a1b3Sopenharmony_ci    @PACTL_BINARY@ load-module module-x11-publish "display=$DISPLAY xauthority=$XAUTHORITY" > /dev/null
4253a5a1b3Sopenharmony_ci    @PACTL_BINARY@ load-module module-x11-cork-request "display=$DISPLAY xauthority=$XAUTHORITY" > /dev/null
4353a5a1b3Sopenharmony_ci
4453a5a1b3Sopenharmony_ci    # KDE plasma versions older than 5.17.0 use module-device-manager's routing API.
4553a5a1b3Sopenharmony_ci    # Check for current plasma version and load module if it's necessary.
4653a5a1b3Sopenharmony_ci    if [ x"$KDE_FULL_SESSION" = x"true" ]; then
4753a5a1b3Sopenharmony_ci        plasmaversion="$(plasmashell -v 2>/dev/null | sed -n 's/^plasmashell \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\1*1000000+\2*1000+\3/p' | head -1)"
4853a5a1b3Sopenharmony_ci        if [ -n "$plasmaversion" ] && [ "$(($plasmaversion))" -lt "5017000" ]; then
4953a5a1b3Sopenharmony_ci            @PACTL_BINARY@ load-module module-device-manager "do_routing=1" > /dev/null
5053a5a1b3Sopenharmony_ci        fi
5153a5a1b3Sopenharmony_ci    fi
5253a5a1b3Sopenharmony_ci
5353a5a1b3Sopenharmony_ci    if [ x"$SESSION_MANAGER" != x ] ; then
5453a5a1b3Sopenharmony_ci	@PACTL_BINARY@ load-module module-x11-xsmp "display=$DISPLAY xauthority=$XAUTHORITY session_manager=$SESSION_MANAGER" > /dev/null
5553a5a1b3Sopenharmony_ci    fi
5653a5a1b3Sopenharmony_cifi
57