Ok, I packaged it up for tinycorelinux where it is a pending extension at the moment, most people there don't have an easy to use alternative to wicd yet.
There's a simple config file where you specify your two interface names, then everything gets started like this: ifconfig $WIRED up wpa_supplicant -B -D $WLAN_DRV -i $WLAN -c /usr/local/etc/wpa_supplicant.conf wpa_cli -B -a /usr/local/etc/netplug.d/netplug /usr/local/sbin/netplugd -P -c /dev/null -i $WIRED netplug.d/netplug is used for both netplug and wpa_cli -a events. It takes arguments like eth0 up and relays them to my olde ifup/ifdown scripts. In there I give the wired interface precedence and run and kill udhcpc on all connected networks. Of course ifup/ifdown isn't needed, but I didn't like the long, hardcoded netplug.d/netplug path and ifup/ifdown seemed pretty much like a standard to me, so it might be easier for everyone to hack it, e.g. on one network I run vpnc with the same grep on ssids Christoph Lohmann describes.
roam.tbz
Description: Binary data