# these are in order from most specific to least, # since first rule that fires wins. # image files go to wm/view kind is text data matches '[a-zA-Z0-9_\-./]+' data matches '([a-zA-Z0-9_\-./]+)\.(jpg|jpeg|gif|bit|png)' data isfile $0 plumb to view plumb start /dis/wm/view.dis -i $file # iaf sounds go to auplay kind is text data matches '[a-zA-Z0-9_\-./]+' data matches '([a-zA-Z0-9_\-./]+)\.(iaf|IAF)' data isfile $0 plumb alwaysstart auplay plumb start /dis/auplay.dis $file # wav sounds go to wavplay kind is text data matches '[a-zA-Z0-9_\-./]+' data matches '([a-zA-Z0-9_\-./]+)\.(wav|WAV)' data isfile $0 plumb alwaysstart wavplay plumb start /dis/wavplay.dis $file # MIDI files go to midiplay kind is text data matches '[a-zA-Z0-9_\-./]+' data matches '([a-zA-Z0-9_\-./]+)\.(mid|MID)' data isfile $0 plumb alwaysstart midiplay plumb start /dis/midiplay.dis $file # MIDI files in SKINI data format go to sequencer4 (via shell script skiplay) kind is text data matches '[a-zA-Z0-9_\-./]+' data matches '([a-zA-Z0-9_\-./]+)\.(ski|SKI)' data isfile $0 plumb alwaysstart skiplay plumb start /dis/sh.dis -c '{skiplay $file}' # Ebook files go to ebook/ebook kind is text data matches '[a-zA-Z0-9_\-./]+' data matches '([a-zA-Z0-9_\-./]+)\.(opf|OPF)' data isfile $0 plumb alwaysstart ebook plumb start /dis/ebook/ebook $file # PDF files go to os xpdf (via shell script /dis/xpdf) kind is text data matches '[a-zA-Z0-9_\-./]+' data matches '([a-zA-Z0-9_\-./]+)\.(pdf|PDF)' data isfile $0 plumb alwaysstart xpdf plumb start /dis/sh.dis -c '{/dis/xpdf $file}' # URLs go to wm/charon kind is text data matches '(https?|ftp|file|gopher|mailto|news|nntp|telnet|wais|prospero)://[a-zA-Z0-9_@]+([.:][a-zA-Z0-9_@]+)*/?[a-zA-Z0-9_?#~&/\-]+([:.][a-zA-Z0-9_?#~&/\-]+)*' plumb to web plumb start /dis/charon.dis $0 # file URLs go to wm/charon kind is text data matches '[a-zA-Z0-9_/\-]+\.(html|htm|php)?' data isfile $0 data set file://localhost$file plumb to web plumb start /dis/charon.dis $data # .m files are looked up in /module and passed to wm/brutus kind is text data matches '([a-zA-Z0-9]+\.m)(:[0-9]+)?' data isfile /module/$1 data set /module/$0 plumb to edit plumb start /dis/wm/brutus.dis $file$2 # existing files, possibly tagged by line number, go to wm/brutus kind is text data matches '([.a-zA-Z0-9_/\-]+[a-zA-Z0-9_/\-])(:[0-9]+)?' data isfile $1 plumb to edit plumb start /dis/wm/brutus.dis $file$2 # existing files go to brutus kind is text data matches '[a-zA-Z0-9_./\-]+' data isdir $0 plumb alwaysstart dir # nasty plumbing hack plumb start /dis/wm/dir.dis $dir # man pages kind is text data matches '([a-zA-Z\-]+)\(([0-9]+)\)' plumb alwaysstart man # nasty plumbing hack plumb start /dis/wm/man.dis $2 $1 # change plumb namespace kind is text data matches 'Local (.*)' plumb to none plumb start /dis/sh.dis -n -c $1