In the current GNOME shell, Xinerama, the feature that supports more than 2 adjacent displays, is broken. With my nVidia card, the native Nouveau driver doesn’t even detect the 3rd output. The proprietary nVidia driver detects 3 outputs, but cannot enable all of them simultaneously, even without Xinerama (ie, as separate X displays). 🙁 So it’s either dual-monitor, or TV; no triple-monitor.
Luckily, nVidia supports some xrandr features, so I was able to write a script to switch from dual-monitor to monitor+TV clone and back:
#!/bin/ksh if xrandr -q | egrep '^VGA-0 .+ 410mm' >/dev/null 2>&1 then echo Turning TV on... xrandr --output VGA-0 --off xrandr --output TV-0 --auto --scale 1.172x1.172 --same-as DVI-I-1 --primary else echo Turning TV off... xrandr --output TV-0 --off xrandr --output VGA-0 --auto --scale 1x1 --right-of DVI-I-1 fi
Modify this script to suit your system settings with the correct outputs and scaling. A corresponding *.desktop file adds this script to my dash:
[Desktop Entry] Categories=AudioVideo Exec=~/applications/watch-tv Icon=nm-device-wired Name=Turn TV On/Off Terminal=false Type=Application