weechat-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Weechat-dev] [task #5441] Add /notify and /unnotify commands


From: ts
Subject: [Weechat-dev] [task #5441] Add /notify and /unnotify commands
Date: Thu, 19 Oct 2006 17:50:18 +0000
User-agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux; ppc; en_US) KHTML/3.5.2 (like Gecko)

Follow-up Comment #3, task #5441 (project weechat):

Here is a user interface proposal for /notify and /unnotify.

Syntax from Irssi:

    NOTIFY [-away] [-idle [<time>]] <mask> [<ircnets>]
    
         -away: Notifies about away-status changes
         -idle: Notifies if idle time is first larger than <minutes>
                (default is hour) and then it drops down.
         -list: Lists the notify list entries with all their settings   
                <mask>: Either a simple "nick" or "address@hidden". 
                The nick can't contain wildcards, but the user/host can.
            
    /NOTIFY without any arguments displays if the people in notify list are
online or offline.
    


    UNNOTIFY <mask>
    
    Removes an entry from the notify list.
    

    /SET NOTIFY ON|OFF

    Turn nick notifications on or off.


Objective:

    Provide WeeChat user with mechanism to easily notice when person
    <nick> becomes active on the same IRC server as the WeeChat user.

    Mechanism should be a visual 'cue' within the main WeeChat
    interface (ncurses). It should also be intuitive and similar in
    style to other 'cue's already implement by WeeChat.

    The most similar mechanism already implemented in WeeChat is the
    activity cue which displays:
        [Act: 7,4,5]
    to indicate activity on buffers of numbers 7, 4, and 5.

Context:

    As an example, the context of the 'activity cue' is the state of
    each WeeChat buffer. When a buffer's state changes, the 'activity
    cue' is updated.

    Likewise, the context of the 'notify cue' is the state of specific
    remote IRC users, as selected by the WeeChat user. The remote
    user is identified as a (nick, server) pair, and the same nick on
    two different server networks is not consider the same remote
    user. When the state of the remote user changes to one of the
    following:
        (1) not idle
        (2) log in
    the 'notify cue' is displayed.

    When the user performs a /notify or /unnotify command, that
    command is specific to the server of the currently selected
    window.


Configuration:

    The RC file configuration would contain a list of notify nicks for
    each [server] section. As an example:

    [server]
    server_name = "freenode"
    server_notify_nicks = "john,mary,joe"
    server_notify_nicks_enable = on

    The /notify command would add a nick to the list
    'server_notify_nicks', and the /unnotify command would remove a
    nick from the same list.


Implementation:

    Assuming the IRC server does not provide a method for receiving
    notices on nicks, then WeeChat would poll the server at an
    interval (such as 120 seconds).

    WeeChat would preform something similar to:
        /whois nick
    and monitor the 'idle' time.

    Upon receiving a server reply that: (a) the nick is on-line, but
    was not previously, or (b) the nick has less idle time than
    before, WeeChat would display a 'notify cue'.


    Assuming the IRC server does provide a method for receiving
    notices on nicks, the WeeChat could monitor for server responses
    on the main server buffer and provide 'notify cues' based upon the
    server's output. With this method, it would be the user's
    responsibility to understand what server command to use to request
    'notifications' from the server, or to overload the /notify command.

    [server]
    server_notify_nicks_command = "/quote /notifyserv NICK"
    server_notify_nicks_pattern = "Server notification that * is on-line."


Possible Cues:

    (A)
    
    On the same status line, near where 'activity cues' are displayed,
    also display a 'notify cue' similar in format to:

    [Act: address@hidden,address@hidden

    Which indicates address@hidden is active, and address@hidden is
    active.


    (B)

    Extend (A) to show a buffer number if nick is also in the nick
    list of a buffer:

    [Act: address@hidden 4,address@hidden 7]

    Here, jim is in buffer 4, and marry in buffer 7.


    (C)

    Split the right-hand nick list to have 2 sections.
    The lower section displays nicks for server notifications, for all
    servers currently connected.

              |-----------|
              |           |
              |           |
              |           |
              |           |
              |-----------|
              |           |
              |           |
              |-----------|


    (D)

    Provide script call-back method that allows script function to be
    called upon 'notify cue'.


    (E)

    Imitate Irssi.  After all, WeeChat seems rather similar to it.

    (F)

    Imitate mIRC.


References:

    http://irssi.org/documentation/manual
    http://irssi.org/documentation/design

    http://www.mirc.com/ircintro.html
    http://www.mirc.net/newbie/notify.php



    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?5441>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]