#!/usr/bin/env splrun_norl load "file"; load "stfl"; load "system"; var inlist = file_read("inlist.txt", "ascii") =~ /[^\n]+/Ag; var outlist = file_read("outlist.txt", "ascii") =~ /[^\n]+/Ag; var dellist = file_read("dellist.txt", "ascii") =~ /[^\n]+/Ag; var f = stfl_create(<:> : table : @style_focus:bg=blue,fg=white,attr=bold : list[inlist] : .border:lrtb : pos_name[inlist_pos]: : tablebr : list[outlist] : .border:lrtb : pos_name[outlist_pos]: : tablebr : label : .expand:0 : text[helpmsg]: ); function update_lists() { stfl_modify(f, "inlist", "replace_inner", <:> : list : listitem[inlist_$t] : text:${stfl::inlist[t]} ); stfl_modify(f, "outlist", "replace_inner", <:> : list : listitem[outlist_$t] : text:${stfl::outlist[t]} ); } update_lists(); stfl_run(f, -1); while(1) { switch { case stfl_get_focus(f) ~== "inlist": stfl_set(f, "helpmsg", "Input List: [d]elete [s]chedule [p]lay"); case stfl_get_focus(f) ~== "outlist": stfl_set(f, "helpmsg", "Output List: [u]nschedule [p]lay"); default: stfl_set(f, "helpmsg", ""); } var event = stfl_run(f, 0); switch { case event ~== "d" && stfl_get_focus(f) ~== "inlist" && stfl_get(f, "inlist_pos") =~ /^inlist_(\d+)/: push dellist, inlist[$1]; delete inlist[$1]; update_lists(); case event ~== "s" && stfl_get_focus(f) ~== "inlist" && stfl_get(f, "inlist_pos") =~ /^inlist_(\d+)/: unshift outlist, inlist[$1]; delete inlist[$1]; update_lists(); case event ~== "p" && stfl_get_focus(f) ~== "inlist" && stfl_get(f, "inlist_pos") =~ /^inlist_(\d+)/: // stfl_reset(); system("xmms ${inlist[$1] =~ s/[^a-zA-Z0-9_\/]/*/Rg}\n"); case event ~== "u" && stfl_get_focus(f) ~== "outlist" && stfl_get(f, "outlist_pos") =~ /^outlist_(\d+)/: push outlist, outlist[$1]; delete outlist[$1]; update_lists(); case event ~== "p" && stfl_get_focus(f) ~== "outlist" && stfl_get(f, "outlist_pos") =~ /^outlist_(\d+)/: // stfl_reset(); system("xmms ${outlist[$1] =~ s/[^a-zA-Z0-9_\/]/*/Rg}\n"); case event ~== "ESC": break; } } file_write("inlist.txt", <:> : $text , "ascii"); file_write("outlist.txt", <:> : $text , "ascii"); file_write("dellist.txt", <:> : $text , "ascii");