[9fans] Abaco's Web Page Name in winwatch - Plan9

This is a discussion on [9fans] Abaco's Web Page Name in winwatch - Plan9 ; I realize that abaco manages multiple web pages itself, but, for reasons I won't go into, I generally launch a new small abaco window for each web page. To help this style of usage along, I've been trying to incorporate ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: [9fans] Abaco's Web Page Name in winwatch

  1. [9fans] Abaco's Web Page Name in winwatch

    I realize that abaco manages multiple web pages itself,
    but, for reasons I won't go into, I generally launch a new
    small abaco window for each web page. To help this style
    of usage along, I've been trying to incorporate writing
    to /dev/label into the abaco code. I took this bit

    int fd;
    fd = open("/dev/label", OWRITE);
    if(fd >= 0) {
    write(fd, title, strlen((char *)title));
    close(fd);
    }

    from plan9.c in links-varfont since links exhibits the
    behavior I'm looking for. I've tried using this substituting
    various combinations of w->tag, w->page.title, &w->tag,
    &w->page.title etc. for "title" and putting the lot into
    winsettag1 in abaco/wind.c with no luck (In most cases,
    either the build fails with prototype mismatch, or the
    build is successful, but I only get an apparently unrelated
    character or two in winwatch).

    The usual I'm-no-programmer-apologies etc. etc.

    Thanks for any help moving this small customization along.

    Greg


  2. Re: [9fans] Abaco's Web Page Name in winwatch

    I use winwatch with my plan 9 box (when it's running) to manage something
    like virtual desktops with sub-rio sessions. Winwatch actually helps me
    manage the sub-rio's.
    I just have a bunch of rc scripts edit /dev/label via echo etc. I don't
    bother with C coding unless I absolutely have to on Plan 9.

    Dave

    On 7/2/07, Gregory Pavelcak wrote:
    >
    > I realize that abaco manages multiple web pages itself,
    > but, for reasons I won't go into, I generally launch a new
    > small abaco window for each web page. To help this style
    > of usage along, I've been trying to incorporate writing
    > to /dev/label into the abaco code. I took this bit
    >
    > int fd;
    > fd = open("/dev/label", OWRITE);
    > if(fd >= 0) {
    > write(fd, title, strlen((char *)title));
    > close(fd);
    > }
    >
    > from plan9.c in links-varfont since links exhibits the
    > behavior I'm looking for. I've tried using this substituting
    > various combinations of w->tag, w->page.title, &w->tag,
    > &w->page.title etc. for "title" and putting the lot into
    > winsettag1 in abaco/wind.c with no luck (In most cases,
    > either the build fails with prototype mismatch, or the
    > build is successful, but I only get an apparently unrelated
    > character or two in winwatch).
    >
    > The usual I'm-no-programmer-apologies etc. etc.
    >
    > Thanks for any help moving this small customization along.
    >
    > Greg
    >
    >



    --
    - Passage Matthew 5:37:
    But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
    than these cometh of evil.


  3. Re: [9fans] Abaco's Web Page Name in winwatch

    I had some success with echoing to /dev/label from the
    plumber, but timing seems to be an issue. If I don't bind
    /dev/null /dev/label, I end up with winwatch showing "abaco".
    If I do, I get the web page name in winwatch for new windows
    but not when I open a new link within a window.

    Perhaps I just need to think harder about how to do this
    with rc. I'm certainly not opposed to that approach. Any
    suggestions along these lines will be greatly appreciated
    as well.

    Greg

    > I use winwatch with my plan 9 box (when it's running) to manage something
    > like virtual desktops with sub-rio sessions. Winwatch actually helps me
    > manage the sub-rio's.
    > I just have a bunch of rc scripts edit /dev/label via echo etc. I don't
    > bother with C coding unless I absolutely have to on Plan 9.
    >
    > Dave
    >
    >
    >
    > --
    > - Passage Matthew 5:37:
    > But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
    > than these cometh of evil.



  4. Re: [9fans] Abaco's Web Page Name in winwatch

    label is a Runestr, not a char*. what you want is

    void
    updlabel(void)
    {
    int fd, n;

    fd = open("/dev/label", OWRITE);
    if(fd == -1)
    return;
    fprint(fd, "%#.*S", title.nr, title.r);
    close(fd);
    }

    - erik

  5. Re: [9fans] Abaco's Web Page Name in winwatch

    Thanks.

    That's much nicer than what I was doing with the plumber. It not only
    updates winwatch with a new name when I stay within a single window,
    but the page names, like "Plan 9 from Bell Labs" are nicer than the
    plumber's argument "http://cm.bell-labs.com/plan9/".

    Greg

    > label is a Runestr, not a char*. what you want is
    >
    > void
    > updlabel(void)
    > {
    > int fd, n;
    >
    > fd = open("/dev/label", OWRITE);
    > if(fd == -1)
    > return;
    > fprint(fd, "%#.*S", title.nr, title.r);
    > close(fd);
    > }
    >
    > - erik



+ Reply to Thread