I MUD using TinyFugue on Linux. These are some macros that let me snaffle URLs easily from TinyFugue to my browser. It isn't well written, but it works. // /browse [] [now] - Find URL-like things and send them to your browser // defaults to 1 // now - send selected URL to browser, otherwise just list them // eg: /browse - list last URL // /browse now - send last URL to browser // /browse 4 - list last 4 URLs (if there were 4) // /browse 4 now - send 4th last URL to browser (if there were 4) // I use the Galeon browser, so I use this line: // /sys galeon -x '%{BROWSE_URL}' %; \ // For Netscape, I think it's this: // /sys netscape -remote 'openURL(%{BROWSE_URL})' %; \ // For MacOS X, I'm told this works: // /sys open '%{BROWSE_URL}' %; \ /set BROWSE_HOSTNAME_SET=[a-zA-Z0-9_:-] /set BROWSE_STRIPRIGHT=["'.]$ /set BROWSE_PATH_SET=[]a-zA-Z0-9_&%%+.\\?/:~=!^\'"$*()[{}@:;-] /eval /set BROWSE_URL_RE=(([a-zA-Z]+:\/\/)?%{BROWSE_HOSTNAME_SET}+([.]%{BROWSE_HOSTNAME_SET}+)+%{BROWSE_PATH_SET}+) // I like URLish things to be highlit with a blue background /eval /def -P0hCbgblue -mregexp -F -t'%{BROWSE_URL_RE}' /def -i browse = \ /let BROWSE_N=%{1} %; \ /if ( {BROWSE_N} =~ "" | {BROWSE_N} =/ "no?" ) /let BROWSE_N=1 %; /endif %; \ /if ( {L1} !/ "no?" ) \ /find_urls %{BROWSE_N} %; \ /echo ** browse - append 'now' to send to browser %; \ /else \ /let URL_LINES=$(/find_urls %{BROWSE_N} ) %; \ /let BROWSE_URL= %; \ /if ( regmatch( {BROWSE_URL_RE}, {URL_LINES} ) ) \ /let BROWSE_URL=%{P1} %; \ /while ( regmatch( {BROWSE_STRIPRIGHT}, {BROWSE_URL} ) ) \ /let BROWSE_URL=%{PL} %; \ /echo Removed end %; \ /done %; \ /else %; \ /echo ** Browse - internal error? (No URL found in recall) %; \ /break %; \ /endif %; \ /echo ** Browsing %{BROWSE_URL} %; \ /if ( {L1} !~ "not" ) \ /sh sh -c "( galeon -x '%{BROWSE_URL}' 2>/dev/null >/dev/null & ) &" %; \ /endif %; \ /endif /def -i find_urls = \ /recall -mregexp /%{1} %{BROWSE_URL_RE} %| \ /number_lines_backwards %{1} /def -i number_lines_backwards = \ /let count=%{1} %; \ /while ( ( {count} > 0 ) & ( tfread(line) != -1 ) ) \ /echo %{count}`%{line} %; \ /let count=$[ {count} - 1 ] %; \ /done