My laptop is my workstation, and find myself fairly regularly having to switch between display layouts.
I wrote this script to work in conjunction with arandr generated xrandr layouts that are slightly, manually modified to also use xwallpaper to set per-layout wallpapers.
Also included is a systemd service that loads the previously chosen config at startup.
There's a little more info in the root README, as well as the most recent commit, for a deeper dive.