+void ShBtnPref::execute(ArrayList<Indexable*> &args)
+{
+// thread async+autodelete, no explicit delete
+ ShBtnRun *job = new ShBtnRun(name, commands, warn);
+ job->add_arg("/bin/bash");
+ job->add_arg(commands);
+ int n = args.size();
+ for( int i=0; i<n; ++i ) {
+ Indexable *idxbl = args[i];
+ if( !idxbl->is_asset ) continue;
+ job->add_arg(idxbl->path);
+ }
+ job->start();
+}
+