#560 Userlist

Mark Kane

I have an IRC network (irc.mixxnet.net), and I've
noticed this problem mainly there, and some other
networks with the same special modes.

I am running an ircd with support for modes a (&) and q
(~), and on the X-Chat userlist where it says "x ops, x
total" the numbers will be incorrect.

For example, if in the channel I have 1 Founder (+q/~),
4 SOPs (+a/&), 6 Ops (+o/@), 4 HOPs (+h/%), 3 voiced
users, and 4 regular users, it will say "7 ops, 22 total"

Or in another channel, I have 1 Founder (+q/~), 4 SOPs
(+a/&) and one half-op (+h/%) it will say "1 ops, 16

Attached is a screenshot of the userlist of the first



  • Mark Kane

    Mark Kane - 2004-03-23

    Screenshot of userlist for example 1 in description.

  • Mike Battersby

    Mike Battersby - 2004-03-24

    Logged In: YES

    I guess the problem here is that the count output is done
    directly from sess->ops whereas the icons use get_user_icon
    (src/fe-gtk/userlistgui.c) which contains all the
    nick_prefixes parsing code. Probably anyone with a prefix
    above '@' should be added to the ops list in

    Patch to do this attached. I believe it fixes the problem,
    though conceptually maybe this should kept as info in the
    user struct.

    - mib

  • Peter Zelezny.

    Peter Zelezny. - 2004-03-24

    Logged In: YES

    This patch doesn't fix example 1 and causes other possible
    I don't really understand example 1, and why the Ops is "7".
    I'd say some
    of those SOPs and Founders are ALSO ops (+o/@).

    IRC protocol is very ambiguous here.

    user gets +o (ops incremented)
    user gets +a (with patch, ops incremented again - display
    now incorrect)
    user gets -a (ops decremented, op flag to FALSE? but doesn't
    user still have +o?)

    Some ircds allow multiple flags, but only support it via
    MODE change, but not in the NAMES list (which makes it
    impossible to track 100%).

  • Peter Zelezny.

    Peter Zelezny. - 2004-03-24
    • summary: Userlist "op" count --> Userlist
  • Mike Battersby

    Mike Battersby - 2004-03-24

    Logged In: YES

    I beg to differ. I logged into mixx941's network and
    checked in person and it definitely fixes his problem,
    though I admit it does cause the extra problems you describe.

    Are you aware of the 005 message and the nick_prefixes
    stuff? This is being used in the GUI to give people colored
    icons, so I assume you are.


    X-Chat code seems to be a bit all over the place with how
    this is handled, whether it's use the mode stuff or the

    Do you want to consider this not a bug? To me anyone with a
    mode greater than operator is also an operator for the
    purpose of making that calculation, but I'm not going to
    think about fixing the mode +/- code to count properly if
    you want to keep it as is. In that case I'd request you
    mark this not a bug and close this request.

    IMO the point of the GUI display is to be meaningful to
    users, not to track the IRC protocol nuances exactly.
    Perhaps the correct fix is to have the GUI display the count
    from somewhere else then if you want sess->ops to be
    strictly +o.

    Any ideas?

    - mib

    p.s. IRC protocol ambiguous? You can't be ambiguous when
    there are so many standards to choose from, all undocumented. :)

  • Mark Kane

    Mark Kane - 2004-03-24

    Userlist "op" count after mib's fix.

  • Mark Kane

    Mark Kane - 2004-03-24

    Logged In: YES

    Hi. I went to my FreeBSD machine and uninstalled the X-Chat
    port since I was having problems with it not showing any
    text anyway...

    I compiled from the source with the changes mib made, and
    that fixed it. It showed 5 ops when there was really 1
    Founder (~) and 4 +a's (&). (see attached

    I am hoping this will be included in a future Windows
    version, because I most of the time I use FreeBSD only in
    text mode, but have X-Chat open 24/7 on my Windows desktop.

    Keep up the great work, and thanks again!


  • Peter Zelezny.

    Peter Zelezny. - 2004-08-10
    • status: open --> closed-wont-fix

Log in to post a comment.