I've dug into this before, to the point of studying the matchbox source. /etc/sysconfig/clamshell is home to scripts that are called when clamshell state changes - closed, portrait, landscape. So, for example, you could put a script in /etc/sysconfig/clamshell/portrait.d/ and it would be executed when the screen is spun to portrait orientation. It's more efficient however to put the script in scripts.d and symlink to portrait.d and landscape.d, since the script receives 'landscape', 'portrait', or 'closed' as first parameter.
The problem I ran into is that, as Daniel mentioned, matchbox-desktop doesn't reload the config file unless it's restarted, which is not what we want. If there's some way to tell it to reload config files and repaint ('kill -HUP `pidof -x matchbox-desktop`' should work but doesn't) then the scripts would just need to change to the appropriate wallpaper (either modify config file or swap 2 config files), then trigger the reload.
Now, with all that said, I DID find a way to do it. As it turns out, matchbox-desktop doesn't reload its config, but it DOES reload the wallpaper image itself. SO I was successful insofar as I can configure it to use something like /mnt/card/wallpaper/paper.png, which is a symlink to the actual wallpaper to be used, then if that symlink points to a DIFFERENT image when the screen is swapped between portrait and landscape, it will load the new wallpaper.
caveats:
1 - Loading the images takes a noticeable amount of time, so the smaller the image the smoother the transition.
2 - Images MUST be the same format - IE, both png or both jpg.
3 - you cannot change centered vs tiled vs stretched - that involves reloading the config.
4 - you can only select wallpapers by editing the swapper script, NOT via Look'n'Feel tool.
So here's my patch-up solution: Create the file /etc/sysconfig/clamshell/scripts.d/swappaper, make it executable, and put this in it, modified to reflect your chosen wallpapers and appropriate paths:
#!/bin/bash
case "$1" in
portrait)
ln -fs /mnt/card/wallpaper/DeanRock.jpg /mnt/card/wallpaper/paper.jpg
;;
landscape)
ln -fs /mnt/card/wallpaper/CloudColumn.jpg /mnt/card/wallpaper/paper.jpg
;;
esac
Then symlink it:
ln -s /etc/sysconfig/clamshell/scripts.d/swappaper /etc/sysconfig/clamshell/portrait.d/0swapper
ln -s /etc/sysconfig/clamshell/scripts.d/swappaper /etc/sysconfig/clamshell/portrait.d/0swapper
Note that the preceding zero is vital - 0swapper will come first in order, ensuring that it changes the picture BEFORE it actually reloads it...
Final prep, you'll need to execute the landscape 'ln' command from the script manually, then select the paper.jpg or whatever in lookandfeel. (until the symlink has been created you can't select it as wallpaper)
j