#!/usr/bin/env bash
Enable/Activate both monitors and get info from kscreen-doctor -o | grep -A3 Output
Get audio sinks from pactl list sinks short
monitorMain="DP-2" audioMain="alsa_output.pci-0000_0a_00.3.analog-stereo" monitorTV="HDMI-0" audioTV="alsa_output.pci-0000_08_00.1.hdmi-stereo" fullSwap="false" # when set to false we'll only swap primary - not disable the secondary
currentPrimary=$(kscreen-doctor -o | grep -B 4 "priority 1" | awk '/Output/{ print $3 }')
if [[ "$currentPrimary" == "$monitorMain" ]]; then if [[ "$fullSwap" == "true" ]]; then kscreen-doctor output.${monitorTV}.enable output.${monitorTV}.primary output.${monitorMain}.disable else kscreen-doctor output.${monitorTV}.primary fi sleep 1 pactl set-default-sink "${audioTV}"
else if [[ "$fullSwap" == "true" ]]; then kscreen-doctor output.${monitorMain}.enable output.${monitorMain}.primary output.${monitorTV}.disable else kscreen-doctor output.${monitorMain}.primary fi sleep 1 pactl set-default-sink "${audioMain}" fi