summaryrefslogtreecommitdiffstats
path: root/src/daemon/start-pulseaudio-x11.in
blob: 0e84315c3883212772753e6c69ec82d13428c31b (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
#!/bin/sh

# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio 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 Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

set -e

if [ x"$DISPLAY" != x ] ; then

    @PACTL_BINARY@ load-module module-x11-publish "display=$DISPLAY xauthority=$XAUTHORITY" > /dev/null
    @PACTL_BINARY@ load-module module-x11-cork-request "display=$DISPLAY xauthority=$XAUTHORITY" > /dev/null

    # KDE plasma versions older than 5.17.0 use module-device-manager's routing API.
    # Check for current plasma version and load module if it's necessary.
    if [ x"$KDE_FULL_SESSION" = x"true" ]; then
        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)"
        if [ -n "$plasmaversion" ] && [ "$(($plasmaversion))" -lt "5017000" ]; then
            @PACTL_BINARY@ load-module module-device-manager "do_routing=1" > /dev/null
        fi
    fi

    if [ x"$SESSION_MANAGER" != x ] ; then
	@PACTL_BINARY@ load-module module-x11-xsmp "display=$DISPLAY xauthority=$XAUTHORITY session_manager=$SESSION_MANAGER" > /dev/null
    fi
fi