Problems to synchronise actions/display on local listers

At the moment, there's no conditional logic in Opus commands. You have to use external scripts to do that.

You can switch the source/dest using Set SOURCE=Toggle and then run another set of commands on the other side of the lister. The trick is that the other set of commands have to be launched separately, since any that run in the context of the same button will still consider the original source to be the source. You can work around that by using dopusrt to queue up commands as if they were launched separately. However, at the moment there seems to be a problem with using dopusrt that way so you might want to wait.

I'd say using a layout or style would be better for what you're trying to do. Those can set everything to flat view (etc.) and inherit the current source & dest folders.