[9fans] web plumbing on OS X drawterm - Plan9

This is a discussion on [9fans] web plumbing on OS X drawterm - Plan9 ; OS X has this command 'open', which I'm told exists or is available on other unixes. It's about as close as you get to 'plumb' when in foreign lands. You call it like 'open http://9fans.net ' or 'open /etc/passwd' and ...

+ Reply to Thread
Results 1 to 6 of 6

Thread: [9fans] web plumbing on OS X drawterm

  1. [9fans] web plumbing on OS X drawterm

    OS X has this command 'open', which I'm told exists or is
    available on other unixes. It's about as close as you get to
    'plumb' when in foreign lands. You call it like 'open
    http://9fans.net' or 'open /etc/passwd' and it does more
    or less what you'd expect, finding (usually) the right app.

    I mostly get to my Plan 9 cpu servers via drawterm from
    my OS X laptop these days (9vx soon, once I get a
    comfortable environment there). I have a script that
    calls drawterm with the right arguments. I just added
    this to the script:
    mkfifo /tmp/open.fifo
    while () {open `{cat open.fifo}}
    I also have a srcipt on the Plan 9 side, 'web':
    #!/bin/rc

    fifoname=/mnt/term/tmp/open.fifo

    if (test -e $fifoname)
    echo $* > $fifoname
    if not
    lynx2txt $*
    (for those unfamiliar, lynx2txt is like wurl2txt, but using
    fgb's lynx port instead of hget to get things like tables).
    So now 'web http://9fans.net' on my Plan 9 box opens up
    a Safari window. Stick that in a plumbing rule and I can
    now click on urls in my drawterm'd acme and have a
    Safari window come up.

    It's pretty nice, and took all of about two minutes. Maybe
    useful for others.
    Anthony



  2. Re: [9fans] web plumbing on OS X drawterm

    > I mostly get to my Plan 9 cpu servers via drawterm from
    > my OS X laptop these days (9vx soon, once I get a
    > comfortable environment there). I have a script that
    > calls drawterm with the right arguments. I just added
    > this to the script:
    > mkfifo /tmp/open.fifo
    > while () {open `{cat open.fifo}}


    There is a web command in plan9port, so this doesn't
    need to be OS X specific:

    mkfifo /tmp/web.fifo
    while() { web `{cat /tmp/web.fifo} }

    Russ



  3. Re: [9fans] web plumbing on OS X drawterm

    Ah, right. I'd started out using p9p's 'web', but
    decided having access to 'open' might be useful
    in other contexts, even if i'm not plumbing
    anything to it right now.

    Project for today is sort of the inverse: how to
    make OS X use Acme-sac or B for text files.
    Anyone looked at it?
    Anthony



  4. Re: [9fans] web plumbing on OS X drawterm

    i added /dev/showfile for windows a while back. in that case, dt
    hands anything it is given on /dev/showfile to explorer (closest thing
    to plumber on windows). plumb rule for urls hands them to a script
    that looks like this:

    echo -n $* > /mnt/term/dev/showfile

    > mkfifo /tmp/open.fifo
    > while () {open `{cat open.fifo}}
    > I also have a srcipt on the Plan 9 side, 'web':
    > #!/bin/rc
    >
    > fifoname=/mnt/term/tmp/open.fifo
    >
    > if (test -e $fifoname)
    > echo $* > $fifoname
    > if not
    > lynx2txt $*




  5. Re: [9fans] web plumbing on OS X drawterm

    On Wed, Jul 16, 2008 at 4:08 PM, Skip Tavakkolian <9nut@9netics.com> wrote:
    > i added /dev/showfile for windows a while back. in that case, dt
    > hands anything it is given on /dev/showfile to explorer (closest thing
    > to plumber on windows). plumb rule for urls hands them to a script
    > that looks like this:
    >
    > echo -n $* > /mnt/term/dev/showfile


    Could you please tell me in more details where should I write it?
    I am not familiar with plumb rules.

    Antonin


  6. Re: [9fans] web plumbing on OS X drawterm

    >> echo -n $* > /mnt/term/dev/showfile
    >
    > Could you please tell me in more details where should I write it?
    > I am not familiar with plumb rules.


    in $home/lib/plumbing add a line to plumb to winstart for the
    following rule:

    type is text
    data matches '(https?|ftp|file|gopher|mailto|news|nntp|telnet|w ais|prospero)://[a-zA-Z0-9_@\-]+([.:][a-zA-Z0-9_@\-]+)*/?[a-zA-Z0-9_?,%#~&/\-+=]+([:.][a-zA-Z0-9_?,%#~&/\-+=]+)*'
    plumb to web
    plumb start winstart $0

    the script /rc/bin/winstart looks like this:

    #!/bin/rc
    echo -n $* > /mnt/term/dev/showfile

    a better script would test existance of /dev/showfile first.



+ Reply to Thread